Douglas Gregor | 0a0d2b1 | 2011-03-23 00:50:03 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 "-triple" "x86_64-apple-darwin3.0.0-iphoneos" -fsyntax-only -verify %s |
| 2 | |
| 3 | void f0(int) __attribute__((availability(ios,introduced=2.0,deprecated=2.1))); |
| 4 | void f1(int) __attribute__((availability(ios,introduced=2.1))); |
| 5 | void f2(int) __attribute__((availability(ios,introduced=2.0,deprecated=3.0))); |
| 6 | void f3(int) __attribute__((availability(ios,introduced=3.0))); |
| 7 | 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}} |
| 8 | |
Douglas Gregor | 6cc425e | 2011-03-26 10:47:34 +0000 | [diff] [blame] | 9 | void f5(int) __attribute__((availability(ios,introduced=2.0))) __attribute__((availability(ios,deprecated=3.0))); |
| 10 | void f6(int) __attribute__((availability(ios,deprecated=3.0))); |
| 11 | void f6(int) __attribute__((availability(ios,introduced=2.0))); |
| 12 | |
Douglas Gregor | 0a0d2b1 | 2011-03-23 00:50:03 +0000 | [diff] [blame] | 13 | void test() { |
| 14 | f0(0); // expected-warning{{'f0' is deprecated: first deprecated in iOS 2.1}} |
| 15 | f1(0); |
| 16 | f2(0); // expected-warning{{'f2' is deprecated: first deprecated in iOS 3.0}} |
| 17 | f3(0); |
| 18 | f4(0); // expected-error{{f4' is unavailable: obsoleted in iOS 3.0}} |
Douglas Gregor | 6cc425e | 2011-03-26 10:47:34 +0000 | [diff] [blame] | 19 | f5(0); // expected-warning{{'f5' is deprecated: first deprecated in iOS 3.0}} |
| 20 | f6(0); // expected-warning{{'f6' is deprecated: first deprecated in iOS 3.0}} |
Douglas Gregor | 0a0d2b1 | 2011-03-23 00:50:03 +0000 | [diff] [blame] | 21 | } |