[PATCH] C undefined behavior fix
dewar@gnat.com
dewar@gnat.com
Wed Jan 9 12:23:00 GMT 2002
<<So, I would claim that the case is symetric with writing volatiles.
If the standard doesn't make a distinction for write v read, then you
can't and claim that distinction is based in the standard. If you
claim the standard does make a distinction, please point it out, I am
unaware of it.
>>
Well obviously you do not go writing to other variables, but if you have
three variables IN ONE PROGRAM
a
b
c
adjacently allocated, and b is volatile, and a/c are not, then your
argument *so far* would appear to allow a compiler to do an "over-wide"
load for b. If you think otherwise, please prove from standard.
Of course a write is generally not at all symmetrical, since you don't
want a write to be to clobber a and c (yes yes, I know you could still
construct a far out case in which a and b might be stored together, and
indeed that is a legitimate separate discussion).
More information about the Gcc
mailing list