This is an archive of the discontinued LLVM Phabricator instance.

Remove the binders `bind1st`, `bind2nd`,`men_fun`, etc from C++17
ClosedPublic

Authored by mclow.lists on Apr 6 2017, 9:23 AM.

Details

Reviewers
EricWF
Summary

As proposed in http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190

I'm leaving unary_function and binary_function in place until I can figure out a non-ABI breaking way to remove them.

To get them back in C++17, you can -D _LIBCPP_ENABLE_CXX17_REMOVED_BINDERS on the command line.

Diff Detail

Event Timeline

mclow.lists created this revision.Apr 6 2017, 9:23 AM
EricWF accepted this revision.Apr 12 2017, 10:27 PM

The .fail.cpp tests should use // UNSUPPORTED: c++98, c++03, c++11, c++14 instead of #error .

Other than that this LGTM.

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun.cxx1z.fail.cpp
21

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1.cxx1z.fail.cpp
21

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_ref_t.cxx1z.fail.cpp
20

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_t.cxx1z.fail.cpp
20

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref.cxx1z.fail.cpp
21

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref_t.cxx1z.fail.cpp
20

// UNSUPPORTED: c++98, c++03, c++11, c++14

test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_t.cxx1z.fail.cpp
20

// UNSUPPORTED: c++98, c++03, c++11, c++14

This revision is now accepted and ready to land.Apr 12 2017, 10:27 PM
mclow.lists closed this revision.Apr 13 2017, 11:38 AM

committed as revision 300232