remove STRUCT_VALUE macro

This macro was converted to the TARGET_STRUCT_VALUE_RTX hook many years
ago, however there are still some lingering definitions, and a use in
libobjc.  All the remaining definitions define the macro to 0, which
libobjc treats the same as undefined, so it won't break anything else to
have libobjc stop checking the macro.  However it may be that this part
of libobjc has been broken for a long time on targets that only define
the hook, but that is a separate issue.

gcc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/arc/arc.h: Remove define of STRUCT_VALUE.
	* config/lm32/lm32.h: Likewise.
	* config/mep/mep.h: Likewise.
	* config/visium/visium.h: Likewise.
	* system.h: Poison STRUCT_VALUE macro.

libobjc/ChangeLog:

2015-09-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	PR libobjc/24775
	* sendmsg.c: Remove check of STRUCT_VALUE macro.

From-SVN: r227710
This commit is contained in:
Trevor Saunders 2015-09-12 22:19:00 +00:00 committed by Trevor Saunders
parent ffaa5de654
commit 2f0c2a0cc4
8 changed files with 14 additions and 22 deletions

View File

@ -1,3 +1,11 @@
2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* config/arc/arc.h: Remove define of STRUCT_VALUE.
* config/lm32/lm32.h: Likewise.
* config/mep/mep.h: Likewise.
* config/visium/visium.h: Likewise.
* system.h: Poison STRUCT_VALUE macro.
2015-09-12 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH

View File

@ -896,10 +896,6 @@ arc_return_addr_rtx(COUNT,FRAME)
/* Tell GCC to use RETURN_IN_MEMORY. */
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Register in which address to store a structure value
is passed to a function, or 0 to use `invisible' first argument. */
#define STRUCT_VALUE 0
/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function,
the stack pointer does not matter. The value is tested only in
functions that have frame pointers.

View File

@ -302,8 +302,6 @@ enum reg_class
LM32_NUM_INTS ((MODE) == BLKmode ? \
int_size_in_bytes (TYPE) : GET_MODE_SIZE (MODE))
#define STRUCT_VALUE 0
/*---------------------------*/
/* Function entry and exit. */
/*---------------------------*/

View File

@ -499,8 +499,6 @@ typedef struct
#define DEFAULT_PCC_STRUCT_RETURN 0
#define STRUCT_VALUE 0
#define FUNCTION_OK_FOR_SIBCALL(DECL) mep_function_ok_for_sibcall(DECL)
/* Prologue and epilogues are all handled via RTL. */

View File

@ -1075,14 +1075,6 @@ struct visium_args
If not defined, this defaults to the value 1. */
#define DEFAULT_PCC_STRUCT_RETURN 0
/* `STRUCT_VALUE'
If the structure value address is not passed in a register, define
`STRUCT_VALUE' as an expression returning an RTX for the place
where the address is passed. If it returns 0, the address is
passed as an "invisible" first argument. */
#define STRUCT_VALUE 0
/* Caller-Saves Register Allocation
If you enable it, GNU CC can save registers around function calls.

View File

@ -956,7 +956,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \
CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \
ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT \
LIBGCC2_LONG_DOUBLE_TYPE_SIZE
LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \

View File

@ -1,3 +1,8 @@
2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
PR libobjc/24775
* sendmsg.c: Remove check of STRUCT_VALUE macro.
2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
* configure.ac: Remove manual SJLJ check.

View File

@ -47,7 +47,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <assert.h> /* For assert */
#include <string.h> /* For strlen */
/* This is how we hack STRUCT_VALUE to be 1 or 0. */
#define gen_rtx(args...) 1
#define gen_rtx_MEM(args...) 1
#define gen_rtx_REG(args...) 1
@ -55,11 +54,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#undef rtx
#define rtx int
#if ! defined (STRUCT_VALUE) || STRUCT_VALUE == 0
#define INVISIBLE_STRUCT_RETURN 1
#else
#define INVISIBLE_STRUCT_RETURN 0
#endif
/* The uninstalled dispatch table. If a class' dispatch table points
to __objc_uninstalled_dtable then that means it needs its dispatch