[libcxx-commits] [libcxx] [libc++] Add _LIBCPP_NO_UNIQUE_ADDRESS to flat_{, multi}map::value_compare (PR #137594)
via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Apr 28 01:27:33 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Nikolas Klauser (philnik777)
<details>
<summary>Changes</summary>
This breaks the ABI of `flat_{,multi}map::value_compare`, but this type has only been introduced in LLVM 20, so it should be very unlikely that we break anybody if we back-port this now.
---
Full diff: https://github.com/llvm/llvm-project/pull/137594.diff
2 Files Affected:
- (modified) libcxx/include/__flat_map/flat_map.h (+1-1)
- (modified) libcxx/include/__flat_map/flat_multimap.h (+1-1)
``````````diff
diff --git a/libcxx/include/__flat_map/flat_map.h b/libcxx/include/__flat_map/flat_map.h
index f5abfd0985280..f5e9756ff6a60 100644
--- a/libcxx/include/__flat_map/flat_map.h
+++ b/libcxx/include/__flat_map/flat_map.h
@@ -114,7 +114,7 @@ class flat_map {
class value_compare {
private:
- key_compare __comp_;
+ _LIBCPP_NO_UNIQUE_ADDRESS key_compare __comp_;
_LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : __comp_(__c) {}
friend flat_map;
diff --git a/libcxx/include/__flat_map/flat_multimap.h b/libcxx/include/__flat_map/flat_multimap.h
index ea77fb5d79bd2..15fcd7995ad0a 100644
--- a/libcxx/include/__flat_map/flat_multimap.h
+++ b/libcxx/include/__flat_map/flat_multimap.h
@@ -115,7 +115,7 @@ class flat_multimap {
class value_compare {
private:
- key_compare __comp_;
+ _LIBCPP_NO_UNIQUE_ADDRESS key_compare __comp_;
_LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : __comp_(__c) {}
friend flat_multimap;
``````````
</details>
https://github.com/llvm/llvm-project/pull/137594
More information about the libcxx-commits
mailing list