From: Richard Henderson Date: Wed, 3 Mar 2004 00:34:49 +0000 (-0800) Subject: re PR middle-end/14327 (-O0 -fdefer-pop generates wrong code) X-Git-Tag: releases/gcc-3.3.4~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=733b97c9f037e0688e12089dd21a3f37a9fe3433;p=thirdparty%2Fgcc.git re PR middle-end/14327 (-O0 -fdefer-pop generates wrong code) PR middle-end/14327 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before emitting the label, not after. From-SVN: r78801 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be13cd700fbf..139b25a35b5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-03-02 Richard Henderson + + PR middle-end/14327 + * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before + emitting the label, not after. + 2004-03-02 Danny Smith * cppinit.c (init_standard_includes): Check that sysroot diff --git a/gcc/stmt.c b/gcc/stmt.c index 89b9840c25dd..6a053006903e 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -546,9 +546,9 @@ expand_computed_goto (exp) { cfun->computed_goto_common_reg = copy_to_mode_reg (Pmode, x); cfun->computed_goto_common_label = gen_label_rtx (); - emit_label (cfun->computed_goto_common_label); do_pending_stack_adjust (); + emit_label (cfun->computed_goto_common_label); emit_indirect_jump (cfun->computed_goto_common_reg); current_function_has_computed_jump = 1;