[comp.unix.xenix] XENIX C Compiler Bug

adt@hpausla.HP.COM (Andrew Tune) (08/22/88)

I have a C compiler bug in my XENIX 2.2.1 system.  
uname -a: sysname=XENIX; release=2.2.1; version=SysV; machine=i80286
It's a Vectra RS20.  Any hints would be appreciated.

Try compiling this:

--------------------------------------------------------------------------
int		level;
long		*c_disp;
extern long	c_dis[];

foo()
{
	c_disp = c_dis + level;
}
--------------------------------------------------------------------------

I get this:

--------------------------------------------------------------------------
% cc -c -Ml foo.c
foo.c
foo.c(7) : Compiler error (internal): Infinite spill
--------------------------------------------------------------------------

which is very little help, to say the least.  Work around? Change the code 
to look like this:

--------------------------------------------------------------------------
int		level;
long		*c_disp;
extern long	c_dis[];

foo()
{
	register int l = level;

	c_disp = c_dis + l;
}
--------------------------------------------------------------------------

Andrew Tune, Hewlett Packard Australian Software Operation.
(UUCP: hplabs!hpfcla!hpausla!adt, ACSnet: adt@hpausla.oz)

jbayer@ispi.UUCP (id for use with uunet/usenet) (08/25/88)

In article <750002@hpausla.HP.COM>, adt@hpausla.HP.COM (Andrew Tune) writes:
] I have a C compiler bug in my XENIX 2.2.1 system.  
] uname -a: sysname=XENIX; release=2.2.1; version=SysV; machine=i80286
] It's a Vectra RS20.  Any hints would be appreciated.
] 
] int		level;
] long		*c_disp;
] extern long	c_dis[];
] 
] foo()
] {
] 	c_disp = c_dis + level;
] }
] --------------------------------------------------------------------------
] I get this:
] --------------------------------------------------------------------------
] % cc -c -Ml foo.c
] foo.c
] foo.c(7) : Compiler error (internal): Infinite spill
] --------------------------------------------------------------------------
] which is very little help, to say the least.  Work around? Change the code 

I tried the first program on my system (Xenix 2.2.3, 386, etc).  I tried it
for 386 code, 286 large model, and 286 small model.  They all worked.  FYI,
the 286 models use a 286 compiler instead of the 386 compiler.  I believe
that it is the same compiler as distributed in the 286 development system.

Jonathan Bayer
Intelligent Software Products, Inc.