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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110127
138bc75d-0d04-0410-961f-
82ee72b054a4
+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>
* rtl.def (match_code): Add second argument.
+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>
Jan Hubicka <jh@suse.cz>
Richard Guenther <rguenther@suse.de>
--- /dev/null
+/* { 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;
FOR_EACH_EDGE (e, ei, block->preds)
{
+ /* We cannot handle abnormal incomming edges correctly. */
+ if (e->flags & EDGE_ABNORMAL)
+ return;
+
if (first)
{
bitmap_set_copy (tempset, AVAIL_OUT (e->src));