[libcxx-commits] [PATCH] D117974: [libc++] Make C++03 reference_wrapper more like C++11.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jan 22 16:49:17 PST 2022


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, philnik, libc++.
Quuxplusone added a project: libc++.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

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 parent revision D117953 <https://reviews.llvm.org/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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D117974

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117974.402272.patch
Type: text/x-patch
Size: 8137 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220123/befc22f6/attachment-0001.bin>


More information about the libcxx-commits mailing list