diff options
author | Nick Clifton <nickc@cambridge.redhat.com> | 2001-12-06 15:18:54 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2001-12-06 15:18:54 +0000 |
commit | e04546dce3e5e02671edf8c9cca039e60150532d (patch) | |
tree | db35bbf5fbb1bfd45496f4b38def6bf441861178 /gcc | |
parent | 69da3e3a727f6a4eda08eef287ecdbfd9e602806 (diff) | |
download | gcc-e04546dce3e5e02671edf8c9cca039e60150532d.zip gcc-e04546dce3e5e02671edf8c9cca039e60150532d.tar.gz gcc-e04546dce3e5e02671edf8c9cca039e60150532d.tar.bz2 |
Restore definition of STRUCT_VALUE_REGNUM,
From-SVN: r47721
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 83cfb8f..88235df 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-12-06 Nick Clifton <nickc@cambridge.redhat.com> + + * config/arm/arm.h (STRUCT_VALUE): Suppress definition. + (STRUCT_VALUE_REGNUM): Restore definition. + 2001-12-06 Andrew MacLeod <amacleod@redhat.com> * flow.c (find_regno_partial): Return register, not the expression diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 5ea3199..5a98992 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -905,8 +905,19 @@ extern const char * structure_size_string; /* Return the regiser number of the N'th (integer) argument. */ #define ARG_REGISTER(N) (N - 1) +#if 0 /* FIXME: The ARM backend has special code to handle structure + returns, and will reserve its own hidden first argument. So + if this macro is enabled a *second* hidden argument will be + reserved, which will break binary compatability with old + toolchains and also thunk handling. One day this should be + fixed. */ /* RTX for structure returns. NULL means use a hidden first argument. */ #define STRUCT_VALUE 0 +#else +/* Register in which address to store a structure value + is passed to a function. */ +#define STRUCT_VALUE_REGNUM ARG_REGISTER (1) +#endif /* Specify the registers used for certain standard purposes. The values of these macros are register numbers. */ |