[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-06-04 Thread hubicka at gcc dot gnu dot org


--- Comment #7 from hubicka at gcc dot gnu dot org  2009-06-04 15:03 ---
Added testcase and closing the bug


-- 

hubicka at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-05-22 Thread reichelt at gcc dot gnu dot org


--- Comment #6 from reichelt at gcc dot gnu dot org  2009-05-22 22:19 
---
The bug disappeared between 2009-05-06 and 2009-05-09.
So it looks like your suggested patch really fixed the problem:

2009-05-09  Jan Hubicka  j...@suse.cz

* tree-eh.c (struct leh_state): Remove prev_try.
(lower_try_finally, lower_catch, lower_eh_filter, lower_cleanup): Do
not track prev_try.
* except.c (gen_eh_region_cleanup, duplicate_eh_regions, 
copy_eh_region_1, copy_eh_region, redirect_eh_edge_to_label,
remove_eh_handler_and_replace, foreach_reachable_handler,
verify_eh_region, verify_eh_tree): Remove tracking of prev_try pointer.
* except.h (struct eh_region): Remove eh_region_u_cleanup.
(gen_eh_region_cleanup): Update prototype.

Would you mind adding a testcase so we can close the PR?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-05-08 Thread hubicka at ucw dot cz


--- Comment #5 from hubicka at ucw dot cz  2009-05-08 19:44 ---
Subject: Re:  [4.5 Regression] verify_eh_tree failed with -O2

This is very sick side case of updating prev_try pointer in
duplicate_eh_edges.  I think it is clear that maintaining prev_try
pointer just to slightly speed up the lookup in
foreach_reachable_handler is highly impractical.  Once the other bugfix
to EH code is in the tree, I will test patch removing prev_try and
replacing its use by find_prev_try.

Honza


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-05-05 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-04-29 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2009-04-29 08:58 
---
Shorter testcase, which still includes map, though.
It crashes with -O and above:

==
#includemap

struct A
{
  virtual ~A() {}
};

struct B : A
{
  virtual ~B() { foo(); }
  void foo();
};

struct C : B
{
  C();
  C(const C c) : B(c) { foo(); }
  virtual ~C();
};

void bar(std::mapint, C m)
{
  m.insert(std::pairint, C(0, C()));
}
==


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-04-29 Thread reichelt at gcc dot gnu dot org


--- Comment #4 from reichelt at gcc dot gnu dot org  2009-04-29 12:33 
---
Confirmed. Reduced testcase (crashes with -O):

==
struct A
{
  virtual ~A() {}
};

struct B : A
{
  virtual ~B() { foo(); }
  void foo();
};

struct C : B
{
  C(const C c) : B(c) { foo(); }
};

void bar(const C c)
{
  try
{ new C(c); }
  catch(...)
{}
}
==


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-04-29 12:33:01
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-04-23 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
   Keywords||ice-on-valid-code
Summary|verify_eh_tree failed with -|[4.5 Regression]
   |O2  |verify_eh_tree failed with -
   ||O2
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862



[Bug c++/39862] [4.5 Regression] verify_eh_tree failed with -O2

2009-04-23 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2009-04-23 13:40 ---
Revision 145800 is good and revision 145813 is bad. It may be caused by
revision 145805:

http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg00428.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39862