[PATCH] D30045: Remove `std::random_shuffle` in C++17

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 16 07:13:02 PST 2017


mclow.lists created this revision.

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190  removed `random_shuffle` from C++1z. (and other stuff)

Wrap all the random_shuffle bits in an #ifdef so they disappear when compiling with `-std=c++1z` or later.

Introduce a new configuration option, `_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE` which allows user code to continue using `random_shuffle` in C++1z mode if desired.

Add a test for `_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE`, and mark all the rest of the `random_shuffle` tests to XFAIL for c++1z


https://reviews.llvm.org/D30045

Files:
  include/algorithm
  test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
  test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
  test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30045.88728.patch
Type: text/x-patch
Size: 4235 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170216/7e7cf7e9/attachment.bin>


More information about the cfe-commits mailing list