| // RUN: clang -fsyntax-only -verify %s | |
| extern char version[]; | |
| @protocol P; | |
| class C { | |
| public: | |
| C(int); | |
| }; | |
| @interface D | |
| - (void)g:(int)a, ...; | |
| @end | |
| void t1(D *d) | |
| { | |
| C c(10); | |
| [d g:10, c]; // expected-warning{{cannot pass object of non-POD type 'class C' through variadic method; call will abort at runtime}} | |
| [d g:10, version]; | |
| } | |
| void t2(D *d, id p) | |
| { | |
| [d g:10, p]; | |
| } | |
| void t3(D *d, id<P> p) | |
| { | |
| [d g:10, p]; | |
| } |