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