#if !__has_feature(attribute_availability_with_strict)
#error "Missing __has_feature"
#endif
void f0(int) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6)));
void f1(int) __attribute__((availability(macosx,introduced=10.5)));
void f2(int) __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))); void f3(int) __attribute__((availability(macosx,introduced=10.6)));
void f4(int) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3,obsoleted=10.5), availability(ios,introduced=2.0,deprecated=3.0))); void f5(int) __attribute__((availability(ios,introduced=3.2), availability(macosx,unavailable))); void f6(int) __attribute__((availability(macOS,strict,introduced=10.6)));
void test(void) {
f0(0);
f1(0);
f2(0); f3(0);
f4(0); f5(0); f6(0); }
struct __attribute__((availability(macosx,strict,introduced=10.6)))
not_yet_introduced_struct;
void uses_not_introduced_struct(struct not_yet_introduced_struct *);
__attribute__((availability(macosx,strict,introduced=10.6)))
void uses_not_introduced_struct_same_availability(struct not_yet_introduced_struct *);
enum {
foo __attribute__((availability(macosx,introduced=8.0,deprecated=9.0)))
};
enum {
bar __attribute__((availability(macosx,introduced=8.0,deprecated=9.0))) = foo
};
enum __attribute__((availability(macosx,introduced=8.0,deprecated=9.0))) {
bar1 = foo
};
struct __attribute__((availability(macOS,strict,introduced=10.9))) type_info {
};
struct type_info;
int test2(void) {
struct type_info *t; return 0;
}