diff options
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 7388a45..933eac8 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -825,12 +825,10 @@ promote_decl_mode (const_tree decl, int *punsignedp) enum machine_mode mode = DECL_MODE (decl); enum machine_mode pmode; - if (TREE_CODE (decl) == RESULT_DECL) + if (TREE_CODE (decl) == RESULT_DECL + || TREE_CODE (decl) == PARM_DECL) pmode = promote_function_mode (type, mode, &unsignedp, - TREE_TYPE (current_function_decl), 1); - else if (TREE_CODE (decl) == PARM_DECL) - pmode = promote_function_mode (type, mode, &unsignedp, - TREE_TYPE (current_function_decl), 0); + TREE_TYPE (current_function_decl), 2); else pmode = promote_mode (type, mode, &unsignedp); |