gcc/libstdc++-v3/testsuite/experimental
Jonathan Wakely 7dbab5dc84 PR libstdc++/90220 fix experimental::any_cast for non-object types
This corresponds to the fixes done for std::any_cast, but has to be done
without if-constexpr. The dummy specialization of _Manager_internal<_Op>
is used to avoid instantiating the real _Manager_internal<T>::_S_manage
function just to compare its address.

	PR libstdc++/90220
	* include/experimental/any (__any_caster): Constrain to only be
	callable for object types. Use remove_cv_t instead of decay_t.
	If the type decays or isn't copy constructible, compare the manager
	function to a dummy specialization.
	(__any_caster): Add overload constrained for non-object types.
	(any::_Manager_internal<_Op>): Add dummy specialization.
	* testsuite/experimental/any/misc/any_cast.cc: Test function types
	and array types.

From-SVN: r271556
2019-05-23 14:39:06 +01:00
..
algorithm Update copyright years. 2019-01-01 13:31:55 +01:00
any PR libstdc++/90220 fix experimental::any_cast for non-object types 2019-05-23 14:39:06 +01:00
array Improve docs for Library Fundamentals TS 2019-05-02 16:46:29 +01:00
chrono Update copyright years. 2019-01-01 13:31:55 +01:00
deque Update copyright years. 2019-01-01 13:31:55 +01:00
filesystem PR libstdc++/90454.cc path construction from void* 2019-05-13 21:12:06 +01:00
forward_list Update copyright years. 2019-01-01 13:31:55 +01:00
functional Update copyright years. 2019-01-01 13:31:55 +01:00
iterator Update copyright years. 2019-01-01 13:31:55 +01:00
list Update copyright years. 2019-01-01 13:31:55 +01:00
map Update copyright years. 2019-01-01 13:31:55 +01:00
memory PR c++/90047 - ICE with enable_if alias template. 2019-04-17 23:32:24 -04:00
memory_resource PR libstdc++/77691 fix resource_adaptor failures due to max_align_t bugs 2019-05-22 21:29:39 +01:00
net re PR libstdc++/89461 (FAIL: experimental/net/timer/waitable/cons.cc) 2019-03-12 23:13:36 +00:00
numeric Update copyright years. 2019-01-01 13:31:55 +01:00
optional Remove redundant __constexpr_addressof function 2019-05-02 22:23:35 +01:00
polymorphic_allocator P0482R5 char8_t: Updates to existing standard library tests 2019-02-22 01:16:08 +00:00
propagate_const Improve docs for Library Fundamentals TS 2019-05-02 16:46:29 +01:00
random Update copyright years. 2019-01-01 13:31:55 +01:00
ratio Update copyright years. 2019-01-01 13:31:55 +01:00
set Update copyright years. 2019-01-01 13:31:55 +01:00
source_location Update copyright years. 2019-01-01 13:31:55 +01:00
string Update copyright years. 2019-01-01 13:31:55 +01:00
string_view Fix basic_string_view typedefs and enforce preconditions 2019-04-24 16:17:53 +01:00
system_error Update copyright years. 2019-01-01 13:31:55 +01:00
tuple Update copyright years. 2019-01-01 13:31:55 +01:00
type_erased_allocator Update copyright years. 2019-01-01 13:31:55 +01:00
type_traits nonesuch is insufficiently useless (lwg2996) 2019-05-14 16:48:27 +01:00
unordered_map Update copyright years. 2019-01-01 13:31:55 +01:00
unordered_set Update copyright years. 2019-01-01 13:31:55 +01:00
vector Update copyright years. 2019-01-01 13:31:55 +01:00
feat-char8_t.cc Add L suffix to __cpp_lib_char8_t value 2019-03-06 12:13:19 +00:00
feat-cxx14.cc Use dg-do preprocess instead of compile for tests 2016-08-23 11:13:31 +01:00
feat-lib-fund.cc Use dg-do preprocess instead of compile for tests 2016-08-23 11:13:31 +01:00
names.cc Fix test failure due to Networking TS headers using mutexes 2019-05-20 21:21:15 +01:00