aboutsummaryrefslogtreecommitdiff
path: root/compile
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-08-20 22:21:15 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-08-20 22:21:15 +0100
commit72459cfd86389ead7ce0cdd09a3d272684105874 (patch)
treebba28d22e9f22b7aae5f3c05b6f90681faa83426 /compile
parent43055d2379cfb1b5b1b09e243a9829e52e12b60a (diff)
downloadgcc-72459cfd86389ead7ce0cdd09a3d272684105874.zip
gcc-72459cfd86389ead7ce0cdd09a3d272684105874.tar.gz
gcc-72459cfd86389ead7ce0cdd09a3d272684105874.tar.bz2
PR libstdc++/91371 make std::is_function handle other calling conventions
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
Diffstat (limited to 'compile')
0 files changed, 0 insertions, 0 deletions