summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-15 19:54:09 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-15 19:54:09 +0000
commitda86e4c9cfba1ea0f795cf99ae369ea43fd6cb02 (patch)
tree8f9458d8f3c1e00e39202e3a70e1309d35775bb6
parentd11c1d555e6875d825f2c0d8995ddf2bdf71e441 (diff)
downloadppe42-gcc-da86e4c9cfba1ea0f795cf99ae369ea43fd6cb02.tar.gz
ppe42-gcc-da86e4c9cfba1ea0f795cf99ae369ea43fd6cb02.zip
* except.c (start_catch_hadler): Be sure rtime_address is Pmode
if POINTERS_EXTEND_UNSIGNED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26478 138bc75d-0d04-0410-961f-82ee72b054a4
-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 345454492b5..e60ae19aa28 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 21d5b8ab9fd..fe139fd85c4 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 */
OpenPOWER on IntegriCloud