re PR tree-optimization/25315 (testsuite failure:27_io/basic_ostream/inserters_character/char/9555-oc.cc wchar_t/9555-oc.cc exec)
2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> Daniel Berlin <dberlin@dberlin.org> PR tree-opt/25315 PR tree-opt/25857 * tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal return from the function. 2006-01-23 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25857 * g++.dg/opt/pr25857.C: New test. Co-Authored-By: Daniel Berlin <dberlin@dberlin.org> From-SVN: r110127
This commit is contained in:
parent
6e7a4706fd
commit
e9901f8b56
@ -1,3 +1,11 @@
|
|||||||
|
2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
|
PR tree-opt/25315
|
||||||
|
PR tree-opt/25857
|
||||||
|
* tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal
|
||||||
|
return from the function.
|
||||||
|
|
||||||
2006-01-22 Zack Weinberg <zackw@panix.com>
|
2006-01-22 Zack Weinberg <zackw@panix.com>
|
||||||
|
|
||||||
* rtl.def (match_code): Add second argument.
|
* rtl.def (match_code): Add second argument.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2006-01-23 Andrew Pinski <pinskia@physics.uc.edu>
|
||||||
|
|
||||||
|
PR tree-opt/25857
|
||||||
|
* g++.dg/opt/pr25857.C: New test.
|
||||||
|
|
||||||
2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com>
|
2006-01-23 Steven Bosscher <stevenb.gcc@gmail.com>
|
||||||
Jan Hubicka <jh@suse.cz>
|
Jan Hubicka <jh@suse.cz>
|
||||||
Richard Guenther <rguenther@suse.de>
|
Richard Guenther <rguenther@suse.de>
|
||||||
|
18
gcc/testsuite/g++.dg/opt/pr25857.C
Normal file
18
gcc/testsuite/g++.dg/opt/pr25857.C
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O2" } */
|
||||||
|
|
||||||
|
int foo();
|
||||||
|
int i;
|
||||||
|
|
||||||
|
struct A
|
||||||
|
{
|
||||||
|
~A() { if (this != (A*)(&i)) foo(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct B
|
||||||
|
{
|
||||||
|
A a1, a2, a3, a4;
|
||||||
|
~B() { foo(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
B b;
|
@ -2745,6 +2745,10 @@ insert_extra_phis (basic_block block, basic_block dom)
|
|||||||
|
|
||||||
FOR_EACH_EDGE (e, ei, block->preds)
|
FOR_EACH_EDGE (e, ei, block->preds)
|
||||||
{
|
{
|
||||||
|
/* We cannot handle abnormal incomming edges correctly. */
|
||||||
|
if (e->flags & EDGE_ABNORMAL)
|
||||||
|
return;
|
||||||
|
|
||||||
if (first)
|
if (first)
|
||||||
{
|
{
|
||||||
bitmap_set_copy (tempset, AVAIL_OUT (e->src));
|
bitmap_set_copy (tempset, AVAIL_OUT (e->src));
|
||||||
|
Loading…
Reference in New Issue
Block a user