> + } else if (Linkage == GVA_ExplicitTemplateInstantiation) {
> + // An explicit instantiation of a template has weak linkage, since
> + // explicit instantiations can occur in multiple translation units
> + // and must all be equivalent. However, we are not allowed to
> + // throw away these explicit instantiations.
> + return llvm::Function::WeakODRLinkage;
Just for curiosity, why does the c++ standard allows explicit
instantiations in multiple translation units? I don't see the use of
that and making a strong definition would make the linking more
efficient.
Cheers,
--
Rafael Ávila de Espíndola
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits