diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-05-16 04:01:30 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-05-16 04:01:30 +0000 |
| commit | bb53efb016d205d0aeed9cef69c2db51b3f351fc (patch) | |
| tree | 851d0eb4c2e35b5add85702947a64d83effd40e1 /clang/test/SemaCXX/vararg-non-pod.cpp | |
| parent | 298e6b82eb3037c39fc75d082b87d7bca73743cf (diff) | |
| download | bcm5719-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.cpp | 9 |
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); +} + |

