https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121657
Bug ID: 121657 Summary: wrong parsing of alignas in struct declaration Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hanicka at hanicka dot net Target Milestone: --- Following code fails: ```c++ struct A { constexpr static int z = 4; }; consteval int get() { return A{}.z; } struct alignas(A{}.z) B {}; struct alignas(get()) C {}; ``` with error: ```text <source>:6:17: error: expected ')' before '{' token 6 | struct alignas(A{}.z) B {}; | ~ ^ | ) <source>:6:19: error: expected ';' after struct definition 6 | struct alignas(A{}.z) B {}; | ^ | ; <source>:6:18: error: abstract declarator '<unnamed struct>' used as declaration 6 | struct alignas(A{}.z) B {}; | ^ <source>:6:19: error: expected unqualified-id before '.' token 6 | struct alignas(A{}.z) B {}; | ^ Compiler returned: 1 ``` (link: https://godbolt.org/z/9Tja4oo3E)