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.