[clang] [clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (PR #82358)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 20 11:00:43 PST 2024
================
@@ -1711,13 +1711,13 @@ void is_layout_compatible(int n)
{
static_assert(__is_layout_compatible(void, void), "");
static_assert(!__is_layout_compatible(void, int), "");
- static_assert(!__is_layout_compatible(void, const void), ""); // FIXME: this is CWG1719
- static_assert(!__is_layout_compatible(void, volatile void), ""); // FIXME: this is CWG1719
- static_assert(!__is_layout_compatible(const int, volatile int), ""); // FIXME: this is CWG1719
+ static_assert(__is_layout_compatible(void, const void), "");
+ static_assert(__is_layout_compatible(void, volatile void), "");
+ static_assert(__is_layout_compatible(const int, volatile int), "");
static_assert(__is_layout_compatible(int, int), "");
- static_assert(!__is_layout_compatible(int, const int), ""); // FIXME: this is CWG1719
- static_assert(!__is_layout_compatible(int, volatile int), ""); // FIXME: this is CWG1719
- static_assert(!__is_layout_compatible(const int, volatile int), ""); // FIXME: this is CWG1719
+ 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), "");
----------------
AaronBallman wrote:
Another test to consider adding:
```
static_assert(__is_layout_compatible(int[], const int[]), "");
```
https://github.com/llvm/llvm-project/pull/82358
More information about the cfe-commits
mailing list