Must useless expressions be evaluated?
Spencer W. Thomas
thomas at utah-gr.UUCP
Thu Oct 20 14:21:08 AEST 1983
But all of these examples (touching and/or reading a location to cause a
"trap") can be done in a "non-useless" setting by a statement of the form
i := loc;
Here, you are assigning the value, and so it is not "useless". In fact,
I had exactly that problem in a sort of garbage collector thing I wrote
- I wanted to test pointers to see if they really pointed to something
before following them. Just saying *ptr was NOT sufficient - the
compiler threw it away (I think this was in a comma-separated
expression, I'm not sure now). I had to actually assign it to a
variable before I could get my "expected" trap (naturally I chose a
register variable).
=Spencer
More information about the Comp.lang.c
mailing list