https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71885
--- Comment #8 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- See Initializers 8.6.12: When storage for an object with automatic or dynamic storage duration is obtained, the object has an indeterminate value, and if no initialization is performed for the object, that object retains an indeterminate value until that value is replaced (5.17). [ Note: Objects with static or thread storage duration are zero-initialized, see 3.6.2. — end note ] If an indeterminate value is produced by an evaluation, the behavior is undefined...