summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/vararg-non-pod.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-05-16 04:01:30 +0000
committerChris Lattner <sabre@nondot.org>2010-05-16 04:01:30 +0000
commitbb53efb016d205d0aeed9cef69c2db51b3f351fc (patch)
tree851d0eb4c2e35b5add85702947a64d83effd40e1 /clang/test/SemaCXX/vararg-non-pod.cpp
parent298e6b82eb3037c39fc75d082b87d7bca73743cf (diff)
downloadbcm5719-llvm-bb53efb016d205d0aeed9cef69c2db51b3f351fc.tar.gz
bcm5719-llvm-bb53efb016d205d0aeed9cef69c2db51b3f351fc.zip
fix rdar://7985267 - Don't emit an error about a non-pod argument
passed to va_start, it doesn't actually pass it. llvm-svn: 103899
Diffstat (limited to 'clang/test/SemaCXX/vararg-non-pod.cpp')
-rw-r--r--clang/test/SemaCXX/vararg-non-pod.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/vararg-non-pod.cpp b/clang/test/SemaCXX/vararg-non-pod.cpp
index d31f1f7196a..f56d527c377 100644
--- a/clang/test/SemaCXX/vararg-non-pod.cpp
+++ b/clang/test/SemaCXX/vararg-non-pod.cpp
@@ -88,3 +88,12 @@ void test_typeid(Base &base) {
(void)typeid(get_base(base)); // expected-warning{{cannot pass object of non-POD type 'Base' through variadic function; call will abort at runtime}}
(void)typeid(eat_base(base)); // okay
}
+
+
+// rdar://7985267 - Shouldn't warn, doesn't actually use __builtin_va_start is
+// magic.
+
+void t6(Foo somearg, ... ) {
+ __builtin_va_start(0/*valist*/, somearg);
+}
+
OpenPOWER on IntegriCloud