[Bug tree-optimization/17724] [4.0 Regression] wrong dominator (eh/fold all builtins) related
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Oct 1 12:41:00 GMT 2004
------- Additional Comments From jakub at gcc dot gnu dot org 2004-10-01 12:41 -------
Well, the testcase as is certainly doesn't fail with current CVS plus
http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02990.html.
When the first line is one of:
extern char *strcpy (char* d, const char* s) throw ();
extern "C" char *strcpy (char* d, const char* s) throw ();
extern "C" char *strcpy (char* d, const char* s);
it works just fine (though probably all 4 variants should be added to the
testsuite).
But when the testcase starts with:
extern char *strcpy (char* d, const char* s);
it ICEs. The problem is different though, particularly that
delete_unreachable_blocks nor delete_basic_block called from it updates
dominators info.
IMHO either tree-cfg.c's remove_bb needs to
recount_dominator/set_immediate_dominator if changed for all preds and succs bb's
or cleanup_tree_cfg needs to set some flag when delete_unreachable_blocks returns
true and after the loop call free_dominance_info if that flag is set.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dnovillo at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17724
More information about the Gcc-bugs
mailing list