gcc/libstdc++-v3
Jonathan Wakely 72459cfd86 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
2019-08-20 22:21:15 +01:00
..
config baseline_symbols.txt: Update. 2019-08-16 14:30:40 +02:00
doc documentation_hacking.xml: doxygen.org is now doxygen.nl. 2019-08-04 13:20:32 +00:00
include PR libstdc++/91371 make std::is_function handle other calling conventions 2019-08-20 22:21:15 +01:00
libsupc++ PR libstdc++/51333 Define recursive_init_error constructor non-inline 2019-07-29 15:27:19 +01:00
po
python Have std::vector printer's iterator return bool for vector<bool> 2019-06-19 23:57:06 +01:00
scripts
src PR libstdc++/90361 add missing macro definition 2019-08-12 17:41:27 +01:00
testsuite PR libstdc++/91371 make std::is_function handle other calling conventions 2019-08-20 22:21:15 +01:00
acinclude.m4 PR libstdc++/91067 fix missing exports for filesystem iterators 2019-07-03 22:06:25 +01:00
aclocal.m4
ChangeLog PR libstdc++/91371 make std::is_function handle other calling conventions 2019-08-20 22:21:15 +01:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
config.h.in PR libstdc++/85494 use rdseed and rand_s in std::random_device 2019-05-29 15:45:35 +01:00
configure PR libstdc++/91067 fix missing exports for filesystem iterators 2019-07-03 22:06:25 +01:00
configure.ac Fix libstdc++ install-pdf support. 2019-07-01 19:30:52 -07:00
configure.host
crossconfig.m4
fragment.am
linkage.m4
Makefile.am
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.