Path: utzoo!attcan!uunet!husc6!think!samsung!cs.utexas.edu!chinacat!chip From: chip@chinacat.Lonestar.ORG (Chip Rosenthal) Newsgroups: comp.unix.xenix Subject: Re: compiler error.. Message-ID: <945@chinacat.Lonestar.ORG> Date: 22 Feb 90 16:16:56 GMT References: <854@stsim.ocs.com> Organization: Unicom Systems Development, Austin (yay!) Lines: 31 In article <854@stsim.ocs.com> glenn@stsim (glenn ford) writes: >I recieved the following error trying to get conquer4 running under SCO Xenix >386, 2.3.1: > 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. About all you can do is locate the expression causing the problem and simplify it. Here is a portion of code in rn's "rcln.c" file which has this problem, and my fix: sprintf(tmpbuf,"%s: 1-%ld", rcline[ngx],(long)getngsize(ngx)); free(rcline[ngx]); rcline[ngx] = savestr(tmpbuf); #ifdef M_XENIX { /* infinite spill compiler bug...grrrr */ char *cp = rcline[ngx] + rcnums[ngx] - 1; *cp = '\0'; } #else *(rcline[ngx] + rcnums[ngx] - 1) = '\0'; #endif write_rc(); You'll probably need to pull a similar trick to get it to compile. -- Chip Rosenthal | Yes, you're a happy man and you're chip@chinacat.Lonestar.ORG | a lucky man, but are you a smart Unicom Systems Development, 512-482-8260 | man? -David Bromberg