http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53282
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-05-09 Ever Confirmed|0 |1 --- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-09 09:58:09 UTC --- (In reply to comment #6) > On 9 May, 2012, at 11:10 AM, rguenth at gcc dot gnu.org wrote: > > > All hidden symbols are postfixed with something like .local.77.4195, making > > them no longer the symbols for the explicitely instantiated functions. > > > > I suppose you say that the bug is that you have explicitely instantiated > > some templates which you want to have appear in the library as exported > > but LTO makes all instances hidden so that no externally visible symbol > > for that explicitely instantiated template remains? > > correct. > The additional point is that this happens only for some symbols, not all, even > if the definitions/declarations are identical. Ok, so the question would be - why does GCC think this symbol is not possibly referenced from outside of the LTO unit?