[libcxx-commits] [PATCH] D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP]
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 6 11:44:25 PDT 2021
Quuxplusone updated this revision to Diff 370947.
Quuxplusone added a comment.
Fix `std::strong_order` for floats, thanks to
https://stackoverflow.com/questions/59348310/how-to-implement-the-totalorder-predicate-for-floating-point-values
https://stackoverflow.com/questions/69068075/what-is-the-purpose-of-if-x-and-y-represent-the-same-floating-point-datum-i
https://quuxplusone.github.io/blog/2021/09/05/float-format/
Add `std::weak_order` and `std::partial_order`; they lack testing.
Drive-by fix some minor stuff.
Still unimplemented: `std::strong_order_fallback` and so on.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107036/new/
https://reviews.llvm.org/D107036
Files:
libcxx/docs/FeatureTestMacroTable.rst
libcxx/docs/Status/Cxx20Papers.csv
libcxx/docs/UsingLibcxx.rst
libcxx/include/CMakeLists.txt
libcxx/include/__bit/bit_cast.h
libcxx/include/__compare/compare_three_way.h
libcxx/include/__compare/partial_order.h
libcxx/include/__compare/strong_order.h
libcxx/include/__compare/weak_order.h
libcxx/include/__memory/pointer_traits.h
libcxx/include/__ranges/data.h
libcxx/include/__ranges/size.h
libcxx/include/__utility/priority_tag.h
libcxx/include/bit
libcxx/include/compare
libcxx/include/functional
libcxx/include/module.modulemap
libcxx/include/utility
libcxx/include/version
libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp
libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp
libcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
libcxx/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp
libcxx/test/std/language.support/cmp/cmp.alg/strong_order.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
libcxx/test/std/library/description/conventions/type.descriptions/customization.point.object/cpo.pass.cpp
libcxx/test/std/numerics/bit/bit.cast/bit_cast.compile.pass.cpp
libcxx/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp
libcxx/test/std/utilities/function.objects/comparisons/compare_three_way.pass.cpp
libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp
libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp
libcxx/utils/generate_feature_test_macro_components.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107036.370947.patch
Type: text/x-patch
Size: 86662 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210906/14bfad38/attachment-0001.bin>
More information about the libcxx-commits
mailing list