https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113153
Bug ID: 113153 Summary: suboptimal error message when using reserved identifier Product: gcc Version: 13.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: michael.kenzel at gmail dot com Target Milestone: --- When using a keyword as the name of an enum, gcc will issue a diagnostic about the enum being "unnamed". This can be very confusing: enum class register { rax, rcx, rdx, rbx }; compiled with -std=c++23 produces error: unnamed scoped enum is not allowed 1 | enum class register {}; | ^~~~~~~~ warning: elaborated-type-specifier for a scoped enum must not use the 'class' keyword 1 | enum class register {}; | ~~~~ ^~~~~ | ----- error: expected identifier before 'register' 1 | enum class register {}; | ^~~~~~~~ error: expected unqualified-id before '{' token 1 | enum class register {}; | ^ https://godbolt.org/z/s1ocevaWe