https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93301
Martin Uecker <muecker at gwdg dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |muecker at gwdg dot de --- Comment #15 from Martin Uecker <muecker at gwdg dot de> --- I do not think the C standard can be read in a way where reading a variable can yield a different value each time (except if the access is UB). For unspecified values it talks about "the value chosen in each instance" not about "the value chosen for each read of a variable". The C standard also takes care to specify the exact time points when a variable takes on an unspecified value (and where a value is chosen in the abstract machine). There was a lot of talk about introducing "wobbly values" but this never led to any changes in the standard. I also do not think this would be a good idea. It is impossible to reason about "wobbly values" and harmless transformations can turn inconsistent assumptions about the value into nonsense.