aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-09-22 13:29:19 +0000
committerRichard Stallman <rms@gnu.org>1993-09-22 13:29:19 +0000
commit76c305963dbd7ea522df4d6473b5e0903ae8f8f6 (patch)
tree337d93fbb9aca148674190d35038dbfd28f221a7 /gcc
parent3d0a83e8708b3350abdab2cbefb151842d5115c6 (diff)
downloadgcc-76c305963dbd7ea522df4d6473b5e0903ae8f8f6.zip
gcc-76c305963dbd7ea522df4d6473b5e0903ae8f8f6.tar.gz
gcc-76c305963dbd7ea522df4d6473b5e0903ae8f8f6.tar.bz2
(INIT_CUMULATIVE_ARGS): Pass just the return value type to aggregate_value_p.
From-SVN: r5385
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm.h2
-rw-r--r--gcc/config/clipper/clipper.h2
-rw-r--r--gcc/config/i386/i386.h2
-rw-r--r--gcc/config/i386/isc.h2
-rw-r--r--gcc/config/i860/i860.h2
-rw-r--r--gcc/config/pyr/pyr.h5
-rw-r--r--gcc/config/spur/spur.h2
7 files changed, 9 insertions, 8 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 2f26583..ad12ecb 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -462,7 +462,7 @@ enum reg_class
For a library call, FNTYPE is 0.
On the ARM, the offset starts at 0. */
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME) \
- ((CUM) = (((FNTYPE) && aggregate_value_p (FNTYPE)) ? 4 : 0))
+ ((CUM) = (((FNTYPE) && aggregate_value_p (TREE_TYPE ((FNTYPE))) ? 4 : 0))
/* Update the data in CUM to advance over an argument
of mode MODE and data type TYPE.
diff --git a/gcc/config/clipper/clipper.h b/gcc/config/clipper/clipper.h
index 9aa7cc7..054660f 100644
--- a/gcc/config/clipper/clipper.h
+++ b/gcc/config/clipper/clipper.h
@@ -468,7 +468,7 @@ struct _clipper_cum_args { int num; int size; };
clipper passes the address of a struct in r0, set num = 1 in this case */
#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME) \
- ((CUM).num = ((FNTYPE) != 0 && aggregate_value_p (FNTYPE)), \
+ ((CUM).num = ((FNTYPE) != 0 && aggregate_value_p (TREE_TYPE (FNTYPE))), \
(CUM).size = 0)
/* internal helper : size of an argument */
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 705d83d..8d4682c 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -612,7 +612,7 @@ extern enum reg_class regclass_map[FIRST_PSEUDO_REGISTER];
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node))) ? (SIZE) \
- : (aggregate_value_p (FUNTYPE)) ? GET_MODE_SIZE (Pmode) : 0)
+ : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0)
/* Define how to find the value returned by a function.
VALTYPE is the data type of the value (as a tree).
diff --git a/gcc/config/i386/isc.h b/gcc/config/i386/isc.h
index c15b576..5f546f0 100644
--- a/gcc/config/i386/isc.h
+++ b/gcc/config/i386/isc.h
@@ -39,7 +39,7 @@
== void_type_node))) ? (SIZE) \
: 0)
/* On other 386 systems, the last line looks like this:
- : (aggregate_value_p (FUNTYPE)) ? GET_MODE_SIZE (Pmode) : 0) */
+ : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0) */
#endif
/* Handle #pragma pack and #pragma weak. */
diff --git a/gcc/config/i860/i860.h b/gcc/config/i860/i860.h
index f74ae84..f0fa2a3 100644
--- a/gcc/config/i860/i860.h
+++ b/gcc/config/i860/i860.h
@@ -474,7 +474,7 @@ struct cumulative_args { int ints, floats; };
invisible first argument. */
#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME) \
- ((CUM).ints = ((FNTYPE) != 0 && aggregate_value_p ((FNTYPE)) \
+ ((CUM).ints = ((FNTYPE) != 0 && aggregate_value_p (TREE_TYPE ((FNTYPE))) \
? 4 : 0), \
(CUM).floats = 0)
diff --git a/gcc/config/pyr/pyr.h b/gcc/config/pyr/pyr.h
index 758876c..cce7d65 100644
--- a/gcc/config/pyr/pyr.h
+++ b/gcc/config/pyr/pyr.h
@@ -627,8 +627,9 @@ extern int inner_param_safe_helper();
for a call to a function whose data type is FNTYPE.
For a library call, FNTYPE is 0. */
-#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME) \
- ((CUM) = (FNTYPE && !flag_pcc_struct_return && aggregate_value_p (FNTYPE)))
+#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME) \
+ ((CUM) = (FNTYPE && !flag_pcc_struct_return \
+ && aggregate_value_p (TREE_TYPE (FNTYPE))))
/* Determine where to put an argument to a function.
Value is zero to push the argument on the stack,
diff --git a/gcc/config/spur/spur.h b/gcc/config/spur/spur.h
index 7a8ed4b..fedfba2 100644
--- a/gcc/config/spur/spur.h
+++ b/gcc/config/spur/spur.h
@@ -414,7 +414,7 @@ enum reg_class { NO_REGS, GENERAL_REGS, FP_REGS, ALL_REGS, LIM_REG_CLASSES };
invisible first argument. */
#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME) \
- ((CUM) = ((FNTYPE) != 0 && aggregate_value_p ((FNTYPE))))
+ ((CUM) = ((FNTYPE) != 0 && aggregate_value_p (TREE_TYPE ((FNTYPE)))))
/* Update the data in CUM to advance over an argument
of mode MODE and data type TYPE.