summaryrefslogtreecommitdiff
path: root/gcc/config/romp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/romp')
-rw-r--r--gcc/config/romp/romp.h5
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.