[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
Thu Jul 29 12:58:00 PDT 2021


Quuxplusone updated this revision to Diff 362854.
Quuxplusone added a comment.

Has tests now.
`std::strong_order` still doesn't compare NaNs correctly; we may need a domain expert for this.
Everything up to `strong_order` is probably ready to upload separately for review:

- [libc++][modularisation] Split up <concepts> into granular headers.
- [libc++] [p1614] Implement std::compare_three_way_result.
- [libc++] [p1614] Implement std::three_way_comparable.
- [libc++] [p1614] Implement std::compare_three_way.

@ldionne: Do you want the above as four PRs, one PR, or something in between?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107036/new/

https://reviews.llvm.org/D107036

Files:
  libcxx/include/CMakeLists.txt
  libcxx/include/__compare/cmp_alg.h
  libcxx/include/__compare/compare_three_way.h
  libcxx/include/__compare/compare_three_way_result.h
  libcxx/include/__compare/three_way_comparable.h
  libcxx/include/__concepts/__boolean_testable.h
  libcxx/include/__concepts/common_reference_with.h
  libcxx/include/__concepts/convertible_to.h
  libcxx/include/__concepts/equality_comparable.h
  libcxx/include/__concepts/same_as.h
  libcxx/include/__concepts/totally_ordered.h
  libcxx/include/__utility/__priority_tag.h
  libcxx/include/compare
  libcxx/include/concepts
  libcxx/include/functional
  libcxx/include/module.modulemap
  libcxx/test/libcxx/diagnostics/detail.headers/compare/cmp_alg.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/__boolean_testable.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp
  libcxx/test/libcxx/diagnostics/detail.headers/utility/__priority_tag.module.verify.cpp
  libcxx/test/std/language.support/cmp/cmp.alg/strong_order.pass.cpp
  libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
  libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp
  libcxx/test/std/language.support/cmp/cmp.result/compare_three_way_result.compile.pass.cpp
  libcxx/test/std/library/description/conventions/type.descriptions/customization.point.object/cpo.pass.cpp
  libcxx/test/std/utilities/function.objects/comparisons/compare_three_way.pass.cpp
  libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107036.362854.patch
Type: text/x-patch
Size: 69146 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210729/4cf7ea5b/attachment-0001.bin>


More information about the libcxx-commits mailing list