https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108968
Andrew Cooper <andrew.cooper3 at citrix dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|analyzer |c --- Comment #4 from Andrew Cooper <andrew.cooper3 at citrix dot com> --- (In reply to Andreas Schwab from comment #3) > Perhaps it works if you declare the register variable in file scope. Huh. I honestly expected that not to compile, but it appears to, and it appears to work. There is minor perturbation in the build, but as far as I can see, it's just slightly different register/instruction scheduling. Why does being at global scope change the diagnostic?