http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46097
--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-21 16:24:18 UTC --- (In reply to comment #13) > > Good point: here's what I would recommend: common sense. Myself, Alexey, a > number of packagers across the globe, and untold others have performed this > ODR > violation. Since you know more about the subject matter than me (I would like > to think of you as a SME - subject matter expert), what would you recommend so > that folks like myself, Alexey, distribution packagers, and others don't go > shooting ourselves in the foot? There are a number of options for making sure the global is private to the library, thus avoiding multiple definitions of the same object when two copies of the code are linked to. * You can make the global object have static linkage. * You can put it in an anonymous namespace. * You can give it non-global visibility. (In reply to comment #15) > (In reply to comment #11) > > also, I'm not "the GCC team" and I don't speak for anyone else > > My apologies. I made the leap that you were part of the team due to your email > address. This is Free Software, I'm just one contributor among many, I don't speak for "the team"