aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2004-07-16 17:19:20 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2004-07-16 17:19:20 +0000
commit58ec6ece35f6af8ea22b4b483b44b49aa5b64056 (patch)
tree4b65dae0f463441bd2948bd2f68799cd7bcab2ab /gcc/builtins.c
parent27f1984e92ee9b231b755d224f8035fe8fc97596 (diff)
downloadgcc-58ec6ece35f6af8ea22b4b483b44b49aa5b64056.zip
gcc-58ec6ece35f6af8ea22b4b483b44b49aa5b64056.tar.gz
gcc-58ec6ece35f6af8ea22b4b483b44b49aa5b64056.tar.bz2
builtins.c (expand_builtin_stpcpy): Do not create temporary reg with VOIDmode.
* builtins.c (expand_builtin_stpcpy): Do not create temporary reg with VOIDmode. From-SVN: r84825
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 58eafd4..d83b0de 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -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);