[cpp-threads] memory model

Nelson, Clark clark.nelson at intel.com
Thu Apr 28 16:33:30 BST 2005


> > This is the source of my discomfort with the idea of 
> allowing threads to
> > interact through non-volatile objects. Today, there are two 
> classes of
> > side effects: observable/external (to volatile objects) and
> > "unobservable"/internal (all other). If we make all assignments
> > observable, then what latitude is left for optimizers?
> <snip>
> 
> No-one's advocating that.

I didn't say they were. The question was reductio ad absurdum, intended
to point out that the proposal effectively introduces a new category of
side effect, without mentioning the fact, and without defining how the
new category is defined or recognized.

As I said in my original message, the important thing is to draw the
line. Has anyone a proposal on where or how to draw it, in terms that
could eventually be translated into standardese? I'll be happy to help
with the translation, but there has to be something to translate first.

-- 
Clark Nelson		Vice chair, J16 (ANSI C++ standard committee)
Intel Corporation
clark.nelson at intel.com




More information about the cpp-threads mailing list