does \"volatile\" cover this?

Doug Gwyn gwyn at brl-smoke.ARPA
Tue Jan 6 05:33:42 AEST 1987


In article <2028 at brl-adm.ARPA> rgenter at 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.



More information about the Comp.lang.c mailing list