summaryrefslogtreecommitdiff
path: root/clang/test/SemaObjCXX/parameters.mm
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaObjCXX/parameters.mm')
-rw-r--r--clang/test/SemaObjCXX/parameters.mm17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/SemaObjCXX/parameters.mm b/clang/test/SemaObjCXX/parameters.mm
new file mode 100644
index 0000000..1a7869d
--- /dev/null
+++ b/clang/test/SemaObjCXX/parameters.mm
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -verify %s
+
+@interface A
+@end
+
+template<typename T>
+struct X0 {
+ void f(T); // expected-error{{interface type 'A' cannot be passed by value}}
+};
+
+X0<A> x0a; // expected-note{{instantiation}}
+
+
+struct test2 { virtual void foo() = 0; }; // expected-note {{unimplemented}}
+@interface Test2
+- (void) foo: (test2) foo; // expected-error {{parameter type 'test2' is an abstract class}}
+@end