diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2015-03-03 15:04:02 +0000 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gcc.gnu.org> | 2015-03-03 15:04:02 +0000 |
commit | 2e612c470d9deead7b4d8b6042ac1b711c818766 (patch) | |
tree | 7f59cfef10ac3781fc4d997331364492938faf6f /gcc/doc | |
parent | 9dd44d1c8021214d55491aefebe04d8647cae9d0 (diff) | |
download | gcc-2e612c470d9deead7b4d8b6042ac1b711c818766.zip gcc-2e612c470d9deead7b4d8b6042ac1b711c818766.tar.gz gcc-2e612c470d9deead7b4d8b6042ac1b711c818766.tar.bz2 |
Turn RETURN_ADDR_IN_PREVIOUS_FRAME into C expression
This allows a target to support both windowed and non-windowed ABI.
2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* builtins.c (expand_builtin_return_addr): Add
RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
surrounding #ifdef.
* config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
definition to 1.
* config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
Likewise.
* defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
undefined.
* doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
paragraph.
From-SVN: r221150
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi.in | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 16d5df7..8d6dfbc 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -2650,7 +2650,7 @@ A C expression whose value is RTL representing the value of the return address for the frame @var{count} steps up from the current frame, after the prologue. @var{frameaddr} is the frame pointer of the @var{count} frame, or the frame pointer of the @var{count} @minus{} 1 frame if -@code{RETURN_ADDR_IN_PREVIOUS_FRAME} is defined. +@code{RETURN_ADDR_IN_PREVIOUS_FRAME} is nonzero. The value of the expression must always be the correct address when @var{count} is zero, but may be @code{NULL_RTX} if there is no way to @@ -2658,8 +2658,9 @@ determine the return address of other frames. @end defmac @defmac RETURN_ADDR_IN_PREVIOUS_FRAME -Define this if the return address of a particular stack frame is accessed -from the frame pointer of the previous stack frame. +Define this macro to nonzero value if the return address of a particular +stack frame is accessed from the frame pointer of the previous stack +frame. The zero default for this macro is suitable for most ports. @end defmac @defmac INCOMING_RETURN_ADDR_RTX |