diff options
Diffstat (limited to 'test/SemaObjCXX/vararg-non-pod.mm')
-rw-r--r-- | test/SemaObjCXX/vararg-non-pod.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/test/SemaObjCXX/vararg-non-pod.mm b/test/SemaObjCXX/vararg-non-pod.mm index 5a6281d71cb2..daf9aa92b54e 100644 --- a/test/SemaObjCXX/vararg-non-pod.mm +++ b/test/SemaObjCXX/vararg-non-pod.mm @@ -1,4 +1,6 @@ // 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 extern char version[]; @@ -17,7 +19,12 @@ 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, 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}} +#else + // expected-no-diagnostics@-4 +#endif [d g:10, version]; } |