1 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fsyntax-only -fblocks -verify %s
2 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -ast-dump %s | FileCheck %s
5 #if !__has_feature(attribute_availability_with_message)
6 # error "Missing __has_feature"
9 #if __has_feature(attribute_availability_swift)
11 // expected-warning@-1{{okay}}
13 # error "Missing __has_feature"
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}}
26 // CHECK-NOT: AvailabilityAttr
27 extern int noSwiftGlobal3
__attribute__((availability(swift
, deprecated
, message
="t")));
29 // CHECK: AvailabilityAttr {{.*}}swift 0 1 0 "t" ""