Newsgroups: comp.lang.c
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: const, volatile, etc [was Re: #defines with parameters]
Message-ID: <1988Dec15.005828.1874@utzoo.uucp>
Organization: U of Toronto Zoology
References: <674@quintus.UUCP> <117@halcdc.UUCP> <468@auspex.UUCP> <9016@smoke.BRL.MIL> <10919@ulysses.homer.nj.att.com> <1450@micomvax.UUCP> <369@aber-cs.UUCP> <9143@smoke.BRL.MIL> <377@aber-cs.UUCP>
Date: Thu, 15 Dec 88 00:58:28 GMT

In article <377@aber-cs.UUCP> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
>    There was never a guarantee that C data had what is now known as the
>    "volatile" property.
>
>You mean that nobody explicitly stated the obvious rule that an optimizer
>shall not turn a correct program into in incorrect one? ...

No, that's not what he meant:  he meant that your definitions of "correct"
and "incorrect" are historically wrong, and do not correspond to the way
C was defined, implemented, and used.  Very little has ever been guaranteed
about how C programs are evaluated, although some C programs (notably the
Unix kernel) have quietly relied on the limitations of old compilers.
ANSI C actually considerably strengthens the guarantees made to the
programmer.

Might one ask how long you have been using C, Mr. Grandi?
-- 
"God willing, we will return." |     Henry Spencer at U of Toronto Zoology
-Eugene Cernan, the Moon, 1972 | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
