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

Eric Fiselier via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 16 19:45:41 PST 2017


EricWF added a comment.

@mclow.lists A couple of additional things:

- Add `_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE` to the `_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES` list in `__config`.
- Add a test for that in `test/libcxx/depr/enable_removed_cpp17_features.pass.cpp`



================
Comment at: include/algorithm:3029
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
 class _LIBCPP_TYPE_VIS __rs_default;
----------------
EricWF wrote:
> We should still expose these when building the library using `|| defined(_LIBCPP_BUILDING_LIBRARY)`.
This is specifically needed in this case because the definitions for symbols exist in the `dylib` and must be declared when compiling it.


https://reviews.llvm.org/D30045





More information about the cfe-commits mailing list