aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine-stack-adj.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2012-06-08 23:17:12 -0700
committerRichard Henderson <rth@gcc.gnu.org>2012-06-08 23:17:12 -0700
commit65c2e636b5c1051b9186c56e0ff30ded8ae0ec28 (patch)
tree9e6b89b147d770090200e227d5974784b83e66cb /gcc/combine-stack-adj.c
parent5bf482f672651b224916bd095c9be6b4f23cab06 (diff)
downloadgcc-65c2e636b5c1051b9186c56e0ff30ded8ae0ec28.zip
gcc-65c2e636b5c1051b9186c56e0ff30ded8ae0ec28.tar.gz
gcc-65c2e636b5c1051b9186c56e0ff30ded8ae0ec28.tar.bz2
re PR c++/53602 (Libre Office causes an internal compiler error)
PR c++/53602 * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE note to a clobber insn when no other insn is available. From-SVN: r188357
Diffstat (limited to 'gcc/combine-stack-adj.c')
-rw-r--r--gcc/combine-stack-adj.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index b3ee785..b46fe3b 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -1,7 +1,7 @@
/* Combine stack adjustments.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -414,9 +414,10 @@ force_move_args_size_note (basic_block bb, rtx prev, rtx insn)
{
/* ??? We *must* have a place, lest we ICE on the lost adjustment.
Options are: dummy clobber insn, nop, or prevent the removal of
- the sp += 0 insn. Defer that decision until we can prove this
- can actually happen. */
- gcc_unreachable ();
+ the sp += 0 insn. */
+ /* TODO: Find another way to indicate to the dwarf2 code that we
+ have not in fact lost an adjustment. */
+ test = emit_insn_before (gen_rtx_CLOBBER (VOIDmode, const0_rtx), insn);
}
add_reg_note (test, REG_ARGS_SIZE, XEXP (note, 0));
}