[clang] [clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (PR #82358)

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 20 12:32:33 PST 2024


================
@@ -66,11 +66,10 @@ struct CStructWithQualifiers {
 static_assert(__is_layout_compatible(CStruct, const CStruct2), "");
 static_assert(__is_layout_compatible(CStruct, volatile CStruct2), "");
 static_assert(__is_layout_compatible(const CStruct, volatile CStruct2), "");
-// FIXME: all of the following pairs of types are layout-compatible
-static_assert(!__is_layout_compatible(int, const int), "");
-static_assert(!__is_layout_compatible(int, volatile int), "");
-static_assert(!__is_layout_compatible(const int, volatile int), "");
-static_assert(!__is_layout_compatible(CStruct, CStructWithQualifiers), "");
+static_assert(__is_layout_compatible(int, const int), "");
+static_assert(__is_layout_compatible(int, volatile int), "");
+static_assert(__is_layout_compatible(const int, volatile int), "");
----------------
Endilll wrote:

Added, thank you!
Save for the fact that I don't think `__restrict` and `_Atomic` belong in a C++ DR tests, so I put them in SemaCXX tests.

https://github.com/llvm/llvm-project/pull/82358


More information about the cfe-commits mailing list