home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!gatech!darwin.sura.net!bogus.sura.net!howland.reston.ans.net!usc!cs.utexas.edu!sun-barr!lll-winken!decwrl!adobe!wexford.mv.us.adobe.com!user
- From: wickberg@mv.us.adobe.com (Andreas Wickberg)
- Newsgroups: comp.sys.mac.programmer
- Subject: Re: THINK C 5.04 bug, or is it me?
- Message-ID: <wickberg-090193163331@wexford.mv.us.adobe.com>
- Date: 10 Jan 93 00:48:46 GMT
- References: <Arne.Venstad-080193101130@mac-df04.er.sintef.no>
- Sender: usenet@adobe.com (USENET NEWS)
- Followup-To: comp.sys.mac.programmer
- Organization: Adobe Systems
- Lines: 41
-
- In article <Arne.Venstad-080193101130@mac-df04.er.sintef.no>,
- Arne.Venstad@DELAB.SINTEF.no (Arne Venstad) wrote:
- >
- > Dear net friends,
- >
- > After going from THINK C 4.05 to THINK C 5.04 my XFCN started to execute
- > erroneously. Parts of my code:
- >
- > ...
- > typedef struct irow {
- > long iPtr;
- > short length;
- > } Row;
- > ...
- > Row *source,*target;
- > ...
- > source=...;
- > target=...;
- > ...
- > while (source!=target) /* As somebody may guess, this is an attempt to */
- > *target--=*target; /* make a block move on overlapping areas. */
- > ...
- >
-
- Looks like a moving target :-)
-
- C doesn't specify in what order the sides of an assignment gets evaluated -
- don't rely on your local compiler. It looks as if 4.05 evaluate the left
- hand first, while 5.04 evaluate the right hand first. Try to uncheck
- suppress loads if it is checked in Edit:Options:Code optimization.
-
- BTW, a simple block move should be faster that coping odd sized blocks.
-
- Andreas Wickberg
-
- PS. Hur {r v{dret i Norge s} h{r }rs? DS.
-
- > Arne Venstad E-mail: Arne.Venstad@delab.sintef.no
- > SINTEF DELAB
- > N-7034 Trondheim,
- > Norway.
-