https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125249
Bug ID: 125249
Summary: GCC rejects valid program with public indirect based
being changed to private
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jlame646 at gmail dot com
Target Milestone: ---
The following valid program is rejected by gcc but accepted by clang, msvc and
edg: https://godbolt.org/z/M7cfdne1b
```
struct A {
int member;
};
struct B : public A {
private:
using A::member;
};
struct C : public B {
using A::member; // #1
};
```
GCC says:
```
<source>:11:14: error: 'int A::member' is private within this context
11 | using A::member; // #1
| ^~~~~~
<source>:7:14: note: declared private here
7 | using A::member;
| ^~~~~~
Compiler returned: 1
```