blob: eeed09e61637b2440753c453e505360eb6b4b297 [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc -fsyntax-only -verify %s
Anders Carlsson906fed02009-01-13 05:48:52 +00002
Anders Carlssondce5e2c2009-01-16 16:48:51 +00003extern char version[];
4
Anders Carlsson672c91d2009-02-09 21:53:01 +00005@protocol P;
6
Anders Carlsson906fed02009-01-13 05:48:52 +00007class C {
8public:
9 C(int);
10};
11
12@interface D
13- (void)g:(int)a, ...;
14@end
15
16void t1(D *d)
17{
18 C c(10);
19
20 [d g:10, c]; // expected-warning{{cannot pass object of non-POD type 'class C' through variadic method; call will abort at runtime}}
Anders Carlssondce5e2c2009-01-16 16:48:51 +000021 [d g:10, version];
Anders Carlsson906fed02009-01-13 05:48:52 +000022}
23
Anders Carlsson672c91d2009-02-09 21:53:01 +000024void t2(D *d, id p)
25{
26 [d g:10, p];
27}
28
29void t3(D *d, id<P> p)
30{
31 [d g:10, p];
32}