The x86 attributes such as ms_abi, stdcall, fastcall etc. alter the function type, which means that functions with one of those attributes do not match any of the partial specializations of std::is_function. Rather than duplicating the list for every calling convention, use a much simpler definition of std::is_function. Also redefine __is_referenceable to not rely on partial specializations for each type of referenceable function. PR libstdc++/91371 * include/std/type_traits (is_function): Simplify definition. Remove partial specializations for function types. (__is_referenceable): Simplify definition. * testsuite/20_util/bind/91371.cc: New test. * testsuite/20_util/is_function/91371.cc: New test. * testsuite/20_util/is_function/value.cc: Check more pointer types. * testsuite/20_util/is_member_function_pointer/91371.cc: New test. * testsuite/20_util/is_object/91371.cc: New test. From-SVN: r274756
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
35569.cc | Loading commit data... | |
38889.cc | Loading commit data... | |
42593.cc | Loading commit data... | |
45924.cc | Loading commit data... | |
48698.cc | Loading commit data... | |
49058_1.cc | Loading commit data... | |
49058_2.cc | Loading commit data... | |
57899.cc | Loading commit data... | |
60497.cc | Loading commit data... | |
68912.cc | Loading commit data... | |
79798.cc | Loading commit data... | |
83427.cc | Loading commit data... | |
91371.cc | Loading commit data... | |
all_bound.cc | Loading commit data... | |
conv_result.cc | Loading commit data... | |
cv_quals.cc | Loading commit data... | |
cv_quals_2.cc | Loading commit data... | |
cv_quals_3.cc | Loading commit data... | |
is_placeholder_v.cc | Loading commit data... | |
move.cc | Loading commit data... | |
nested.cc | Loading commit data... | |
placeholders.cc | Loading commit data... | |
ref.cc | Loading commit data... | |
ref2.cc | Loading commit data... | |
ref_neg.cc | Loading commit data... | |
refqual.cc | Loading commit data... | |
socket.cc | Loading commit data... |