aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2004-10-10 02:10:53 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2004-10-10 02:10:53 +0100
commitc69c9b36a97fddbde2112a5f8d50a4aabe13a19a (patch)
treeb2cdffc2d527a8f552bb2e1ff80da8f2e950bad9 /gcc/builtins.c
parent216a5f1b3fd8bc312748ff226ab5e3c9c2db273c (diff)
downloadgcc-c69c9b36a97fddbde2112a5f8d50a4aabe13a19a.zip
gcc-c69c9b36a97fddbde2112a5f8d50a4aabe13a19a.tar.gz
gcc-c69c9b36a97fddbde2112a5f8d50a4aabe13a19a.tar.bz2
re PR c/17301 (ICE on wrong usage of __builtin_stdarg_start)
PR c/17301 * builtins.c (expand_builtin_va_start): Check for too few arguments to va_start. testsuite: * gcc.dg/pr17301-1.c: New test. From-SVN: r88835
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 255a47b..b097adf 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -3861,6 +3861,11 @@ expand_builtin_va_start (tree arglist)
chain = TREE_CHAIN (arglist);
+ if (!chain)
+ {
+ error ("too few arguments to function %<va_start%>");
+ return const0_rtx;
+ }
if (TREE_CHAIN (chain))
error ("too many arguments to function %<va_start%>");