[libcxx-commits] [libcxx] [libc++] Replace `__compressed_pair` with `[[no_unique_address]]` (PR #76756)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 5 09:28:06 PDT 2024


================
@@ -139,21 +195,30 @@ int main(int, char**) {
   test<TrivialEmptyType, FinalEmptyAlloc>();
   test<TrivialEmptyType, NonTrivialAlloc>();
 
+  test<OveralignedEmptyType, TrivialEmptyAlloc>();
+  test<OveralignedEmptyType, TrivialNonEmptyAlloc>();
+  test<OveralignedEmptyType, FinalEmptyAlloc>();
+  test<OveralignedEmptyType, NonTrivialAlloc>();
+
   test<TrivialNonEmptyType, TrivialEmptyAlloc>();
   test<TrivialNonEmptyType, TrivialNonEmptyAlloc>();
   test<TrivialNonEmptyType, FinalEmptyAlloc>();
   test<TrivialNonEmptyType, NonTrivialAlloc>();
 
   test<FinalEmptyType, TrivialEmptyAlloc>();
-  test<FinalEmptyType, TrivialNonEmptyAlloc>();
-  test<FinalEmptyType, FinalEmptyAlloc>();
-  test<FinalEmptyType, NonTrivialAlloc>();
+  // FinalEmptyType combined with TrivialNonEmptyAlloc, FinalEmptyAlloc or NonTrivialAlloc is known to have an ABI break
+  // between LLVM 18 and LLVM 19. It's been deemed not severe enough to cause actual breakage.
----------------
ldionne wrote:

```suggestion
  // FinalEmptyType combined with TrivialNonEmptyAlloc, FinalEmptyAlloc or NonTrivialAlloc is known to have an ABI break
  // between LLVM 19 and LLVM 20. It's been deemed not severe enough to cause actual breakage.
```

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


More information about the libcxx-commits mailing list