Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!brl-adm!brl-smoke!gwyn
From: gwyn@brl-smoke.ARPA (Doug Gwyn )
Newsgroups: comp.lang.c
Subject: Re: does \"volatile\" cover this?
Message-ID: <5479@brl-smoke.ARPA>
Date: Mon, 5-Jan-87 14:33:42 EST
Article-I.D.: brl-smok.5479
Posted: Mon Jan  5 14:33:42 1987
Date-Received: Mon, 5-Jan-87 22:00:16 EST
References: <2028@brl-adm.ARPA>
Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) )
Organization: Ballistic Research Lab (BRL), APG, MD.
Lines: 25

In article <2028@brl-adm.ARPA> rgenter@j.bbn.com (Rick Genter) writes:
>	volatile RESULT *r;		/* I want a volatile pointer to a
>					   RESULT */

Then you should specify:
	RESULT *volatile r;
The way you had it, it was a pointer to a volatile RESULT.

>Unfortunately, every place that I can find that discusses sequence points
>refers explicitly to points within expressions.  Side effects across multiple
>statement boundaries are not discussed, from what I can find.

The end of an expression that is not part of another expression is
a sequence point (section 3.6 in the current draft).

>Now that I've gotten all the preliminary information out of the way, here's the
>question.  Does the above wording preclude optimizing out the "r = NULL;"

Yes, since there is a sequence point after the ;.

>Obviously if the most recent draft ($65 :-() has significantly different wording
>then my question may be moot.

The current draft's wording about sequence points is quite
different, although the idea is basically the same.