Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!pacbell.com!ucsd!nosc!dog.ee.lbl.gov!elf.ee.lbl.gov!torek From: torek@elf.ee.lbl.gov (Chris Torek) Newsgroups: comp.lang.c Subject: Re: Evaluation of if's Message-ID: <14093@dog.ee.lbl.gov> Date: 9 Jun 91 19:53:00 GMT References: <1991Jun4.233928.5185@athena.mit.edu> <1991Jun5.014758.10616@wdl1.wdl.loral.com> <20273@crdgw1.crd.ge.com> <1991Jun7.011938.11342@wdl1.wdl.loral.com> <14011@dog.ee.lbl.gov> Reply-To: torek@elf.ee.lbl.gov (Chris Torek) Organization: Lawrence Berkeley Laboratory, Berkeley Lines: 18 X-Local-Date: Sun, 9 Jun 91 12:53:00 PDT In article <14011@dog.ee.lbl.gov> I wrote, in part: >... The value of an assignment is the value of the right hand >side, converted to the type of the left hand side. I have since checked the wording of the standard, and it does not say this at all. Indeed, it almost (but does not quite) imply the opposite. Since this really only matters with respect to `volatile', and since volatile is implementation-defined anyway, it turns out that one can say nothing at all about how a = b = c; statements work, beyond this: if a and b are aliases for the same object (e.g., if a and b are replaced with *p and *q respectively, and p and q both point to the same object), all bets are off. -- In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 415 486 5427) Berkeley, CA Domain: torek@ee.lbl.gov