Explicit template instantiation and not exported symbols in the resulting DLL

Martin Lederhilger ml@convergent-it.at
Thu Aug 11 06:12:00 GMT 2011


a better title would have been "Attributes for explicit template
instantiation are ignored after an implicit template instantiation

There is also a small mistake in my example. The declaration for the
create function should look like "... inline A<int>* create() ...".

Now concentrating on case one of the example (not using the extern
template extension):
- I should note that this compiles fine with MSVC (although I do not
want to take it as a reference implementation and I cannot really use it
for other reasons).
- In my opinion it makes sense to give attributes on an explicit
template instantiation precedence.

What should I do in the case I receive no answer? Bugreport? Wishlist?

Maybe you can also point me to the code, where the attributes are
actually assigned in the GCC code. I already found the point, where the
warning is generated in attribs.c, but I do not really have a clue -
simply commenting that if block in the hope, that the attributes are
then assigned did not help, only the warning disappeared.

Thanks for your help,

Martin Lederhilger
Convergent Information Technologies GmbH 

Schulstrasse 2
A 4053 Haid
++43-720 720 522     (phone)
ml@convergent-it.at  (email)
www.convergent-it.at (web)
Sitz: 4053 Haid, Österreich,  FB-Nr: FN317229p Landgericht Linz 

Geschäftsführer Dr.-Ing Christof Eberst, UID: ATU64458134


More information about the Gcc-help mailing list