Commit 4f2eb765 by Jakub Jelinek Committed by Jakub Jelinek

re PR debug/42234 (internal compiler error: verify_ssa failed)

	PR c++/42234
	* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
	contains no statements.

	* g++.dg/gomp/pr42234.C: New test.

From-SVN: r154878
parent 090fa0ab
2009-12-01 Jakub Jelinek <jakub@redhat.com>
PR c++/42234
* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
contains no statements.
2009-12-01 Grigori Fursin <grigori.fursin@inria.fr> 2009-12-01 Grigori Fursin <grigori.fursin@inria.fr>
Joern Rennecke <amylaar@spamcop.net> Joern Rennecke <amylaar@spamcop.net>
2009-12-01 Jakub Jelinek <jakub@redhat.com>
PR c++/42234
* g++.dg/gomp/pr42234.C: New test.
2009-12-01 Martin Jambor <mjambor@suse.cz> 2009-12-01 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42237 PR tree-optimization/42237
......
// PR c++/42234
// { dg-do compile }
// { dg-options "-fopenmp" }
extern int foo (void);
void
bar (int x)
{
#pragma omp critical
{
int j;
for (j = 0; j < foo (); j++)
;
if (0)
if (x >= 4)
;
}
}
/* CFG cleanup for trees. /* CFG cleanup for trees.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -511,7 +511,7 @@ cleanup_omp_return (basic_block bb) ...@@ -511,7 +511,7 @@ cleanup_omp_return (basic_block bb)
control_bb = single_pred (bb); control_bb = single_pred (bb);
stmt = last_stmt (control_bb); stmt = last_stmt (control_bb);
if (gimple_code (stmt) != GIMPLE_OMP_SECTIONS_SWITCH) if (stmt == NULL || gimple_code (stmt) != GIMPLE_OMP_SECTIONS_SWITCH)
return false; return false;
/* The block with the control statement normally has two entry edges -- one /* The block with the control statement normally has two entry edges -- one
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment