https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108213
Bug ID: 108213 Summary: [[noreturn]] cannot be used after static keyword Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jsm28 at gcc dot gnu.org Target Milestone: --- I noticed that in timezone package: $ cat zic.i && gcc-12 zic.i -c static _Noreturn void time_overflow(void) { __builtin_abort (); } $ cat zic.i && gcc-12 zic.i -c static [[noreturn]] void time_overflow(void) { __builtin_abort (); } zic.i:1:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 1 | static [[noreturn]] void | ^~~~~~ zic.i:1:21: error: expected identifier or ‘(’ before ‘void’ 1 | static [[noreturn]] void | ^~~~ Is it really an invalid construction?