[gnu.gcc.bug] bug in gcc v1.32, target machine i386v

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