Test attribute merging for the availability attribute.

llvm-svn: 128334
This commit is contained in:
Douglas Gregor 2011-03-26 10:47:34 +00:00
parent b5139920d6
commit 7735c53664
1 changed files with 6 additions and 0 deletions

View File

@ -6,10 +6,16 @@ void f2(int) __attribute__((availability(ios,introduced=2.0,deprecated=3.0)));
void f3(int) __attribute__((availability(ios,introduced=3.0)));
void f4(int) __attribute__((availability(macosx,introduced=10.1,deprecated=10.3,obsoleted=10.5), availability(ios,introduced=2.0,deprecated=2.1,obsoleted=3.0))); // expected-note{{explicitly marked unavailable}}
void f5(int) __attribute__((availability(ios,introduced=2.0))) __attribute__((availability(ios,deprecated=3.0)));
void f6(int) __attribute__((availability(ios,deprecated=3.0)));
void f6(int) __attribute__((availability(ios,introduced=2.0)));
void test() {
f0(0); // expected-warning{{'f0' is deprecated: first deprecated in iOS 2.1}}
f1(0);
f2(0); // expected-warning{{'f2' is deprecated: first deprecated in iOS 3.0}}
f3(0);
f4(0); // expected-error{{f4' is unavailable: obsoleted in iOS 3.0}}
f5(0); // expected-warning{{'f5' is deprecated: first deprecated in iOS 3.0}}
f6(0); // expected-warning{{'f6' is deprecated: first deprecated in iOS 3.0}}
}