https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124298
Bug ID: 124298
Summary: Accepts invalid namespace alias redeclaration
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: suyuchang at whu dot edu.cn
Target Milestone: ---
The code first defines a namespace X0 and then attempts to redeclare X0 as a
namespace alias. Clang rejects it, while GCC accepts it.
Code:
namespace X0 { } namespace X0 = X0 ;
Command:
clang++ test.cpp
<source>:1:28: error: redefinition of 'X0'
1 | namespace X0 { } namespace X0 = X0 ;
| ^
<source>:1:11: note: previous definition is here
1 | namespace X0 { } namespace X0 = X0 ;
| ^
1 error generated.
See Compiler Explorer:https://godbolt.org/z/MYYeefPb1
The test case was generated by a fuzzer.