Path: utzoo!mnetor!uunet!husc6!bloom-beacon!think!ames!eos!aurora!labrea!decwrl!hplabs!hpcea!hpfcdc!hpfclq!mike From: mike@hpfclq.HP.COM (Mike McNelly) Newsgroups: comp.lang.c Subject: Re: I forget what it was originally called. Message-ID: <3850010@hpfclq.HP.COM> Date: 7 Mar 88 16:21:36 GMT References: <3505@bloom-beacon.MIT.EDU> Organization: Hewlett-Packard Lines: 19 Not only do different types cause changes in the order of evaluation, but different classes may also cause differences. C compilers make choices on the order of evaluation based on the "cost" of evaluating a subexpression. Pcc compilers typically evaluate a a subexpression with a high cost in register resources first. As a specific example, you may find your expression compiled differently if "i" is declared to be a register variable than if it was an auto or a static. Frankly I have little sympathy with anyone writing code in this manner. It's cute but it's also no more efficient than alternatives that do what you really wanted to do in a much less ambiguous fashion. If you inherited this code you have my condolences. Mike McNelly hplabs!hpfcla!mike