------- Comment #3 from pinskia at gcc dot gnu dot org 2006-01-12 21:48 ------- Reduced testcase: int ggggg(); struct string { static int _S_empty_rep_storage[]; void _M_destroy(); char* _M_rep; ~string() { if (_M_rep != (char*)&_S_empty_rep_storage ) if (ggggg() <= 0) _M_destroy(); } }; extern void SDL_FreeSurface(int surface); struct scoped_resource { ~scoped_resource() { SDL_FreeSurface(1); } }; struct surface { scoped_resource surface_; }; struct button { string help_text_; string label_; surface image_; }; struct scrollbar { string help_text_; button uparrow_; }; scrollbar a;
----------- As far as I can tell PRE is adding mergephitmp on an edge to an abornal branch. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dberlin at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-01-12 21:48:14 date| | Summary|ice in |[4.2 Regression] ice in |coalesce_abnormal_edges, at |coalesce_abnormal_edges, at |tree-outof-ssa.c:621 |tree-outof-ssa.c:621 Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25771