> +  } 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

Reply via email to