except.c (start_catch_hadler): Be sure rtime_address is Pmode if POINTERS_EXTEND_UNSI...
authorDonn Terry <donn@interix.com>
Thu, 15 Apr 1999 19:54:09 +0000 (19:54 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 15 Apr 1999 19:54:09 +0000 (13:54 -0600)
        * except.c (start_catch_hadler): Be sure rtime_address is Pmode
        if POINTERS_EXTEND_UNSIGNED.

From-SVN: r26478

gcc/ChangeLog
gcc/except.c

index 3454544..e60ae19 100644 (file)
@@ -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.
 
index 21d5b8a..fe139fd 100644 (file)
@@ -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 */