yay! thanks for taking the time :)

================
Comment at: lib/Sema/TreeTransform.h:8299
@@ +8298,3 @@
+  if (OrigTPL) 
+    NewTPL = getDerived().TransformTemplateParameterList(OrigTPL);
+  LSI->GLTemplateParameterList = NewTPL;
----------------
Doug Gregor wrote:
> Don't we need to check whether NewTPL null after this, in case the 
> transformation of the template parameter list failed?
Not really, since whether it is null or not is checked by the Sema::lambda 
clan.  But now that you draw my attention to it, I guess I could replace these 
5 lines with this one:
LSI->GLTemplateParameterList = 
getDerived().TransformTemplateParameterList(E->getTemplateParameterList());

================
Comment at: lib/Sema/SemaTemplateInstantiate.cpp:933
@@ +932,3 @@
+      //  - In the generic lambda case, we set the NewTemplate to be considered
+      //    an "instantiation" of the OldTemplate.
+      // See the documentation and use of get/setInstantiationOfMemberFunction
----------------
Doug Gregor wrote:
> I love comments, but I don't think a complete discussion of how primary 
> templates and specializations are wired together is necessary here. This last 
> bullet is the important part for what we're doing here.
So I should replace the entire block above with:
//  In the non-generic lambda case we set the NewCallOperator to be considered
//  an instantiation of the OldCallOperator.
//  In the generic lambda case, we set the NewTemplate to be considered 
//  an "instantiation" of the OldTemplate.
 



http://llvm-reviews.chandlerc.com/D1784
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to