aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-12-14 17:18:22 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2017-12-14 17:18:22 +0000
commit00677c48777bca36afe6fcddd380d004959998a3 (patch)
tree92c8339eeda08ec4c2912c57f9aeb729e4d729e7 /gcc
parentdb811328e004b0d97d25187dc985184c260955ee (diff)
downloadgcc-00677c48777bca36afe6fcddd380d004959998a3.zip
gcc-00677c48777bca36afe6fcddd380d004959998a3.tar.gz
gcc-00677c48777bca36afe6fcddd380d004959998a3.tar.bz2
PR libstdc++/83427 detect weak result type from noexcept functions
PR libstdc++/83427 * include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here from <bits/std_function.h>. (_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>. (_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept for function types. Remove partial specializations for member functions. (_Weak_result_type_impl): Remove unused partial specializations for non-referenceable function types and for references to functions. (_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New helpers to handle member functions via _Mem_fn_traits. (_Weak_result_type, reference_wrapper): Derive from new helpers. * include/bits/std_function.h (_Maybe_unary_or_binary_function): Move to <bits/refwrap.h>. * include/std/functional (_Pack, _AllConvertible, _NotSame): Remove. (_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>. * testsuite/20_util/bind/83427.cc: New test. * testsuite/20_util/bind/refqual.cc: Add noexcept to functions and check for weak result types. * testsuite/20_util/reference_wrapper/83427.cc: New test. From-SVN: r255651
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions