aboutsummaryrefslogtreecommitdiff
path: root/test/SemaTemplate/instantiate-expr-3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaTemplate/instantiate-expr-3.cpp')
-rw-r--r--test/SemaTemplate/instantiate-expr-3.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/SemaTemplate/instantiate-expr-3.cpp b/test/SemaTemplate/instantiate-expr-3.cpp
index ca88b00300..1febd282cc 100644
--- a/test/SemaTemplate/instantiate-expr-3.cpp
+++ b/test/SemaTemplate/instantiate-expr-3.cpp
@@ -117,3 +117,12 @@ struct VaArg1 {
template struct VaArg1<__builtin_va_list, int>;
template struct VaArg1<int, int>; // expected-note{{instantiation}}
+
+struct VaArg2 {
+ virtual void f(int n, ...) {
+ __builtin_va_list va;
+ __builtin_va_start(va, n);
+ (void)__builtin_va_arg(va, VaArg2); // expected-error {{second argument to 'va_arg' is of non-POD type 'VaArg2'}}
+ __builtin_va_end(va);
+ }
+};