diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ec4cf7d0e4..2b393069a84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2004-01-20 Kazu Hirata + + * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. + (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. + (TARGET_STRUCT_VALUE_RTX): Likewise. + * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. + (PROMOTE_FUNCTION_RETURN): Remove. + (STRUCT_VALUE): Remove. + 2004-01-20 Denis Chertykov * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index b79a2675909..555836856e4 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -148,6 +148,14 @@ static tree s390_build_builtin_va_list (void); #undef TARGET_BUILD_BUILTIN_VA_LIST #define TARGET_BUILD_BUILTIN_VA_LIST s390_build_builtin_va_list +#undef TARGET_PROMOTE_FUNCTION_ARGS +#define TARGET_PROMOTE_FUNCTION_ARGS hook_bool_tree_true +#undef TARGET_PROMOTE_FUNCTION_RETURN +#define TARGET_PROMOTE_FUNCTION_RETURN hook_bool_tree_true + +#undef TARGET_STRUCT_VALUE_RTX +#define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null + struct gcc_target targetm = TARGET_INITIALIZER; extern int reload_completed; diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index cbe02d657f8..48a91ba6666 100644 --- a/gcc/config/s390/s390.h +++ b/gcc/config/s390/s390.h @@ -207,8 +207,6 @@ extern int target_flags; #define MAX_BITS_PER_WORD 64 /* Function arguments and return values are promoted to word size. */ -#define PROMOTE_FUNCTION_ARGS -#define PROMOTE_FUNCTION_RETURN #define PROMOTE_FOR_CALL_ONLY #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \ @@ -715,9 +713,6 @@ CUMULATIVE_ARGS; /* Only gpr 2 and fpr 0 are ever used as return registers. */ #define FUNCTION_VALUE_REGNO_P(N) ((N) == 2 || (N) == 16) -/* Structure value address is passed as invisible first argument (gpr 2). */ -#define STRUCT_VALUE 0 - /* Function entry and exit. */