friedl@vsi.UUCP (Stephen J. Friedl) (04/02/88)
In article <311@aiva.ed.ac.uk>, richard@aiva.ed.ac.uk (Richard Tobin) writes: > [ talking here about #pragma volatile(foo) ] > It's true that any particular instance of the use of such constructs > isn't portable, but the concept behind it is. That is, of course code that > manipulates a memory-mapped device register (or similar) won't run on > different machines, but that doesn't mean that it's unreasonable to have > a standard way of expressing that a location is such a register. > > Furthermore, #pragma isn't even portable between different compilers on > the same machine, whereas something like "volatile" is. And it's > increasingly common to have more than one C compiler available. There has been incredible volume of widely varying opinion in this newsgroup about /noalias/, which many consider BY ITSELF to be an evil thing. On the other hand, the only objections to /volatile/ I have seen have been "Yes, it is handy but so tied to nonportable code that it is not worth making a change to C to handle it." X3J11 has the unenviable task of striking a balance between: (A) hands off except for matter-of-life-or-death changes and (B) let's turn C into ADA. I generally tend to the (A) side of the fence, but if a significant and diverse body of really smart people come up with compelling technical reasons for a feature that doesn't break existing code, I listen. If my only countering argument is a general "KYFHO" then perhaps it is time to compromise on this one. Steve P.S. - Give it up, Henry :^) -- Steve Friedl V-Systems, Inc. *Hi Mom* friedl@vsi.com {uunet,ihnp4}!vsi.com!friedl attmail!friedl