[all-commits] [llvm/llvm-project] ff84c6: [libc++] [ranges] Fix LWG3470 "convertible-to-non-...

Quuxplusone via All-commits all-commits at lists.llvm.org
Wed Jan 26 16:37:55 PST 2022


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

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/include/__ranges/subrange.h
    A libcxx/test/std/ranges/range.utility/range.subrange/lwg3470.pass.cpp

  Log Message:
  -----------
  [libc++] [ranges] Fix LWG3470 "convertible-to-non-slicing seems to reject valid case"

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


  Commit: 16031cbf2bb1662f3b457e537d3e2d84a21adc7c
      https://github.com/llvm/llvm-project/commit/16031cbf2bb1662f3b457e537d3e2d84a21adc7c
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/include/__concepts/convertible_to.h

  Log Message:
  -----------
  [libc++] Fix LWG3557 "static_cast expression in convertible_to has the wrong operand"

https://cplusplus.github.io/LWG/issue3557
I think the code change is unobservable, so we could just close this as
"Nothing To Do" instead; but it seems appropriate to follow the Standard's
wording here as closely as possible.

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


  Commit: c99a585399381dd7d7391d2d93e9a2cbdf59d955
      https://github.com/llvm/llvm-project/commit/c99a585399381dd7d7391d2d93e9a2cbdf59d955
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.compile.fail.cpp
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.compile.fail.cpp

  Log Message:
  -----------
  [libc++] Make C++03 reference_wrapper more like C++11.

Remove a bunch of LIBCPP_CXX03_LANG. This is the result of a
rabbithole to re-eliminate the workaround I introduced into
std::cref in D117953. It turns out that Clang's C++03 mode
(the only compiler we care about C++03 for) now supports all
the things we were originally eschewing via LIBCPP_CXX03_LANG;
we can fully support these reference_wrapper features in
C++03 mode, and un-XFAIL the relevant tests.

Drive-by constexprify a few more tests.

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


Compare: https://github.com/llvm/llvm-project/compare/98fa46f870e4...c99a58539938


More information about the All-commits mailing list