PATCH: PR middle-end/48016: Inconsistency in non-local goto save area
H.J. Lu
hongjiu.lu@intel.com
Wed Mar 16 17:17:00 GMT 2011
On Wed, Mar 16, 2011 at 10:09:44AM -0700, H.J. Lu wrote:
> Hi,
>
> expand_function_start failed to properly store frame pointer for
> non-local goto when Pmode != ptr_mode. OK for trunk?
Wrong patch. Here is the correct mode. OK for trunk?
Thanks.
H.J.
---
diff --git a/gcc/ChangeLog.x32 b/gcc/ChangeLog.x32
index 3405300..52ff01d 100644
--- a/gcc/ChangeLog.x32
+++ b/gcc/ChangeLog.x32
@@ -1,3 +1,9 @@
+2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/48016
+ * function.c (expand_function_start): Properly store frame
+ pointer for non-local goto.
+
2011-03-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/48084
diff --git a/gcc/function.c b/gcc/function.c
index 1f7722c..ac6b267 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4762,7 +4762,7 @@ expand_function_start (tree subr)
cfun->nonlocal_goto_save_area,
integer_zero_node, NULL_TREE, NULL_TREE);
r_save = expand_expr (t_save, NULL_RTX, VOIDmode, EXPAND_WRITE);
- r_save = convert_memory_address (Pmode, r_save);
+ r_save = adjust_address (r_save, Pmode, 0);
emit_move_insn (r_save, targetm.builtin_setjmp_frame_value ());
update_nonlocal_goto_save_area ();
More information about the Gcc-patches
mailing list