(expand_builtin, case BUILT_IN_{LONG,SET}JMP): Convert block address
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 27 May 1996 10:38:37 +0000 (06:38 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 27 May 1996 10:38:37 +0000 (06:38 -0400)
from ptr_mode to Pmode.

From-SVN: r12120

gcc/expr.c

index 29b07e5f3ee466e01073ea5b0623a364dd7bf7ee..f262443b9ab2e52fcd49d37ba41b4e861456dd13 100644 (file)
@@ -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)));