Path: utzoo!telly!ddsw1!lll-winken!killer!mit-eddie!bbn!mailrus!tut.cis.ohio-state.edu!mvuxn.att.com!bpl From: bpl@mvuxn.att.com (b.p.lynch) Newsgroups: gnu.gcc.bug Subject: bug in gcc v1.32, target machine i386v Message-ID: <8901030920.AA06569@mvuxn.att.com> Date: 3 Jan 89 14:20:00 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 36 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