bpl@mvuxn.att.com (b.p.lynch) (01/03/89)
v1.32 cc1 dumps core (actually, I think, calls abort()) when given the
following code:
#define STRUCT_SIZE 57
struct try {
char a[STRUCT_SIZE];
};
struct try trya;
main()
{
struct try tryb;
tryb = trya;
}
for any value of STRUCT_SIZE greater than 56.
As far as I can tell, for STRUCT_SIZE of 56 or less, the compiler
generates inline instructions to move the structure. When STRUCT_SIZE
is larger than 56, the compiler tries to generate a call to "memcpy"
to do the work. The RTL code is generated OK, but the attempt to
generate assembler code seems to cause the core-dump.
The compiler is v1.32, sources picked up from osu-cis on 27 Dec 88; I am
using tm-i386v.h and i386.md, and running under AT&T UNIX s5r3.1 on a 6386.
The compiler fails with cc1: Fatal signal 6 with any combination on -g
and -O flags.
Brendan Lynch
AT&T Bell Labs MV 3C33
1600 Osgood St., No. Andover, MA 01845
bpl@mvuxn.att.com ..!att!mvuxn!bpl