diff options
author | Shafik Yaghmour <shafik.yaghmour@intel.com> | 2025-04-11 08:38:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-11 08:38:37 -0700 |
commit | ffac1404f8e0f606cac12a21777dfe700b455e87 (patch) | |
tree | 977059e953209d3e053dd5ea7e53108adf8bf203 | |
parent | a4b7688d27da1a0189fff6549853fdfe22b33c48 (diff) | |
download | llvm-ffac1404f8e0f606cac12a21777dfe700b455e87.zip llvm-ffac1404f8e0f606cac12a21777dfe700b455e87.tar.gz llvm-ffac1404f8e0f606cac12a21777dfe700b455e87.tar.bz2 |
[Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)
Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.
Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.
We document using an assert.
Fixes: https://github.com/llvm/llvm-project/issues/135086
-rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index f46ef2c..9c2df0b 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -7189,6 +7189,7 @@ void Sema::AddOverloadCandidate( } } + assert(PO != OverloadCandidateParamOrder::Reversed || Args.size() == 2); // Determine the implicit conversion sequences for each of the // arguments. for (unsigned ArgIdx = 0; ArgIdx < Args.size(); ++ArgIdx) { |