Fariborz Jahanian | c491c3f | 2012-10-01 18:42:25 +0000 | [diff] [blame] | 1 | // rdar://12378879 |
| 2 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 3 | // RUN: rm -rf %t |
| 4 | // RUN: mkdir %t |
| 5 | // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out |
| 6 | // RUN: FileCheck %s < %t/out |
Fariborz Jahanian | c491c3f | 2012-10-01 18:42:25 +0000 | [diff] [blame] | 7 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 8 | // Ensure that XML we generate is not invalid. |
| 9 | // RUN: FileCheck %s -check-prefix=WRONG < %t/out |
| 10 | // WRONG-NOT: CommentXMLInvalid |
Fariborz Jahanian | c491c3f | 2012-10-01 18:42:25 +0000 | [diff] [blame] | 11 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 12 | /// Aaa. |
| 13 | void attr_availability_1() __attribute__((availability(macosx,obsoleted=10.0,introduced=8.0,deprecated=9.0, message="use availability_test in <foo.h>"))) |
| 14 | __attribute__((availability(ios,unavailable, message="not for iOS"))); |
Fariborz Jahanian | de0ae1e | 2012-10-02 20:05:47 +0000 | [diff] [blame] | 15 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 16 | /// Aaa. |
| 17 | void attr_availability_2() __attribute__((availability(macosx,obsoleted=10.0.1,introduced=8.0.1,deprecated=9.0.1))); |
Fariborz Jahanian | de0ae1e | 2012-10-02 20:05:47 +0000 | [diff] [blame] | 18 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 19 | /// Aaa. |
| 20 | void attr_deprecated_1() __attribute__((deprecated)); |
Fariborz Jahanian | de0ae1e | 2012-10-02 20:05:47 +0000 | [diff] [blame] | 21 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 22 | /// Aaa. |
| 23 | void attr_deprecated_2() __attribute__((deprecated("message 1 <foo.h>"))); |
| 24 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 25 | /// Aaa. |
| 26 | void attr_unavailable_1() __attribute__((unavailable)); |
| 27 | |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 28 | /// Aaa. |
| 29 | void attr_unavailable_2() __attribute__((unavailable("message 2 <foo.h>"))); |
| 30 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 31 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="13" column="6"><Name>attr_availability_1</Name><USR>c:@F@attr_availability_1#</USR><Declaration>void attr_availability_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Availability distribution="iOS"><DeprecationSummary>not for iOS</DeprecationSummary><Unavailable/></Availability><Availability distribution="OS X"><IntroducedInVersion>8.0</IntroducedInVersion><DeprecatedInVersion>9.0</DeprecatedInVersion><RemovedAfterVersion>10.0</RemovedAfterVersion><DeprecationSummary>use availability_test in <foo.h></DeprecationSummary></Availability></Function>] |
Dmitri Gribenko | 61b1db1 | 2012-10-03 09:04:56 +0000 | [diff] [blame] | 32 | |
Fariborz Jahanian | a7d76d2 | 2012-10-17 21:58:03 +0000 | [diff] [blame] | 33 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 34 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="17" column="6"><Name>attr_availability_2</Name><USR>c:@F@attr_availability_2#</USR><Declaration>void attr_availability_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Availability distribution="OS X"><IntroducedInVersion>8.0.1</IntroducedInVersion><DeprecatedInVersion>9.0.1</DeprecatedInVersion><RemovedAfterVersion>10.0.1</RemovedAfterVersion></Availability></Function>] |
Fariborz Jahanian | a7d76d2 | 2012-10-17 21:58:03 +0000 | [diff] [blame] | 35 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 36 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="20" column="6"><Name>attr_deprecated_1</Name><USR>c:@F@attr_deprecated_1#</USR><Declaration>void attr_deprecated_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Deprecated/></Function>] |
Fariborz Jahanian | a7d76d2 | 2012-10-17 21:58:03 +0000 | [diff] [blame] | 37 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 38 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="23" column="6"><Name>attr_deprecated_2</Name><USR>c:@F@attr_deprecated_2#</USR><Declaration>void attr_deprecated_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Deprecated>message 1 <foo.h></Deprecated></Function>] |
Fariborz Jahanian | a7d76d2 | 2012-10-17 21:58:03 +0000 | [diff] [blame] | 39 | |
| 40 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 41 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="26" column="6"><Name>attr_unavailable_1</Name><USR>c:@F@attr_unavailable_1#</USR><Declaration>void attr_unavailable_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Unavailable/></Function>] |
Fariborz Jahanian | a7d76d2 | 2012-10-17 21:58:03 +0000 | [diff] [blame] | 42 | |
| 43 | |
Dmitri Gribenko | b2b6a9e | 2012-10-18 14:33:01 +0000 | [diff] [blame] | 44 | // CHECK: FullCommentAsXML=[<Function file="{{[^"]+}}annotate-comments-availability-attrs.cpp" line="29" column="6"><Name>attr_unavailable_2</Name><USR>c:@F@attr_unavailable_2#</USR><Declaration>void attr_unavailable_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Unavailable>message 2 <foo.h></Unavailable></Function>] |