[all-commits] [llvm/llvm-project] bf20a0: [libc++] [P1614] Implement the second half of [cmp...

Quuxplusone via All-commits all-commits at lists.llvm.org
Thu Jan 27 15:10:50 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf20a09790cb2e5194f3f008ec1f2edbd4e2f709
      https://github.com/llvm/llvm-project/commit/bf20a09790cb2e5194f3f008ec1f2edbd4e2f709
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/docs/Status/Spaceship.rst
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__compare/compare_partial_order_fallback.h
    A libcxx/include/__compare/compare_strong_order_fallback.h
    A libcxx/include/__compare/compare_weak_order_fallback.h
    M libcxx/include/compare
    M libcxx/include/module.modulemap
    A libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp
    A libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp
    A libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp
    A libcxx/test/std/language.support/cmp/cmp.alg/compare_partial_order_fallback.pass.cpp
    A libcxx/test/std/language.support/cmp/cmp.alg/compare_strong_order_fallback.pass.cpp
    A libcxx/test/std/language.support/cmp/cmp.alg/compare_weak_order_fallback.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp

  Log Message:
  -----------
  [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback.

The tests for these are just copy-pasted from the tests for std::{strong,weak,partial}_order,
and then I added an extra clause in each (test_2()) to test the stuff that's not just the same
as std::*_order.

This also includes the fix for https://wg21.link/LWG3465 (which falls naturally out of the
"you must write it three times" style, but I've added test cases for it also).

There is an action item here to go back and give good diagnostics for SFINAE failures
in these CPOs. I've filed this as https://github.com/llvm/llvm-project/issues/53456 .

Differential Revision: https://reviews.llvm.org/D111514




More information about the All-commits mailing list