diff options
author | Youngsuk Kim <joseph942010@gmail.com> | 2024-11-22 04:51:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-22 04:51:09 -0500 |
commit | ef206446f2bbcb1bacc73d7611a96c457f59499f (patch) | |
tree | 6cec2bca1def6be134ed078a0db5f524d3a40d8c /clang/lib/Sema/SemaChecking.cpp | |
parent | 1d4602070f96c9a6921d51a3b907f90cd2e3ae32 (diff) | |
download | llvm-ef206446f2bbcb1bacc73d7611a96c457f59499f.zip llvm-ef206446f2bbcb1bacc73d7611a96c457f59499f.tar.gz llvm-ef206446f2bbcb1bacc73d7611a96c457f59499f.tar.bz2 |
[clang] Warn const integer-overflow of member in temporary struct bound to rvalue reference (#117225)
Fixes #46755
---------
Co-authored-by: Sirraide <aeternalmail@gmail.com>
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 2fd9907..a49605e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -12048,7 +12048,8 @@ void Sema::CheckForIntOverflow (const Expr *E) { New && New->isArray()) { if (auto ArraySize = New->getArraySize()) Exprs.push_back(*ArraySize); - } + } else if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(OriginalE)) + Exprs.push_back(MTE->getSubExpr()); } while (!Exprs.empty()); } |