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.

Reply via email to