Re: [PATCH 1/2] c++: CWG 2273 and non-constructors

2024-09-20 Thread Jason Merrill
amp;& DECL_CONSTRUCTOR_P (cand2->fn)) Here's v2 which refines this condition to check DECL_INHERITED_CTOR instead. No functional change, but this more narrow condition seems cleaner. OK. -- >8 -- Subject: [PATCH 1/2] c++: CWG 2273 and non-constructors Our implementation of the CWG

Re: [PATCH 1/2] c++: CWG 2273 and non-constructors

2024-09-20 Thread Patrick Palka
the same type (CWG 2273/2277). */ > + if (DECL_P (cand1->fn) && DECL_CONSTRUCTOR_P (cand1->fn) > + && DECL_P (cand2->fn) && DECL_CONSTRUCTOR_P (cand2->fn)) Here's v2 which refines this condition to check DECL_INHERITED_CTOR instead. No funct

[PATCH 1/2] c++: CWG 2273 and non-constructors

2024-09-18 Thread Patrick Palka
Our implementation of the CWG 2273 inheritedness tiebreaker seems to be incorrectly considering all inherited members, not just inherited constructors. This patch restricts the tiebreaker accordingly. DR 2273 gcc/cp/ChangeLog: * call.cc (joust): Restrict inheritedness tiebreaker