volatile isn't necessary, but it's there

Charley Wingate mangoe at mimsy.UUCP
Mon Apr 11 08:10:36 AEST 1988


There seems to be a spurious issue over portability here.  It would seem to
me to be foolish to set up a standard only in the interests of portability,
as though the language so standardized would not still be used in situations
where there is no issue of portability.

In any case, I have problems with Doug's notion of simplicity, because it is
not the only such model which "makes sense."  His model appears to be highly
operational; I intuit that his view is along the lines of "`a<-b' means
 `pick up value from b and put it in a'".  But there are other models, and
in particular, the one that matters is the one in which a concurrent program
is more complex than one which is a single process.  Why?  Because this
model is the one which concerns itself about "what is happening."
Optimizers have to have information given them to tell them when they can
rely on a simple semantic model of computation, and when they have to fall
back to a purely operational model whose semantics are much more complex.
Pre-standard, this notion is hidden outside the code, in optimization flags.

C. Wingate



More information about the Comp.lang.c mailing list