summaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2003-03-17 20:34:04 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2003-03-17 20:34:04 +0000
commit405a98aa2b0e09265760cb32423d0e163650f5c1 (patch)
tree4b013bdb68abe0101f8f50dfd676e4640c859dd9 /gcc/stmt.c
parentdf86c7e2a5eb60f594f29b9d049e821698463af6 (diff)
downloadgcc-405a98aa2b0e09265760cb32423d0e163650f5c1.tar.gz
stmt.c (tail_recursion_args): Call promote_mode to set unsignedp flag correctly before calling convert_move.
* stmt.c (tail_recursion_args): Call promote_mode to set unsignedp flag correctly before calling convert_move. From-SVN: r64501
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 7e5ff1abb3b..823afbff7fa 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -3350,15 +3350,15 @@ tail_recursion_args (actuals, formals)
else
{
rtx tmp = argvec[i];
-
+ int unsignedp = TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a)));
+ promote_mode(TREE_TYPE (TREE_VALUE (a)), GET_MODE (tmp),
+ &unsignedp, 0);
if (DECL_MODE (f) != GET_MODE (DECL_RTL (f)))
{
tmp = gen_reg_rtx (DECL_MODE (f));
- convert_move (tmp, argvec[i],
- TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+ convert_move (tmp, argvec[i], unsignedp);
}
- convert_move (DECL_RTL (f), tmp,
- TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+ convert_move (DECL_RTL (f), tmp, unsignedp);
}
}