ado@NCIFCRF.GOV (Arthur David Olson) (04/02/89)
(We're running SunOS 4.0 on a Sun 3/280.)
Description:
Gnu gcc version 1.34 (plus fixes from rms) can dump core
when optimizing.
Repeat-By:
Script started on Sun Apr 2 00:17:56 1989
elsie$ cat try.c
int npixels;
unsigned long pixels[256];
struct {
char * name;
int value;
int unused[4];
} g[2], zg;
handle()
{
register int gid, sid;
register int i, j;
register int minodfiled, maxodfiled;
register int finalc;
g[0] = zg;
g[0].name = 0;
for (gid = 0; gid <= 1; ++gid) {
register int (* image)();
register unsigned short * indata;
register unsigned char * outdata;
register unsigned int cols;
register char * dmp;
register int nfiledcolors;
register int row;
char datamap[65536];
extern void * emalloc();
extern void * egads();
dmp = datamap;
nfiledcolors = (maxodfiled - minodfiled) + 1;
if (g_openod(gid) != 0)
continue;
cols = g[gid].value;
indata = emalloc(cols);
outdata = emalloc(cols);
image = egads(outdata, cols);
for (j = 0; j < sizeof datamap / sizeof datamap[0]; ++j)
if (j <= minodfiled)
dmp[j] = pixels[0];
else if (j >= maxodfiled)
dmp[j] = pixels[npixels - 1];
else dmp[j] = pixels[(j - minodfiled) *
npixels / nfiledcolors];
for (row = 0; row < g[gid].value; ++row) {
j = cols - 1;
do {
outdata[j] = dmp[indata[j]];
} while (--j >= 0);
}
image(image);
for (sid = 0; sid < g[gid].value; ++sid)
dospotstate(gid, sid);
}
do {
func();
} while ((finalc = takeorder()) == 0);
func();
return 0;
}
elsie$ /usr/local/bin/gcc -v -O try.c
gcc version 1.34
/usr/local/lib/gcc-cpp -v -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 try.c /tmp/cca13893.cpp
GNU CPP version 1.34
/usr/local/lib/gcc-cc1 /tmp/cca13893.cpp -quiet -dumpbase try.c -O -version -o /tmp/cca13893.s
GNU C version 1.34 (68k, MIT syntax) compiled by GNU C version 1.34.
/usr/local/bin/gcc: Program cc1 got fatal signal 6.
elsie$ exit
script done on Sun Apr 2 00:18:21 1989
--
Arthur David Olson ado@ncifcrf.gov ADO is a trademark of Ampex.