https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110734
Xi Ruoyao <xry111 at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |WAITING --- Comment #14 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- Wait a minute. [[gnu::no_reorder]] is a function or variable attribute, so it's just not intended to be used for an asm statement. Actually it won't work for any statement: int x; int main() { [[gnu::no_reorder]] x += 1; } gives: t.c: In function 'main': t.c:5:9: warning: 'no_reorder' attribute ignored [-Wattributes] 5 | x += 1; | ^ We have "statement attributes" (fallthrough and assume) but the doc is clear that they can only be set on null statements, while asm statements are not null statements. Now to me this is just an invalid PR. Or am I missing something?