diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-01-28 05:12:22 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-01-28 05:12:22 +0000 |
commit | 9184f8921b86b372e5dfef4097af21fa2f4ea26f (patch) | |
tree | 79f6db5fe1d6f9e2a05155e6c619e25b20e183b9 | |
parent | 4cce9dd84a4d942ad6a443038aa80f301aa3784a (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 16 |
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 |