aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDonn Terry <donn@interix.com>1999-04-15 19:54:09 +0000
committerJeff Law <law@gcc.gnu.org>1999-04-15 13:54:09 -0600
commit30bf7f73a61652863d415ca55f6aa4f6fa0e9f51 (patch)
tree8f9458d8f3c1e00e39202e3a70e1309d35775bb6 /gcc
parentaefe40b1a08a356ee6b5a0a7fbf8473c65796226 (diff)
downloadgcc-30bf7f73a61652863d415ca55f6aa4f6fa0e9f51.zip
gcc-30bf7f73a61652863d415ca55f6aa4f6fa0e9f51.tar.gz
gcc-30bf7f73a61652863d415ca55f6aa4f6fa0e9f51.tar.bz2
except.c (start_catch_hadler): Be sure rtime_address is Pmode if POINTERS_EXTEND_UNSIGNED.
* except.c (start_catch_hadler): Be sure rtime_address is Pmode if POINTERS_EXTEND_UNSIGNED. From-SVN: r26478
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/except.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3454544..e60ae19 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Thu Apr 15 20:46:57 1999 Donn Terry (donn@interix.com)
+ * except.c (start_catch_hadler): Be sure rtime_address is Pmode
+ if POINTERS_EXTEND_UNSIGNED.
+
* except.c (expand_eh_return): Force pointers to proper mode if
POINTERS_EXTEND_UNSIGNED.
diff --git a/gcc/except.c b/gcc/except.c
index 21d5b8a..fe139fd 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1760,6 +1760,9 @@ start_catch_handler (rtime)
catchstack.top->entry->false_label = gen_exception_label ();
rtime_address = expand_expr (rtime, NULL_RTX, Pmode, EXPAND_INITIALIZER);
+#ifdef POINTERS_EXTEND_UNSIGNED
+ rtime_address = convert_memory_address (Pmode, rtime_address);
+#endif
rtime_address = force_reg (Pmode, rtime_address);
/* Now issue the call, and branch around handler if needed */