[PATCH] C undefined behavior fix

mike stump mrs@windriver.com
Sun Jan 6 10:21:00 GMT 2002


> From: dewar@gnat.com
> To: dewar@gnat.com, paulus@samba.org
> Date: Sun,  6 Jan 2002 08:05:56 -0500 (EST)

> If you have a memory mapped byte, you really want a way of saying
> "when I read this byte, do a byte read, it will not work to do a
> word read"

> (volatile gets close in C, but is not close enough) will ensure a
> byte store in practice, but may not ensure byte reads.

?  Do you have an example where this fails?  Do you not consider it a
bug?  Now, I would place a fair amount of buren on the compiler to get
it right, though, this isn't absolute.  For example, eieieio or
whatever it is called on the powerpc.  I think the chip/OS/MMU must
bear some responsibility for meeting its obligations to the compiler,
and if it doesn't, then that chip/OS/MMU fails to provide a reasonable
base on which to provide the compiler.  Did you have this case in
mind?



More information about the Gcc mailing list