jump.c (cleanup_barriers): Handle case of no insns before a barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* jump.c (cleanup_barriers): Handle case of no insns before a
	barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* gcc.dg/builtin-unreachable-3.c: New test.

From-SVN: r148624
This commit is contained in:
David Daney 2009-06-17 19:27:35 +00:00 committed by David Daney
parent f9c3538320
commit 2cb0a60da1
4 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* jump.c (cleanup_barriers): Handle case of no insns before a
barrier.
2009-06-17 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/dfp.md (nabsdd2_fpr): Correct mode.

View file

@ -113,6 +113,8 @@ cleanup_barriers (void)
if (BARRIER_P (insn))
{
prev = prev_nonnote_insn (insn);
if (!prev)
continue;
if (BARRIER_P (prev))
delete_insn (insn);
else if (prev != PREV_INSN (insn))

View file

@ -1,3 +1,7 @@
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* gcc.dg/builtin-unreachable-3.c: New test.
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* gcc.target/i386/builtin-unreachable.c: New test.

View file

@ -0,0 +1,9 @@
/* Check that a function containing only __builtin_unreachable()
doesn't ICE. */
/* { dg-do compile } */
/* { dg-options "-O2" } */
const char *
f (void)
{
__builtin_unreachable ();
}