// RUN: %clang_cc1 -fsyntax-only -verify %s -Wnon-pod-varargs 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 '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]; }