diff options
author | Richard Stallman <rms@gnu.org> | 1993-09-22 13:29:19 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-09-22 13:29:19 +0000 |
commit | 76c305963dbd7ea522df4d6473b5e0903ae8f8f6 (patch) | |
tree | 337d93fbb9aca148674190d35038dbfd28f221a7 | |
parent | 3d0a83e8708b3350abdab2cbefb151842d5115c6 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/config/arm/arm.h | 2 | ||||
-rw-r--r-- | gcc/config/clipper/clipper.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/isc.h | 2 | ||||
-rw-r--r-- | gcc/config/i860/i860.h | 2 | ||||
-rw-r--r-- | gcc/config/pyr/pyr.h | 5 | ||||
-rw-r--r-- | gcc/config/spur/spur.h | 2 |
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. |