[clang] [Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (PR #92263)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Wed May 15 21:33:17 PDT 2024
================
@@ -5591,7 +5592,11 @@ FunctionTemplateDecl *Sema::getMoreSpecializedTemplate(
IsRValRef1);
Args2.push_back(Obj2Ty);
}
- size_t NumComparedArguments = NumCallArguments1 + ShouldConvert1;
+ size_t NumComparedArguments = NumCallArguments1;
+ // Either added an argument above or the prototype includes an explicit
+ // object argument we need to count
+ if (Method1)
+ ++NumComparedArguments;
----------------
mizvekov wrote:
It seems like changing the `ExplicitCallArguments` member of `OverloadCandidate` into just `CallArguments` might simplify this whole thing.
https://github.com/llvm/llvm-project/pull/92263
More information about the cfe-commits
mailing list