aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-01-28 05:12:22 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-01-28 05:12:22 +0000
commit9184f8921b86b372e5dfef4097af21fa2f4ea26f (patch)
tree79f6db5fe1d6f9e2a05155e6c619e25b20e183b9 /gcc
parent4cce9dd84a4d942ad6a443038aa80f301aa3784a (diff)
downloadgcc-9184f8921b86b372e5dfef4097af21fa2f4ea26f.zip
gcc-9184f8921b86b372e5dfef4097af21fa2f4ea26f.tar.gz
gcc-9184f8921b86b372e5dfef4097af21fa2f4ea26f.tar.bz2
i386.c (TARGET_PROMOTE_PROTOTYPES): New.
* 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. From-SVN: r76778
Diffstat (limited to 'gcc')
-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 0b68192..e44a7da 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 1401fc0..df7efd1 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 52b193b..f49f8b4 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