Commit 579f2946 by Trevor Saunders Committed by Trevor Saunders

always define INITIAL_FRAME_ADDRESS_RTX

gcc/ChangeLog:

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

	* builtins.c (expand_builtin_return_addr): Adjust.
	* defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.

From-SVN: r228685
parent 9c02b29a
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* builtins.c (expand_builtin_return_addr): Adjust.
* defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
2015-10-10 Jan Hubicka <hubicka@ucw.cz> 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
* tree.c (type_with_interoperable_signedness): New. * tree.c (type_with_interoperable_signedness): New.
...@@ -761,12 +761,9 @@ static rtx ...@@ -761,12 +761,9 @@ static rtx
expand_builtin_return_addr (enum built_in_function fndecl_code, int count) expand_builtin_return_addr (enum built_in_function fndecl_code, int count)
{ {
int i; int i;
#ifdef INITIAL_FRAME_ADDRESS_RTX
rtx tem = INITIAL_FRAME_ADDRESS_RTX; rtx tem = INITIAL_FRAME_ADDRESS_RTX;
#else if (tem == NULL_RTX)
rtx tem; {
/* For a zero count with __builtin_return_address, we don't care what /* For a zero count with __builtin_return_address, we don't care what
frame address we return, because target-specific definitions will frame address we return, because target-specific definitions will
override us. Therefore frame pointer elimination is OK, and using override us. Therefore frame pointer elimination is OK, and using
...@@ -785,7 +782,7 @@ expand_builtin_return_addr (enum built_in_function fndecl_code, int count) ...@@ -785,7 +782,7 @@ expand_builtin_return_addr (enum built_in_function fndecl_code, int count)
/* Tell reload not to eliminate the frame pointer. */ /* Tell reload not to eliminate the frame pointer. */
crtl->accesses_prior_frames = 1; crtl->accesses_prior_frames = 1;
} }
#endif }
/* Some machines need special handling before we can access /* Some machines need special handling before we can access
arbitrary frames. For example, on the SPARC, we must first flush arbitrary frames. For example, on the SPARC, we must first flush
......
...@@ -1277,6 +1277,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -1277,6 +1277,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define CONSTANT_ALIGNMENT(EXP, ALIGN) ALIGN #define CONSTANT_ALIGNMENT(EXP, ALIGN) ALIGN
#endif #endif
#ifndef INITIAL_FRAME_ADDRESS_RTX
#define INITIAL_FRAME_ADDRESS_RTX NULL
#endif
#ifdef GCC_INSN_FLAGS_H #ifdef GCC_INSN_FLAGS_H
/* Dependent default target macro definitions /* Dependent default target macro definitions
......
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