aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC/unguarded-availability-category-protocol-use.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/unguarded-availability-category-protocol-use.m')
-rw-r--r--test/SemaObjC/unguarded-availability-category-protocol-use.m18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaObjC/unguarded-availability-category-protocol-use.m b/test/SemaObjC/unguarded-availability-category-protocol-use.m
new file mode 100644
index 000000000000..d2eb9f4841be
--- /dev/null
+++ b/test/SemaObjC/unguarded-availability-category-protocol-use.m
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -triple arm64-apple-ios10 -Wunguarded-availability -fblocks -fsyntax-only -verify %s
+
+__attribute__((availability(ios,unavailable)))
+@protocol Prot // expected-note {{here}}
+
+@end
+
+@interface A
+@end
+
+__attribute__((availability(ios,unavailable)))
+@interface A (Cat) <Prot> // No error.
+@end
+
+__attribute__((availability(tvos,unavailable)))
+@interface B @end
+@interface B (Cat) <Prot> // expected-error {{'Prot' is unavailable: not available on iOS}}
+@end