Douglas Gregor | 7683a3f | 2010-04-12 07:51:13 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify %s |
| 2 | |
| 3 | @interface A |
| 4 | @end |
| 5 | |
| 6 | template<typename T> |
| 7 | struct X0 { |
| 8 | void f(T); // expected-error{{interface type 'A' cannot be passed by value}} |
| 9 | }; |
| 10 | |
| 11 | X0<A> x0a; // expected-note{{instantiation}} |
| 12 | |
John McCall | 81ef3e6 | 2011-04-23 02:46:06 +0000 | [diff] [blame] | 13 | |
| 14 | struct test2 { virtual void foo() = 0; }; // expected-note {{unimplemented}} |
| 15 | @interface Test2 |
| 16 | - (void) foo: (test2) foo; // expected-error {{parameter type 'test2' is an abstract class}} |
| 17 | @end |