builtins.c (expand_builtin_stpcpy): Do not create temporary reg with VOIDmode.
authorSteve Ellcey <sje@cup.hp.com>
Fri, 16 Jul 2004 17:19:20 +0000 (17:19 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Fri, 16 Jul 2004 17:19:20 +0000 (17:19 +0000)
* builtins.c (expand_builtin_stpcpy): Do not create temporary
reg with VOIDmode.

From-SVN: r84825

gcc/ChangeLog
gcc/builtins.c

index bb16251..e321169 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-16  Steve Ellcey  <sje@cup.hp.com>
+
+       * builtins.c (expand_builtin_stpcpy): Do not create temporary
+       reg with VOIDmode.
+
 2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
index 58eafd4..d83b0de 100644 (file)
@@ -3130,7 +3130,12 @@ expand_builtin_stpcpy (tree arglist, rtx target, enum machine_mode mode)
              if (ret)
                {
                  if (! target)
-                   target = gen_reg_rtx (mode);
+                   {
+                     if (mode != VOIDmode)
+                       target = gen_reg_rtx (mode);
+                     else
+                       target = gen_reg_rtx (GET_MODE (ret));
+                   }
                  if (GET_MODE (target) != GET_MODE (ret))
                    ret = gen_lowpart (GET_MODE (target), ret);