diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CXX/expr/expr.post/expr.call/p7-0x.cpp | 13 | ||||
-rw-r--r-- | clang/test/SemaCXX/vararg-non-pod.cpp | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/clang/test/CXX/expr/expr.post/expr.call/p7-0x.cpp b/clang/test/CXX/expr/expr.post/expr.call/p7-0x.cpp index e6ffebc8d84..d51ba09835d 100644 --- a/clang/test/CXX/expr/expr.post/expr.call/p7-0x.cpp +++ b/clang/test/CXX/expr/expr.post/expr.call/p7-0x.cpp @@ -15,3 +15,16 @@ void f(X1 x1, X2 x2) { vararg(x1); // okay vararg(x2); // expected-error{{cannot pass object of non-trivial type 'X2' through variadic function; call will abort at runtime}} } + + +namespace PR11131 { + struct S; + + S &getS(); + + void f(...); + + void g() { + (void)sizeof(f(getS())); + } +} diff --git a/clang/test/SemaCXX/vararg-non-pod.cpp b/clang/test/SemaCXX/vararg-non-pod.cpp index 3ca07b0215c..42c27fb30e1 100644 --- a/clang/test/SemaCXX/vararg-non-pod.cpp +++ b/clang/test/SemaCXX/vararg-non-pod.cpp @@ -118,4 +118,3 @@ void t8(int n, ...) { (void)__builtin_va_arg(list, Abstract); // expected-error{{second argument to 'va_arg' is of abstract type 'Abstract'}} __builtin_va_end(list); } - |