[clang] 64f8342 - [clang] Remove always false comparisons (#207504)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Jul 4 08:34:27 PDT 2026
Author: disservin
Date: 2026-07-04T17:34:23+02:00
New Revision: 64f834271e07350a921f6abe925e5a11cd7da562
URL: https://github.com/llvm/llvm-project/commit/64f834271e07350a921f6abe925e5a11cd7da562
DIFF: https://github.com/llvm/llvm-project/commit/64f834271e07350a921f6abe925e5a11cd7da562.diff
LOG: [clang] Remove always false comparisons (#207504)
```
llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp:1371:16: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
1371 | if (*Index < 0 || *Index >= ExpandedExprs.size()) {
| ~~~~~~~^~~
llvm-project/clang/lib/Sema/SemaType.cpp:10130:32: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
10130 | if (FullySubstituted && (V < 0 || V >= Expansions.size())) {
```
https://github.com/llvm/llvm-project/commit/9b132a2ff80dac4bc8e78b242bebb97551c292c7
changed the types from int64_t to uint64_t so those comparisons are
always false now
Added:
Modified:
clang/lib/Sema/SemaTemplateVariadic.cpp
clang/lib/Sema/SemaType.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/SemaTemplateVariadic.cpp b/clang/lib/Sema/SemaTemplateVariadic.cpp
index fd1e506aaa895..de5f52f53ec29 100644
--- a/clang/lib/Sema/SemaTemplateVariadic.cpp
+++ b/clang/lib/Sema/SemaTemplateVariadic.cpp
@@ -1368,7 +1368,7 @@ ExprResult Sema::BuildPackIndexingExpr(Expr *PackExpression,
}
if (Index && FullySubstituted) {
- if (*Index < 0 || *Index >= ExpandedExprs.size()) {
+ if (*Index >= ExpandedExprs.size()) {
Diag(PackExpression->getBeginLoc(), diag::err_pack_index_out_of_bound)
<< *Index << PackExpression << ExpandedExprs.size();
return ExprError();
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index fb40ffde00f3d..3640bf00b77a4 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -10127,7 +10127,7 @@ QualType Sema::BuildPackIndexingType(QualType Pattern, Expr *IndexExpr,
IndexExpr = Res.get();
uint64_t V = Value.getZExtValue();
- if (FullySubstituted && (V < 0 || V >= Expansions.size())) {
+ if (FullySubstituted && V >= Expansions.size()) {
Diag(IndexExpr->getBeginLoc(), diag::err_pack_index_out_of_bound)
<< V << Pattern << Expansions.size();
return QualType();
More information about the cfe-commits
mailing list