summaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2010-10-29 09:56:18 -0700
committerRichard Henderson <rth@gcc.gnu.org>2010-10-29 09:56:18 -0700
commitf802f27b85e93c508d78f3ccf07488e837a1989d (patch)
treeb95a38887ae8c25b78b1a385d92460f1cf6ecc59 /gcc/stmt.c
parenta9c64fcc1ec3485dae75ee8a4bc871298df7ea44 (diff)
downloadgcc-f802f27b85e93c508d78f3ccf07488e837a1989d.tar.gz
re PR rtl-optimization/46226 (asm goto may leave stack pointer invalid)
PR rtl-opt/46226 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust for asm goto. From-SVN: r166067
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 9096d8385dd..c8f56f5470b 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -776,6 +776,10 @@ expand_asm_operands (tree string, tree outputs, tree inputs,
/* Second pass evaluates arguments. */
+ /* Make sure stack is consistent for asm goto. */
+ if (nlabels > 0)
+ do_pending_stack_adjust ();
+
ninout = 0;
for (i = 0, tail = outputs; tail; tail = TREE_CHAIN (tail), i++)
{