================ @@ -10088,9 +10088,13 @@ static bool allowAmbiguity(ASTContext &Context, const FunctionDecl *F1, const FunctionDecl *F2) { if (declaresSameEntity(F1, F2)) return true; - if (F1->isTemplateInstantiation() && F2->isTemplateInstantiation() && - declaresSameEntity(F1->getPrimaryTemplate(), F2->getPrimaryTemplate())) { - return true; + if (F1->isTemplateInstantiation() && F2->isTemplateInstantiation()) { + auto PT1 = F1->getPrimaryTemplate(); + auto PT2 = F2->getPrimaryTemplate(); + if (declaresSameEntity(PT1, PT2) || ---------------- ilya-biryukov wrote:
Could we remove the check `getPrimaryTemplate` and instead only look at `getInstantiatedFromMemberTemplate`? If `getPrimaryTemplate` matches, the `getInstantiatedFromMemberTemplate` will always match as well, right? https://github.com/llvm/llvm-project/pull/72213 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits