aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShafik Yaghmour <shafik.yaghmour@intel.com>2025-04-11 08:38:37 -0700
committerGitHub <noreply@github.com>2025-04-11 08:38:37 -0700
commitffac1404f8e0f606cac12a21777dfe700b455e87 (patch)
tree977059e953209d3e053dd5ea7e53108adf8bf203
parenta4b7688d27da1a0189fff6549853fdfe22b33c48 (diff)
downloadllvm-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.cpp1
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) {