From 0fedef289f6ff5a1eac67f4c6b8d6ee91b324d1e Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 27 May 1996 06:38:37 -0400 Subject: [PATCH] (expand_builtin, case BUILT_IN_{LONG,SET}JMP): Convert block address from ptr_mode to Pmode. From-SVN: r12120 --- gcc/expr.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index 29b07e5f3ee..f262443b9ab 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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))); -- 2.30.2