diff options
author | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2024-02-22 22:30:31 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-22 22:30:31 +0400 |
commit | 5c24c316496e221e1841418f0f39ccb7200c83c6 (patch) | |
tree | 6a3b0c05c03d57003f1a67a760930d290e7ba787 /clang/lib/Sema/SemaChecking.cpp | |
parent | da1880cc56060c9da91cbd04daa7f8aa3ea0e829 (diff) | |
download | llvm-5c24c316496e221e1841418f0f39ccb7200c83c6.zip llvm-5c24c316496e221e1841418f0f39ccb7200c83c6.tar.gz llvm-5c24c316496e221e1841418f0f39ccb7200c83c6.tar.bz2 |
[clang] Implement CWG2759 "`[[no_unique_address]` and common initial sequence" (#82607)
This patch implements said defect report resolution by adding additional
check to common initial sequence evaluation. Consequently, this fixes
CWG2759.
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 710437b..7fa295e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -19036,6 +19036,9 @@ static bool isLayoutCompatible(ASTContext &C, FieldDecl *Field1, return false; } + if (Field1->hasAttr<clang::NoUniqueAddressAttr>() || + Field2->hasAttr<clang::NoUniqueAddressAttr>()) + return false; return true; } |