summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-28 05:12:22 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-28 05:12:22 +0000
commit21be8eeec279c46d70d796f96936e7ab23ea2fc0 (patch)
tree79f6db5fe1d6f9e2a05155e6c619e25b20e183b9
parent6edde44bc26ae450c218f5e6c8171c540e088278 (diff)
downloadppe42-gcc-21be8eeec279c46d70d796f96936e7ab23ea2fc0.tar.gz
ppe42-gcc-21be8eeec279c46d70d796f96936e7ab23ea2fc0.zip
* config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise. * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove. (STRUCT_VALUE): Likewise. (PROMOTE_PROTOTYPES): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76778 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/config/i386/i386.h16
3 files changed, 15 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0b6819244b7..e44a7daf559 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-01-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
+ (TARGET_STRUCT_VALUE_RTX): Likewise.
+ * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
+ (STRUCT_VALUE): Likewise.
+ (PROMOTE_PROTOTYPES): Likewise.
+
2004-01-27 Roger Sayle <roger@eyesopen.com>
* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1401fc0ed94..df7efd1f314 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1024,6 +1024,12 @@ static void init_ext_80387_constants (void);
#undef TARGET_BUILD_BUILTIN_VA_LIST
#define TARGET_BUILD_BUILTIN_VA_LIST ix86_build_builtin_va_list
+#undef TARGET_PROMOTE_PROTOTYPES
+#define TARGET_PROMOTE_PROTOTYPES 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;
/* The svr4 ABI for the i386 says that records and unions are returned
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 52b193bb022..f49f8b4bed6 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC for IA-32.
Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1207,15 +1207,6 @@ do { \
#define GOT_SYMBOL_NAME "_GLOBAL_OFFSET_TABLE_"
-/* Register in which address to store a structure value
- arrives in the function. On the 386, the prologue
- copies this from the stack to register %eax. */
-#define STRUCT_VALUE_INCOMING 0
-
-/* Place in which caller passes the structure value address.
- 0 means push the value on the stack like an argument. */
-#define STRUCT_VALUE 0
-
/* A C expression which can inhibit the returning of certain function
values in registers, based on the type of value. A nonzero value
says to return the function value in memory, just as large
@@ -2589,11 +2580,6 @@ enum ix86_builtins
is done just by pretending it is already truncated. */
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
-/* When a prototype says `char' or `short', really pass an `int'.
- (The 386 can't easily push less than an int.) */
-
-#define PROMOTE_PROTOTYPES 1
-
/* A macro to update M and UNSIGNEDP when an object whose type is
TYPE and which has the specified mode and signedness is to be
stored in a register. This macro is only called when TYPE is a
OpenPOWER on IntegriCloud