Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!bloom-beacon!tut.cis.ohio-state.edu!mailrus!umix!uunet!vsi!friedl From: friedl@vsi.UUCP (Stephen J. Friedl) Newsgroups: comp.lang.c Subject: Re: Time to compromise? Message-ID: <472@vsi.UUCP> Date: 2 Apr 88 07:44:12 GMT References: <12578@brl-adm.ARPA> <1988Mar25.172355.348@utzoo.uucp> <311@aiva.ed.ac.uk> Organization: V-Systems, Inc. -- Santa Ana, CA Lines: 39 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