[PATCH] D136018: [Clang] Fix crash when checking misaligned member with dependent type
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 17 05:56:44 PDT 2022
aaron.ballman added inline comments.
================
Comment at: clang/lib/Sema/SemaChecking.cpp:17397
+ auto *MA = llvm::find(MisalignedMembers, MisalignedMember(Op));
+ const bool IsDiscardMisalignedPointer =
+ T->isPointerType() &&
----------------
We don't typically use top-level `const` qualification.
================
Comment at: clang/lib/Sema/SemaChecking.cpp:17398-17399
+ const bool IsDiscardMisalignedPointer =
+ T->isPointerType() &&
+ (T->getPointeeType()->isIncompleteType() || T->isDependentType() ||
+ Context.getTypeAlignInChars(T->getPointeeType()) <= MA->Alignment);
----------------
Hmm, is this logic correct? Don't we want:
```
T->isDependentType() ||
(T->isPointerType() &&
(T->getPointeeType()->isIncompleteType() || Context.getTypeAlignInChars(T->getPointeeType()) <= MA->Alignment))
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136018/new/
https://reviews.llvm.org/D136018
More information about the cfe-commits
mailing list