aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@cambridge.redhat.com>2001-12-06 15:18:54 +0000
committerNick Clifton <nickc@gcc.gnu.org>2001-12-06 15:18:54 +0000
commite04546dce3e5e02671edf8c9cca039e60150532d (patch)
treedb35bbf5fbb1bfd45496f4b38def6bf441861178 /gcc
parent69da3e3a727f6a4eda08eef287ecdbfd9e602806 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/arm/arm.h11
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. */