https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99797
--- Comment #3 from Martin Uecker <muecker at gwdg dot de> --- The C standard says (6.3.2.1p2) "... If the lvalue designates an object of automatic storage duration that could have been declared with the register storage class (never had its address taken), and that object is uninitialized (not declared with an initializer and no assignment to it has been performed prior to use), the behavior is undefined."