aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2002-03-22 22:02:12 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2002-03-22 22:02:12 +0000
commit7f48c9e1504132e59676f4fda5c61fd26c293f52 (patch)
treeda28417c589f53563216c82e703a1aebbee87565
parent909de5da19288f60ab09dbe6165399d3f833a692 (diff)
downloadgcc-7f48c9e1504132e59676f4fda5c61fd26c293f52.zip
gcc-7f48c9e1504132e59676f4fda5c61fd26c293f52.tar.gz
gcc-7f48c9e1504132e59676f4fda5c61fd26c293f52.tar.bz2
mips.h (MASK_RETURN_ADDR): Define.
* config/mips/mips.h (MASK_RETURN_ADDR): Define. (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define. From-SVN: r51191
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.h11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 09ea764..6b1f0b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-03-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mips/mips.h (MASK_RETURN_ADDR): Define.
+ (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
+
2002-03-22 Phil Edwards <pme@gcc.gnu.org>
* cpplib.h (struct cpp_options): New member, warn_endif_labels.
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 7b01130..62bb9483d 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2423,6 +2423,17 @@ extern enum reg_class mips_char_to_class[256];
RETURN_ADDRESS_POINTER_REGNUM))) \
: (rtx) 0)
+/* Since the mips16 ISA mode is encoded in the least-significant bit
+ of the address, mask it off return addresses for purposes of
+ finding exception handling regions. */
+
+#define MASK_RETURN_ADDR GEN_INT (-2)
+
+/* Similarly, don't use the least-significant bit to tell pointers to
+ code from vtable index. */
+
+#define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_delta
+
/* Structure to be filled in by compute_frame_size with register
save masks, and offsets for the current function. */