Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!wuarchive!uunet!munnari.oz.au!csource!david From: david@csource.oz.au (david nugent) Newsgroups: comp.unix.xenix Subject: Re: compiler error.. Message-ID: <101.25E63DD1@csource.oz.au> Date: 24 Feb 90 22:48:30 GMT Organization: Unique Computing Pty Limited Lines: 31 In article <945@chinacat.Lonestar.ORG> dated 22 Feb, Chip Rosenthal writes: > > Compiler error (internal): Infinite spill > >What causes this, and is it fixed? > > My understanding is that it is due to a problem in the register usage > scheme in the Microsoft compiler, and is activated by complex > expressions. I get this with complex expressions involving indexed arrays. Now I usually evaluate the index in a separate statement using a temporary variable and let the optimiser do its bit to improve it (which it usually does). For example: j = whatever->arradr[(whatever->idx++)*4]; Gets translated to i = (whatever->idx++) * 4; j = whatever->arradr[i]; david -- UUCP: ...!munnari!csource!david Internet: david@csource.oz.au FidoNet: 3:632/348