[clang] [clang] diagnose invalid std::tuple_size sizes (PR #159677)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 19 06:37:19 PDT 2025
================
@@ -1222,6 +1222,16 @@ static IsTupleLike isTupleLike(Sema &S, SourceLocation Loc, QualType T,
if (E.isInvalid())
return IsTupleLike::Error;
+ if (Size < 0 || Size >= UINT_MAX) {
----------------
erichkeane wrote:
This test doesn't seem all that right. I think we should be checking `if (Size.isNegative() || !Size.isSignedIntN(Ctx.getTypeSize(Ctx.getSizeType()))` or something like that like that ?
(should that just be `isIntN`?).
host-compiler `UINT_MAX` is almost definitely the wrong thing here.
https://github.com/llvm/llvm-project/pull/159677
More information about the cfe-commits
mailing list