summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2018-03-02 21:41:08 +0000
committerReid Kleckner <rnk@google.com>2018-03-02 21:41:08 +0000
commita991695e493071dab0929e43b16556135e5d801a (patch)
treef58f78176c85b4ac2e3b5e8d484ed41a90664031 /clang/test
parent334fa5745653b23246a1e4309e30b274644601f2 (diff)
downloadbcm5719-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.c9
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);
+}
OpenPOWER on IntegriCloud