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