hans added inline comments.

================
Comment at: lib/Sema/SemaTemplate.cpp:7670-7673
+    if ((Old_TSK == TSK_ExplicitInstantiationDeclaration ||
+         Old_TSK == TSK_ImplicitInstantiation) &&
         (TSK == TSK_ExplicitInstantiationDefinition ||
          DLLImportExplicitInstantiationDef)) {
----------------
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?


https://reviews.llvm.org/D26657



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to