gcc/libstdc++-v3/libsupc++
Jonathan Wakely dddd011113 libstdc++: Implement LWG 3530 for concept-constrained comparisons
The proposed resolution for this library issue simplifies the
constraints for compare_three_way, ranges::equal_to, ranges::less etc.
so that they do not work with types which are convertible to pointers
but which fail to meet the usual syntactic requirements for the
comparisons.

This affects the example in PR libstdc++/93628 but doesn't fix the
problem described in that report.

libstdc++-v3/ChangeLog:

	* include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
	(ranges::equal_to, ranges::not_equal_to): Do not constrain
	with __eq_builtin_ptr_cmp.
	(ranges::less, ranges::greater, ranges::less_equal)
	(ranges::greater_equal): Do not constrain with
	__less_builtin_ptr_cmp.
	* libsupc++/compare (compare_three_way): Do not constrain with
	__3way_builtin_ptr_cmp.
	* testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
	* testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
	* testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
2021-03-10 15:27:06 +00:00
..
array_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
atexit_arm.cc Update copyright years. 2021-01-04 10:26:59 +01:00
atexit_thread.cc Update copyright years. 2021-01-04 10:26:59 +01:00
atomic_lockfree_defines.h Update copyright years. 2021-01-04 10:26:59 +01:00
bad_alloc.cc Update copyright years. 2021-01-04 10:26:59 +01:00
bad_array_length.cc Update copyright years. 2021-01-04 10:26:59 +01:00
bad_array_new.cc Update copyright years. 2021-01-04 10:26:59 +01:00
bad_cast.cc Update copyright years. 2021-01-04 10:26:59 +01:00
bad_typeid.cc Update copyright years. 2021-01-04 10:26:59 +01:00
class_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
compare libstdc++: Implement LWG 3530 for concept-constrained comparisons 2021-03-10 15:27:06 +00:00
cxxabi_forced.h Update copyright years. 2021-01-04 10:26:59 +01:00
cxxabi_init_exception.h Update copyright years. 2021-01-04 10:26:59 +01:00
cxxabi.h Update copyright years. 2021-01-04 10:26:59 +01:00
del_op.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opa.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opant.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opnt.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_ops.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opsa.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opv.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opva.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opvant.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opvnt.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opvs.cc Update copyright years. 2021-01-04 10:26:59 +01:00
del_opvsa.cc Update copyright years. 2021-01-04 10:26:59 +01:00
dyncast.cc PR c++/99074 - crash in dynamic_cast<>() on null pointer 2021-02-23 14:14:20 -07:00
eh_alloc.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_arm.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_atomics.h Update copyright years. 2021-01-04 10:26:59 +01:00
eh_aux_runtime.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_call.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_catch.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_exception.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_globals.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_personality.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_ptr.cc libstdc++: Fix versioned namespace build 2021-02-11 17:28:16 +00:00
eh_term_handler.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_term_handler.h Update copyright years. 2021-01-04 10:26:59 +01:00
eh_terminate.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_throw.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_tm.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_type.cc Update copyright years. 2021-01-04 10:26:59 +01:00
eh_unex_handler.cc Update copyright years. 2021-01-04 10:26:59 +01:00
enum_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
exception Update copyright years. 2021-01-04 10:26:59 +01:00
exception_defines.h Update copyright years. 2021-01-04 10:26:59 +01:00
exception_ptr.h libstdc++: Fix versioned namespace build 2021-02-11 17:28:16 +00:00
exception.h Update copyright years. 2021-01-04 10:26:59 +01:00
function_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
fundamental_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
guard_error.cc Update copyright years. 2021-01-04 10:26:59 +01:00
guard.cc Update copyright years. 2021-01-04 10:26:59 +01:00
hash_bytes.cc Update copyright years. 2021-01-04 10:26:59 +01:00
hash_bytes.h Update copyright years. 2021-01-04 10:26:59 +01:00
initializer_list Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.am Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.in libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
nested_exception.cc Update copyright years. 2021-01-04 10:26:59 +01:00
nested_exception.h Update copyright years. 2021-01-04 10:26:59 +01:00
new Update copyright years. 2021-01-04 10:26:59 +01:00
new_handler.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_op.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opa.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opant.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opnt.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opv.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opva.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opvant.cc Update copyright years. 2021-01-04 10:26:59 +01:00
new_opvnt.cc Update copyright years. 2021-01-04 10:26:59 +01:00
pbase_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
pmem_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
pointer_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
pure.cc Update copyright years. 2021-01-04 10:26:59 +01:00
si_class_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
tinfo2.cc Update copyright years. 2021-01-04 10:26:59 +01:00
tinfo.cc Update copyright years. 2021-01-04 10:26:59 +01:00
tinfo.h Update copyright years. 2021-01-04 10:26:59 +01:00
typeinfo Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-cxx.h Update copyright years. 2021-01-04 10:26:59 +01:00
vec.cc Update copyright years. 2021-01-04 10:26:59 +01:00
vmi_class_type_info.cc Update copyright years. 2021-01-04 10:26:59 +01:00
vterminate.cc Update copyright years. 2021-01-04 10:26:59 +01:00
vtv_stubs.cc Update copyright years. 2021-01-04 10:26:59 +01:00