except.c (expand_builtin_extract_return_address): Handle case where Pmode != ptr_mode.
2002-09-24 Eric Christopher <echristo@redhat.com> * except.c (expand_builtin_extract_return_address): Handle case where Pmode != ptr_mode. From-SVN: r57552
This commit is contained in:
parent
68bb91b1e0
commit
0ab3841807
@ -1,3 +1,8 @@
|
||||
2002-09-24 Eric Christopher <echristo@redhat.com>
|
||||
|
||||
* except.c (expand_builtin_extract_return_address): Handle case
|
||||
where Pmode != ptr_mode.
|
||||
|
||||
2002-09-26 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
|
||||
@ -17,7 +22,7 @@
|
||||
|
||||
2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
|
||||
* expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
|
||||
A + (-const) on RTX level, even for unsigned types.
|
||||
|
||||
2002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
10
gcc/except.c
10
gcc/except.c
@ -2993,6 +2993,16 @@ expand_builtin_extract_return_addr (addr_tree)
|
||||
{
|
||||
rtx addr = expand_expr (addr_tree, NULL_RTX, Pmode, 0);
|
||||
|
||||
if (GET_MODE (addr) != Pmode
|
||||
&& GET_MODE (addr) != VOIDmode)
|
||||
{
|
||||
#ifdef POINTERS_EXTEND_UNSIGNED
|
||||
addr = convert_memory_address (Pmode, addr);
|
||||
#else
|
||||
addr = convert_to_mode (Pmode, addr, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* First mask out any unwanted bits. */
|
||||
#ifdef MASK_RETURN_ADDR
|
||||
expand_and (Pmode, addr, MASK_RETURN_ADDR, addr);
|
||||
|
Loading…
Reference in New Issue
Block a user