diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2015-04-22 00:44:48 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2015-04-22 00:44:48 +0000 |
commit | cbc7d031c4a563565f3351b36fbcb323567627fc (patch) | |
tree | 379b5a5e75dc345ed87052fa3188c5f26796e3c2 /gcc | |
parent | a8a6b3dfd3ec2794a21f34169678a48ed8ecae61 (diff) | |
download | gcc-cbc7d031c4a563565f3351b36fbcb323567627fc.zip gcc-cbc7d031c4a563565f3351b36fbcb323567627fc.tar.gz gcc-cbc7d031c4a563565f3351b36fbcb323567627fc.tar.bz2 |
provide default for MASK_RETURN_ADDR
gcc/ChangeLog:
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (MASK_RETURN_ADDR): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
MASK_RETURN_ADDR.
From-SVN: r222299
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/defaults.h | 4 | ||||
-rw-r--r-- | gcc/except.c | 6 |
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc46aa9..acb026b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + * defaults.h (MASK_RETURN_ADDR): New definition. + * except.c (expand_builtin_extract_return_addr): Remove ifdef + MASK_RETURN_ADDR. + +2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + * defaults.h (RETURN_ADDR_OFFSET): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef RETURN_ADDR_OFFSET. diff --git a/gcc/defaults.h b/gcc/defaults.h index 767901a..843d7e2 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -388,6 +388,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define RETURN_ADDR_OFFSET 0 #endif +#ifndef MASK_RETURN_ADDR +#define MASK_RETURN_ADDR NULL_RTX +#endif + /* If we have named section and we support weak symbols, then use the .jcr section for recording java classes which need to be registered at program start-up time. */ diff --git a/gcc/except.c b/gcc/except.c index 750deb5..7e6591b 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2185,9 +2185,9 @@ expand_builtin_extract_return_addr (tree addr_tree) } /* First mask out any unwanted bits. */ -#ifdef MASK_RETURN_ADDR - expand_and (Pmode, addr, MASK_RETURN_ADDR, addr); -#endif + rtx mask = MASK_RETURN_ADDR; + if (mask) + expand_and (Pmode, addr, mask, addr); /* Then adjust to find the real return address. */ if (RETURN_ADDR_OFFSET) |