https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120267
Bug ID: 120267
Summary: incorrectly ambiguous lookup depending on base class
order
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: herring at lanl dot gov
Target Milestone: ---
GCC incorrectly diagnoses D2::c as ambiguous in the following
<https://godbolt.org/z/Wdhb56Mev>:
struct I {using c=int;};
struct F {using c=float;};
struct both : F,I {using F::c;};
struct F2 : F {}; // just to avoid warnings
struct D1 : both,F2 {};
struct D2 : F2,both {};
D1::c x1;
D2::c x2;
Obviously the order of base classes isn't supposed to enter in these
considerations.