http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45388
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-12-12 19:54:28 UTC --- Mine, patch sent http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00961.html Sorry about the delay. The problem is not that I would not want constructors to be global. The problem was that since the original constructor merging was introduced (in 2004), C++ FE produced collect2 recognizable names for no reason. This problem was masked by fact that the code set always inline flag on all functions. This is wrong, since not all functions are inlinable so it can lead to ICE when non-inlinable static constructor is introduced. The patch should avoid those recognizable names until final merging pass and thus avoid the problem. Honza