]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtins.c (expand_builtin_stpcpy): Copy `arglist' before modifying it.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Sat, 3 May 2003 00:25:59 +0000 (00:25 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Sat, 3 May 2003 00:25:59 +0000 (00:25 +0000)
* builtins.c (expand_builtin_stpcpy): Copy `arglist' before
modifying it.

From-SVN: r66409

gcc/ChangeLog
gcc/builtins.c

index 6921898361c624aae14ac4592914f35118e02bd1..b1a193a2563b3964c4181e709f725b405b4a0eb8 100644 (file)
@@ -1,3 +1,8 @@
+2003-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
+       modifying it.
+
 2003-05-03  Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
index 94db6a3ba3f430a20ec24310ef2d8d48d78e912b..46b14bcee1d98951a3eae3440c3b7e90863f236d 100644 (file)
@@ -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);
     }
 }