diff options
author | Richard Henderson <rth@redhat.com> | 2012-06-08 23:17:12 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2012-06-08 23:17:12 -0700 |
commit | 65c2e636b5c1051b9186c56e0ff30ded8ae0ec28 (patch) | |
tree | 9e6b89b147d770090200e227d5974784b83e66cb /gcc/combine-stack-adj.c | |
parent | 5bf482f672651b224916bd095c9be6b4f23cab06 (diff) | |
download | gcc-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.c | 9 |
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)); } |