[PATCH] D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets

Erik Pilkington via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat May 19 10:35:54 PDT 2018


erik.pilkington updated this revision to Diff 147668.
erik.pilkington added a comment.

make __map_node_handle use a const_cast on the key instead of type-punning between pair<const K, V> and pair<K, V>. Add calls to std::launder in key() and before inserting a node handle.


https://reviews.llvm.org/D46845

Files:
  libcxx/include/__hash_table
  libcxx/include/__node_handle
  libcxx/include/__tree
  libcxx/include/map
  libcxx/include/set
  libcxx/include/unordered_map
  libcxx/include/unordered_set
  libcxx/test/std/containers/associative/map/map.modifiers/insert_extract.pass.cpp
  libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_extract.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
  libcxx/test/std/containers/associative/multiset/insert_extract.pass.cpp
  libcxx/test/std/containers/associative/multiset/merge.pass.cpp
  libcxx/test/std/containers/associative/set/insert_extract.pass.cpp
  libcxx/test/std/containers/associative/set/merge.pass.cpp
  libcxx/test/std/containers/container.node/node_handle.pass.cpp
  libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_extract.pass.cpp
  libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/merge.pass.cpp
  libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_extract.pass.cpp
  libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/merge.pass.cpp
  libcxx/test/std/containers/unord/unord.multiset/insert_extract.pass.cpp
  libcxx/test/std/containers/unord/unord.multiset/merge.pass.cpp
  libcxx/test/std/containers/unord/unord.set/insert_extract.pass.cpp
  libcxx/test/std/containers/unord/unord.set/merge.pass.cpp
  libcxx/test/support/Counter.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46845.147668.patch
Type: text/x-patch
Size: 134478 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180519/3de18a69/attachment-0001.bin>


More information about the cfe-commits mailing list