1 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fsyntax-only -fblocks -verify %s 2 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fsyntax-only -ast-dump %s | FileCheck %s 3 // 4 5 #if !__has_feature(attribute_availability_with_message) 6 # error "Missing __has_feature" 7 #endif 8 9 #if __has_feature(attribute_availability_swift) 10 # warning "okay" 11 // expected-warning@-1{{okay}} 12 #else 13 # error "Missing __has_feature" 14 #endif 15 16 extern int noSwiftGlobal1 __attribute__((availability(swift, unavailable))); 17 // CHECK: AvailabilityAttr {{.*}}swift 0 0 0 Unavailable "" "" 18 extern int noSwiftGlobal1 __attribute__((availability(macosx, introduced=10.1))); // okay 19 // CHECK: AvailabilityAttr {{.*}}Inherited swift 0 0 0 Unavailable "" "" 20 // CHECK: AvailabilityAttr {{.*}}macos 10.1 0 0 "" "" 21 extern int noSwiftGlobal1 __attribute__((availability(swift, unavailable, message="and this one has a message"))); // okay 22 // CHECK: AvailabilityAttr {{.*}}Inherited macos 10.1 0 0 "" "" 23 // CHECK: AvailabilityAttr {{.*}}swift 0 0 0 Unavailable "and this one has a message" "" 24 extern int noSwiftGlobal2 __attribute__((availability(swift, introduced=5))); // expected-warning{{only 'unavailable' and 'deprecated' are supported for Swift availability}} 25 // CHECK: VarDecl 26 // CHECK-NOT: AvailabilityAttr 27 extern int noSwiftGlobal3 __attribute__((availability(swift, deprecated, message="t"))); 28 // CHECK: VarDecl 29 // CHECK: AvailabilityAttr {{.*}}swift 0 1 0 "t" "" 30