mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-07 02:09:40 +08:00
re PR tree-optimization/23164 (ICE in cleanup_tree_cfg with -O -fno-exceptions)
PR 23164 * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the number of calls to cleanup_tree_cfg_1. testsuite/ChangeLog PR 23164 * g++.dg/tree-ssa/pr23164.C: New test. From-SVN: r102666
This commit is contained in:
parent
5a0067000c
commit
78234a860c
@ -1,3 +1,9 @@
|
||||
2005-08-02 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
PR 23164
|
||||
* tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
|
||||
number of calls to cleanup_tree_cfg_1.
|
||||
|
||||
2005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
|
||||
|
||||
* doc/invoke.texi: document file extensions .F90 and .F95
|
||||
|
@ -1,3 +1,8 @@
|
||||
2005-08-02 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
PR 23164
|
||||
* g++.dg/tree-ssa/pr23164.C: New test.
|
||||
|
||||
2005-08-02 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
* gcc.dg/tree-ssa/pr23192.c: New test.
|
||||
|
16
gcc/testsuite/g++.dg/tree-ssa/pr23164.C
Normal file
16
gcc/testsuite/g++.dg/tree-ssa/pr23164.C
Normal file
@ -0,0 +1,16 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
bool f();
|
||||
struct S {
|
||||
S();
|
||||
~S();
|
||||
};
|
||||
void g() {
|
||||
for (;;) {
|
||||
S s1, s2, s3, s4, s5, s6;
|
||||
if (f())
|
||||
continue;
|
||||
if (f())
|
||||
return;
|
||||
}
|
||||
}
|
@ -529,22 +529,12 @@ bool
|
||||
cleanup_tree_cfg (void)
|
||||
{
|
||||
bool retval;
|
||||
int i;
|
||||
|
||||
timevar_push (TV_TREE_CLEANUP_CFG);
|
||||
|
||||
for (retval = true, i = 0; i < 5 && retval; i++)
|
||||
do
|
||||
retval = cleanup_tree_cfg_1 ();
|
||||
|
||||
#ifdef ENABLE_CHECKING
|
||||
if (retval)
|
||||
{
|
||||
gcc_assert (!cleanup_control_flow ());
|
||||
gcc_assert (!delete_unreachable_blocks ());
|
||||
if (optimize > 0)
|
||||
gcc_assert (!cleanup_forwarder_blocks ());
|
||||
}
|
||||
#endif
|
||||
while (retval);
|
||||
|
||||
compact_blocks ();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user