14421d2b341d041df44013769f23c306308bbab83Douglas Gregor// RUN: %clang_cc1 -fvisibility hidden "-triple" "x86_64-apple-darwin8.0.0" -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-10_4 %s 24421d2b341d041df44013769f23c306308bbab83Douglas Gregor// RUN: %clang_cc1 -fvisibility hidden "-triple" "x86_64-apple-darwin9.0.0" -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-10_5 %s 34421d2b341d041df44013769f23c306308bbab83Douglas Gregor// RUN: %clang_cc1 -fvisibility hidden "-triple" "x86_64-apple-darwin10.0.0" -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-10_6 %s 44421d2b341d041df44013769f23c306308bbab83Douglas Gregor 54421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_4: define hidden void @f2 64421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_5: define hidden void @f2 74421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_6: define hidden void @f2 84421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f2(); 94421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f2() { } 104421d2b341d041df44013769f23c306308bbab83Douglas Gregor 114421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_4: define void @f3 124421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_5: define void @f3 134421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_6: define void @f3 144421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f3() __attribute__((availability(macosx,introduced=10.5))); 154421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f3() { } 164421d2b341d041df44013769f23c306308bbab83Douglas Gregor 174421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_4: declare extern_weak void @f0 184421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_5: declare void @f0 194421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_6: declare void @f0 204421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f0() __attribute__((availability(macosx,introduced=10.5))); 214421d2b341d041df44013769f23c306308bbab83Douglas Gregor 224421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_4: declare extern_weak void @f1 234421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_5: declare extern_weak void @f1 244421d2b341d041df44013769f23c306308bbab83Douglas Gregor// CHECK-10_6: declare void @f1 254421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid f1() __attribute__((availability(macosx,introduced=10.6))); 264421d2b341d041df44013769f23c306308bbab83Douglas Gregor 274421d2b341d041df44013769f23c306308bbab83Douglas Gregorvoid test() { 284421d2b341d041df44013769f23c306308bbab83Douglas Gregor f0(); 294421d2b341d041df44013769f23c306308bbab83Douglas Gregor f1(); 304421d2b341d041df44013769f23c306308bbab83Douglas Gregor f2(); 314421d2b341d041df44013769f23c306308bbab83Douglas Gregor} 32