[libcxx-commits] [PATCH] D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP]

Christopher Di Bella via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Aug 1 17:14:17 PDT 2021


cjdb requested changes to this revision.
cjdb added a comment.
This revision now requires changes to proceed.

In D107036#2914445 <https://reviews.llvm.org/D107036#2914445>, @Quuxplusone wrote:

> 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?

I'd appreciate it if you could make these dependent PRs to make it easier to review.



================
Comment at: libcxx/include/__concepts/__boolean_testable.h:1
+//===----------------------------------------------------------------------===//
+//
----------------
Please rename this file to `boolean_testable.h`. We decided a while back to not prefix detail headers with underscores.


================
Comment at: libcxx/include/concepts:155-159
 // [concept.derived]
 template<class _Dp, class _Bp>
 concept derived_from =
   is_base_of_v<_Bp, _Dp> &&
   is_convertible_v<const volatile _Dp*, const volatile _Bp*>;
----------------
If you're going to split up `<concepts>`, please entirely split it up. Having some content in `<concepts>` and other stuff in `__concepts` is going to be difficult to track.


================
Comment at: libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp:1
+//===----------------------------------------------------------------------===//
+//
----------------
There are a lot of missing tests for this file. Please reintroduce them.


================
Comment at: libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp:1
+//===----------------------------------------------------------------------===//
+//
----------------
There are a lot of missing tests for this file. Please reintroduce them.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107036



More information about the libcxx-commits mailing list