summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/attr-availability-app-extensions.c
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2015-03-02 19:01:14 +0000
committerBob Wilson <bob.wilson@apple.com>2015-03-02 19:01:14 +0000
commitb111ec94b3474c4eff15b19a74cd815cdb469aaa (patch)
treeb08c0df24e8e846e1e0a2d7f6a7ec618fd64087e /clang/test/Sema/attr-availability-app-extensions.c
parenta57d588cb7109c45b63a46ef6598f03745486f98 (diff)
downloadbcm5719-llvm-b111ec94b3474c4eff15b19a74cd815cdb469aaa.tar.gz
bcm5719-llvm-b111ec94b3474c4eff15b19a74cd815cdb469aaa.zip
Add clang support for Objective-C application extensions.
This adds the -fapplication-extension option, along with the ios_app_extension and macosx_app_extension availability attributes. Patch by Ted Kremenek llvm-svn: 230989
Diffstat (limited to 'clang/test/Sema/attr-availability-app-extensions.c')
-rw-r--r--clang/test/Sema/attr-availability-app-extensions.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/Sema/attr-availability-app-extensions.c b/clang/test/Sema/attr-availability-app-extensions.c
new file mode 100644
index 00000000000..a8470928193
--- /dev/null
+++ b/clang/test/Sema/attr-availability-app-extensions.c
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -fsyntax-only -fapplication-extension %s -verify
+// RUN: %clang_cc1 -triple armv7-apple-ios9.0 -fsyntax-only -fapplication-extension %s -verify
+
+#if __has_feature(attribute_availability_app_extension)
+ __attribute__((availability(macosx_app_extension,unavailable)))
+ __attribute__((availability(ios_app_extension,unavailable)))
+#endif
+void f0(int); // expected-note {{'f0' has been explicitly marked unavailable here}}
+
+__attribute__((availability(macosx,unavailable)))
+__attribute__((availability(ios,unavailable)))
+void f1(int); // expected-note {{'f1' has been explicitly marked unavailable here}}
+
+void test() {
+ f0(1); // expected-error {{'f0' is unavailable: not available on}}
+ f1(1); // expected-error {{'f1' is unavailable}}
+}
+
OpenPOWER on IntegriCloud