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 | |
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 |
18 | |
19 | template<typename T> void r1(__restrict T); |
20 | void r2(__restrict id x) { r1(x); } |
21 | |