#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;
}