diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-05-27 06:38:37 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-05-27 06:38:37 -0400 |
commit | 0fedef289f6ff5a1eac67f4c6b8d6ee91b324d1e (patch) | |
tree | ba655a4c69f8259a4052c19971bb478429bc9f2b | |
parent | 2ff43a3340c7f0e73162e6cf2566989287c7cb9e (diff) | |
download | gcc-0fedef289f6ff5a1eac67f4c6b8d6ee91b324d1e.zip gcc-0fedef289f6ff5a1eac67f4c6b8d6ee91b324d1e.tar.gz gcc-0fedef289f6ff5a1eac67f4c6b8d6ee91b324d1e.tar.bz2 |
(expand_builtin, case BUILT_IN_{LONG,SET}JMP): Convert block address
from ptr_mode to Pmode.
From-SVN: r12120
-rw-r--r-- | gcc/expr.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -8565,8 +8565,12 @@ expand_builtin (exp, target, subtarget, mode, ignore) { rtx buf_addr - = force_reg (Pmode, expand_expr (TREE_VALUE (arglist), subtarget, - VOIDmode, 0)); + = force_reg (Pmode, + convert_modes (Pmode, ptr_mode, + expand_expr (TREE_VALUE (arglist), + subtarget, + VOIDmode, 0), + 1)); rtx lab1 = gen_label_rtx (), lab2 = gen_label_rtx (); enum machine_mode sa_mode = Pmode; rtx stack_save; @@ -8712,8 +8716,12 @@ expand_builtin (exp, target, subtarget, mode, ignore) tree dummy_type = build_function_type (void_type_node, NULL_TREE); tree dummy_decl = build_decl (FUNCTION_DECL, dummy_id, dummy_type); rtx buf_addr - = force_reg (Pmode, expand_expr (TREE_VALUE (arglist), NULL_RTX, - VOIDmode, 0)); + = force_reg (Pmode, + convert_modes (Pmode, ptr_mode, + expand_expr (TREE_VALUE (arglist), + NULL_RTX, + VOIDmode, 0), + 1)); rtx fp = gen_rtx (MEM, Pmode, buf_addr); rtx lab = gen_rtx (MEM, Pmode, plus_constant (buf_addr, GET_MODE_SIZE (Pmode))); |