Path: utzoo!utgpu!jarvis.csri.toronto.edu!dgp.toronto.edu!flaps Newsgroups: comp.std.c From: flaps@dgp.toronto.edu (Alan J Rosenthal) Subject: observability Message-ID: <1989Sep6.183349.2866@jarvis.csri.toronto.edu> References: <1237@gmdzi.UUCP> <10885@smoke.BRL.MIL> <242@ssp1.idca.tds.philips.nl> <10937@smoke.BRL.MIL> <1989Sep6.160709.4890@light.uucp> Date: 6 Sep 89 22:33:49 GMT bvs@light.uucp (Bakul Shah) writes: >I have some questions about `observable behavior'. How does this >concept interact with `volatile' variables? with debuggers? with >shared memory? Debuggers and shared memory are not specified in the ansi C standard. That is, there does not exist behaviour of debuggers or of shared memory that violate the standard. Many people claim that "volatile" is meaningless since it is not observable. >Is a program with *no* output of any kind observable? Yes, you can observe that it produced no output, a different observation from observing it producing some output. However, the ansi C standard probably doesn't prevent "int main() { return(0); }" from outputting, as a concession to verbose environments. So there might not exist standard-violating behaviour for the execution of a program which produces no output. ajr