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 */