Commit 2f0c2a0c by Trevor Saunders Committed by Trevor Saunders

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
parent ffaa5de6
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
......
......@@ -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.
......
......@@ -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. */
/*---------------------------*/
......
......@@ -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. */
......
......@@ -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.
......
......@@ -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 \
......
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.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment