void explicit(void) __attribute__((availability(tvos, introduced=11.0, deprecated=12.0))); void inferred(void) __attribute__((availability(ios, introduced=11.0, deprecated=12.0))); void explicitOverInferred(void)
__attribute__((availability(ios, introduced=11.0, deprecated=12.0)))
__attribute__((availability(tvos, introduced=11.0)));
void explicitOverInferred2(void)
__attribute__((availability(tvos, introduced=11.0)))
__attribute__((availability(ios, introduced=11.0, deprecated=12.0)));
void simpleUsage(void) {
explicit(); inferred(); explicitOverInferred();
explicitOverInferred2();
}
#pragma clang attribute push (__attribute__((availability(tvos, introduced=11.0, deprecated=12.0))), apply_to=function)
void explicitFromPragma(void); void explicitWinsOverExplicitFromPragma(void) __attribute__((availability(tvos, introduced=11.0)));
void implicitLosesOverExplicitFromPragma(void) __attribute__((availability(ios, introduced=11.0)));
#pragma clang attribute pop
#pragma clang attribute push (__attribute__((availability(ios, introduced=11.0, deprecated=12.0))), apply_to=function)
void implicitFromPragma(void); void explicitWinsOverImplicitFromPragma(void) __attribute__((availability(tvos, introduced=11.0)));
void implicitWinsOverImplicitFromPragma(void) __attribute__((availability(ios, introduced=11.0)));
#pragma clang attribute pop
#pragma clang attribute push (__attribute__((availability(tvos, introduced=11.0, deprecated=12.0))), apply_to=function)
#pragma clang attribute push (__attribute__((availability(ios, introduced=11.0, deprecated=11.3))), apply_to=function)
void pragmaExplicitWinsOverPragmaImplicit(void);
#pragma clang attribute pop
#pragma clang attribute pop
void pragmaUsage(void) {
explicitFromPragma(); explicitWinsOverExplicitFromPragma(); implicitLosesOverExplicitFromPragma();
implicitFromPragma(); explicitWinsOverImplicitFromPragma(); implicitWinsOverImplicitFromPragma(); pragmaExplicitWinsOverPragmaImplicit(); }