This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Top-Secret, Confidential Compiler-Project Information Below!!


craig@jcb-sc.com wrote:
 
> > ...and Paul Derbyshire wrote:
> >I don't think so. How the hell else can you write C code that works with
> >data that changes asynchronously, e.g. because of multiple threads or
> >because of hardware or interrupts or signal handlers or...
> 
> I was referring to the *linguistic* aspects of `volatile' there,
> not the underlying semantics vis-a-vis the abstract machine model.
> 

Well, to quote someone who probably knows:

>      Let me begin by saying that I'm not convinced that even
> the pre-December qualifiers (`const' and `volatile') carry
> their weight; I suspect that what they add to the cost of
> learning and using the language is not repaid in greater
> expressiveness.  `Volatile,' in particular, is a frill for
> esoteric applications, and much better expressed by other
> means.  Its chief virtue is that nearly everyone can forget
> about it. 
>
>                                 Dennis Ritchie

quoted from dmr's original response to X3J11 - well worth reading.

What more needs to be said?

> Then I suggest you all do your best to keep the complexity of gcc
> *down* by limiting the addition of new extensions, clearly documenting
> existing ones to offer a bare minimum of promised semantics, and
> consistently informing your users that they shouldn't rely on
> their code always behaving the way it does, so they can someday
> use this new product, on new hardware, without having to make lots
> of changes to their code and/or having it fail in subtle ways.

Well, this would be a good idea anyway.


-r

-- 
Roger Fujii <rmf@lookhere.com>     Phone: (703)280-1243
Underemployed, and trying to keep it that way....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]