diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2003-05-03 00:25:59 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2003-05-03 00:25:59 +0000 |
commit | 685828f786a76adff3feaf297cefed0afb4ec61f (patch) | |
tree | 523902577f38b656e1bf88151ff4de7c812cfd3d /gcc/builtins.c | |
parent | 43e9b64bf5aab96c2b515dc68aaaad87c0882766 (diff) | |
download | gcc-685828f786a76adff3feaf297cefed0afb4ec61f.zip gcc-685828f786a76adff3feaf297cefed0afb4ec61f.tar.gz gcc-685828f786a76adff3feaf297cefed0afb4ec61f.tar.bz2 |
builtins.c (expand_builtin_stpcpy): Copy `arglist' before modifying it.
* builtins.c (expand_builtin_stpcpy): Copy `arglist' before
modifying it.
From-SVN: r66409
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 94db6a3..46b14bc 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2491,13 +2491,15 @@ expand_builtin_stpcpy (arglist, target, mode) return 0; else { + tree newarglist; tree len = c_strlen (TREE_VALUE (TREE_CHAIN (arglist))); if (len == 0) return 0; len = fold (size_binop (PLUS_EXPR, len, ssize_int (1))); - chainon (arglist, build_tree_list (NULL_TREE, len)); - return expand_builtin_memcpy (arglist, target, mode, /*endp=*/2); + newarglist = copy_list (arglist); + chainon (newarglist, build_tree_list (NULL_TREE, len)); + return expand_builtin_memcpy (newarglist, target, mode, /*endp=*/2); } } |