compiler error..

Chip Rosenthal chip at chinacat.Lonestar.ORG
Fri Feb 23 03:16:56 AEST 1990


In article <854 at stsim.ocs.com> glenn at 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 at chinacat.Lonestar.ORG                |  a lucky man, but are you a smart
Unicom Systems Development, 512-482-8260  |  man?  -David Bromberg



More information about the Comp.unix.xenix mailing list