smeenai added inline comments.
================ Comment at: lib/Sema/SemaTemplate.cpp:7670-7673 + if ((Old_TSK == TSK_ExplicitInstantiationDeclaration || + Old_TSK == TSK_ImplicitInstantiation) && (TSK == TSK_ExplicitInstantiationDefinition || DLLImportExplicitInstantiationDef)) { ---------------- hans wrote: > smeenai wrote: > > rnk wrote: > > > Is this the right logic in the case of `Old_TSK == TSK_Implicit && TSK == > > > TSK_Explicit`? We don't want a behavior change when DLLImport is not > > > involved. A test for that case would be good. > > I'm actually concerned about the `dllexport` case and not the `dllimport` > > case, after my discussion with @hans. I'm updating this diff to that effect. > I think what Reid is alluding to is regardless of dll attributes, you're > adding another OR-clause to this if condition which will cause us to e.g. do > `Def->setTemplateSpecializationKind` below, so something is changing in how > we handle implicit instantiation followed by explicit instantiation def in > general, not just for dllexport which might not be what we want? That's a fair point. I'll modify this to address that. https://reviews.llvm.org/D26657 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits