gcc/gcc/cp
Jason Merrill c1e54c82a9 c++: partial ordering of object parameter [PR53499]
Looks like we implemented option 1 (skip the object parameter) for CWG532
before the issue was resolved, and never updated to the final resolution of
option 2 (model it as a reference).  More recently CWG2445 extended this
handling to static member functions; I think that's wrong, and have
opened CWG2834 to address that and how explicit object member functions
interact with it.

The FIXME comments are to guide how the explicit object member function
support should change the uses of DECL_NONSTATIC_MEMBER_FUNCTION_P.

The library testsuite changes are to make partial ordering work again
between the generic operator- in the testcase and
_Pointer_adapter::operator-.

	DR 532
	PR c++/53499

gcc/cp/ChangeLog:

	* pt.cc (more_specialized_fn): Fix object parameter handling.

gcc/testsuite/ChangeLog:

	* g++.dg/template/partial-order4.C: New test.
	* g++.dg/template/spec26.C: Adjust for CWG532.

libstdc++-v3/ChangeLog:

	* testsuite/23_containers/vector/ext_pointer/types/1.cc
	* testsuite/23_containers/vector/ext_pointer/types/2.cc
	(N::operator-): Make less specialized.
2023-12-06 09:02:01 -05:00
..
call.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
cfns.gperf
cfns.h
ChangeLog Daily bump. 2023-12-06 00:17:50 +00:00
ChangeLog-1993
ChangeLog-1994
ChangeLog-1995
ChangeLog-1996
ChangeLog-1997
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
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021
ChangeLog-2022
ChangeLog.ptr
ChangeLog.tree-ssa
class.cc call maybe_return_this in build_clone 2023-11-29 04:00:35 -03:00
config-lang.in
constexpr.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
constraint.cc c++: mangle function template constraints 2023-12-01 16:08:25 -05:00
contracts.cc c++: for contracts, cdtors never return this 2023-11-29 04:00:28 -03:00
contracts.h
coroutines.cc c++: remove NON_DEPENDENT_EXPR, part 2 2023-10-20 10:47:07 -04:00
cp-gimplify.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
cp-lang.cc c-family: Implement __has_feature and __has_extension [PR60512] 2023-11-27 10:42:55 +00:00
cp-name-hint.h c++: provide #include hint for missing includes [PR110164] 2023-06-23 17:56:14 -04:00
cp-objcp-common.cc c++: Fix up __has_extension (cxx_init_captures) 2023-11-28 18:25:14 +01:00
cp-objcp-common.h Allow target attributes in non-gnu namespaces 2023-12-02 13:49:52 +00:00
cp-trait.def c++: Define built-in for std::tuple_element [PR100157] 2023-04-19 15:36:34 -04:00
cp-tree.def c++: remove LAMBDA_EXPR_MUTABLE_P 2023-11-29 23:55:55 -05:00
cp-tree.h c++: Further #pragma GCC unroll C++ fix [PR112795] 2023-12-05 22:54:08 +01:00
cp-ubsan.cc
cvt.cc c++: remove NON_DEPENDENT_EXPR, part 1 2023-10-20 10:45:00 -04:00
cxx-pretty-print.cc c++: remove NON_DEPENDENT_EXPR, part 1 2023-10-20 10:45:00 -04:00
cxx-pretty-print.h
cxxapi-data.csv
decl2.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
decl.cc c++: Implement C++26 P2169R4 - Placeholder variables with no name [PR110349] 2023-11-30 09:09:21 +01:00
decl.h
dump.cc
error.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
except.cc diagnostics: convert diagnostic_context to a class 2023-11-03 21:46:47 -04:00
expr.cc c++: remove NON_DEPENDENT_EXPR, part 1 2023-10-20 10:45:00 -04:00
friend.cc c++: over-eager friend matching [PR109649] 2023-05-03 15:24:52 -04:00
g++spec.cc
gen-cxxapi-file.py
init.cc c++: another build_new_1 folding fix [PR111929] 2023-10-27 11:31:02 -04:00
lambda.cc c++: Implement C++26 P2169R4 - Placeholder variables with no name [PR110349] 2023-11-30 09:09:21 +01:00
lang-specs.h Fix driver/33980: Precompiled header file not removed on error 2023-05-19 17:58:54 +00:00
lex.cc
logic.cc
Make-lang.in Remove .PHONY targets when building .fda files during autoprofiledbootstrap 2023-09-29 18:13:03 -07:00
mangle.cc c++: mangling for CTAD placeholder 2023-12-01 16:08:35 -05:00
mapper-client.cc libcpp: split decls out to rich-location.h 2023-11-19 06:26:40 -05:00
mapper-client.h c++modules: report module mapper files as a dependency 2023-09-19 17:32:23 -04:00
mapper-resolver.cc
method.cc c++: extend cold, hot attributes to classes 2023-09-19 15:03:28 -04:00
module.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
name-lookup.cc c++: Implement C++26 P2169R4 - Placeholder variables with no name [PR110349] 2023-11-30 09:09:21 +01:00
name-lookup.h c++: Diagnose [basic.scope.block]/2 violations even in compound-stmt of function-try-block [PR52953] 2023-09-05 17:26:59 +02:00
operators.def
optimize.cc c++: inherited constructor attributes 2023-06-28 00:42:12 -04:00
parser.cc c++: Further #pragma GCC unroll C++ fix [PR112795] 2023-12-05 22:54:08 +01:00
parser.h openmp: Add support for omp::directive and omp::sequence attributes in C2X 2023-11-04 09:09:08 +01:00
pt.cc c++: partial ordering of object parameter [PR53499] 2023-12-06 09:02:01 -05:00
ptree.cc c++: remove LAMBDA_EXPR_MUTABLE_P 2023-11-29 23:55:55 -05:00
rtti.cc c++: Fix up ICE in emit_support_tinfo_1 [PR109042] 2023-03-07 16:28:20 +01:00
search.cc c++: Implement C++26 P2169R4 - Placeholder variables with no name [PR110349] 2023-11-30 09:09:21 +01:00
semantics.cc c++: Further #pragma GCC unroll C++ fix [PR112795] 2023-12-05 22:54:08 +01:00
std-name-hint.gperf
std-name-hint.h
tree.cc Restore build with GCC 4.8 to GCC 5 2023-12-05 17:53:50 +00:00
type-utils.h
typeck2.cc c++: non-dependent .* operand folding [PR112427] 2023-11-15 12:10:16 -05:00
typeck.cc c++: implement P2564, consteval needs to propagate up [PR107687] 2023-12-04 19:42:09 -05:00
vtable-class-hierarchy.cc