rsmith added a comment. Looks good, other than error recovery.
================ Comment at: lib/Sema/SemaTemplateInstantiateDecl.cpp:4851 + DeclarationNameInfo NameInfo(Name, D->getLocation()); + Name = SubstDeclarationNameInfo(NameInfo, TemplateArgs).getName(); + DeclContext::lookup_result Found = ParentDC->lookup(Name); ---------------- You should deal with the possibility of `SubstDeclarationNameInfo` failing (which will happen if substitution into the name creates an invalid type). If you get a null name back from the `Subst` call, just return null. ================ Comment at: lib/Sema/TreeTransform.h:8766-8767 NamedDecl *FirstQualifierInScope = nullptr; + DeclarationNameInfo MemberNameInfo = + getDerived().TransformDeclarationNameInfo(E->getMemberNameInfo()); ---------------- Likewise here, you should return `ExprError()` if the transformed name is null (please also add an assert that the name is not null before the transform, as in that case a null transformed name would not indicate an error has been diagnosed). https://reviews.llvm.org/D24969 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits