aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-09-28 12:39:41 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-09-29 00:33:46 +0100
commitd01f112de4a54db6d2abef836e6dff3a08167389 (patch)
tree5a8668807517fa6ecb79e7c9d68bc53c18863d6c /libcpp
parentfa9bda3ea4315a7285edbc99323e3fa7885cbbb8 (diff)
downloadgcc-d01f112de4a54db6d2abef836e6dff3a08167389.zip
gcc-d01f112de4a54db6d2abef836e6dff3a08167389.tar.gz
gcc-d01f112de4a54db6d2abef836e6dff3a08167389.tar.bz2
libstdc++: Disable volatile-qualified std::bind for C++20
LWG 2487 added a precondition to std::bind for C++17, making volatile-qualified uses undefined. We still support it, but with a deprecated warning. P1065R2 made it explicitly ill-formed for C++20, so we should no longer accept it as deprecated. This implements that change. libstdc++-v3/ChangeLog: * doc/xml/manual/evolution.xml: Document std::bind API changes. * doc/xml/manual/intro.xml: Document LWG 2487 status. * doc/xml/manual/using.xml: Clarify default value of _GLIBCXX_USE_DEPRECATED. * doc/html/*: Regenerate. * include/std/functional (_Bind::operator()(Args&&...) volatile) (_Bind::operator()(Args&&...) const volatile) (_Bind_result::operator()(Args&&...) volatile) (_Bind_result::operator()(Args&&...) const volatile): Replace with deleted overload for C++20 and later. * testsuite/20_util/bind/cv_quals.cc: Check for deprecated warnings in C++17. * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for ill-formed in C++20.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions