Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaObjCXX/vararg-non-pod.mm @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -verify %s -Wno-error=non-pod-varargs // RUN: %clang_cc1 -fsyntax-only -verify %s -Wno-error=non-pod-varargs -std=c++98 // RUN: %clang_cc1 -fsyntax-only -verify %s -Wno-error=non-pod-varargs -std=c++11 #if __cplusplus > 199711L // expected-no-diagnostics #endif 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]; #if __cplusplus <= 199711L // C++03 or earlier modes // expected-warning@-2{{cannot pass object of non-POD type 'C' through variadic method; call will abort at runtime}} #endif [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]; }