provide default for MASK_RETURN_ADDR
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>
Wed, 22 Apr 2015 00:44:48 +0000 (00:44 +0000)
committerTrevor Saunders <tbsaunde@gcc.gnu.org>
Wed, 22 Apr 2015 00:44:48 +0000 (00:44 +0000)
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

gcc/ChangeLog
gcc/defaults.h
gcc/except.c

index dc46aa99f99f8eabd21c7b60eca29804b7487d02..acb026b15777f89a71ee33cac30fb23fbacbda82 100644 (file)
@@ -1,3 +1,9 @@
+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.
index 767901acf2921eb683c4c54756e614eb8fa474d4..843d7e20efe7b3618b4099a985f183ddef0272bb 100644 (file)
@@ -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.  */
index 750deb56bfecef604e61ea4e7cddf62dc2409551..7e6591bfc5509dc94d101fb4061ac2bae5486c13 100644 (file)
@@ -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)