diff options
| author | Reid Kleckner <rnk@google.com> | 2018-03-02 21:41:08 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2018-03-02 21:41:08 +0000 |
| commit | a991695e493071dab0929e43b16556135e5d801a (patch) | |
| tree | f58f78176c85b4ac2e3b5e8d484ed41a90664031 /clang/test | |
| parent | 334fa5745653b23246a1e4309e30b274644601f2 (diff) | |
| download | bcm5719-llvm-a991695e493071dab0929e43b16556135e5d801a.tar.gz bcm5719-llvm-a991695e493071dab0929e43b16556135e5d801a.zip | |
Don't claim that va_start has special semantic checks
We don't have special checks for BI_va_start in
Sema::CheckBuiltinFunctionCall, so setting the 't' flag for va_start in
Builtins.def disables semantic checking for it. That's not desired, and
IRGen crashes when it tries to generate a call to va_start that doesn't
have at least one argument.
Follow-up to r322573
Fixes PR36565
llvm-svn: 326622
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Sema/varargs.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Sema/varargs.c b/clang/test/Sema/varargs.c index 0ade0cf0aaf..3fa429163ff 100644 --- a/clang/test/Sema/varargs.c +++ b/clang/test/Sema/varargs.c @@ -112,3 +112,12 @@ void f13(enum E1 e, ...) { #endif __builtin_va_end(va); } + +void f14(int e, ...) { + // expected-warning@+3 {{implicitly declaring library function 'va_start'}} + // expected-note@+2 {{include the header <stdarg.h>}} + // expected-error@+1 {{too few arguments to function call}} + va_start(); + __builtin_va_list va; + va_start(va, e); +} |

