diff options
Diffstat (limited to 'gcc/config/romp')
-rw-r--r-- | gcc/config/romp/romp.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/romp/romp.h b/gcc/config/romp/romp.h index 0c06624092b..6ec7eee23ae 100644 --- a/gcc/config/romp/romp.h +++ b/gcc/config/romp/romp.h @@ -638,8 +638,9 @@ struct rt_cargs {int gregs, fregs; }; #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \ (! (NAMED) ? 0 \ - : USE_FP_REG(MODE,CUM) ? gen_rtx(REG, (MODE),(CUM.fregs) + 17) \ - : (CUM).gregs < 4 ? gen_rtx(REG, (MODE), 2 + (CUM).gregs) : 0) + : ((TYPE) != 0 && TREE_CODE (TYPE_CODE (TYPE)) != INTEGER_CST) \ + : USE_FP_REG(MODE,CUM) ? gen_rtx(REG, (MODE),(CUM.fregs) + 17) \ + : (CUM).gregs < 4 ? gen_rtx(REG, (MODE), 2 + (CUM).gregs) : 0) /* For an arg passed partly in registers and partly in memory, this is the number of registers used. |