summaryrefslogtreecommitdiff
path: root/clang/test/SemaObjC/catch-stmt.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaObjC/catch-stmt.m')
-rw-r--r--clang/test/SemaObjC/catch-stmt.m13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/catch-stmt.m b/clang/test/SemaObjC/catch-stmt.m
new file mode 100644
index 0000000..dcb4764
--- /dev/null
+++ b/clang/test/SemaObjC/catch-stmt.m
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -verify -fobjc-exceptions %s
+@interface A @end
+@protocol P;
+
+void f() {
+ @try {
+ } @catch (void a) { // expected-error{{@catch parameter is not a pointer to an interface type}}
+ } @catch (int) { // expected-error{{@catch parameter is not a pointer to an interface type}}
+ } @catch (int *b) { // expected-error{{@catch parameter is not a pointer to an interface type}}
+ } @catch (id <P> c) { // expected-error{{illegal qualifiers on @catch parameter}}
+ } @catch(A* a) { }
+}
+