Miscellaneous testsuitsuite failures under hpux 10.20

John David Anglin dave@hiauly1.hia.nrc.ca
Fri Jun 23 14:15:00 GMT 2000


> 
> The problem is that store_split_bit_field is called with align=0, resulting
> in unit=0.  So, how did align get to be 0?
> 
> The problem seems to be in the code generated for stor-layout.c line 862:
> 
>   DECL_OFFSET_ALIGN (field) = rli->offset_align;

Ignore what said about a missing instruction.  It is there.

The problem is simple.  The fault is caused by this code:

struct foo {
  void *entry[40];
} __attribute__ ((aligned(32)));

This gives a value of 256 for rli->offset_align.  The bit field for
off_align in field is 8 bits.  Thus, the rli alignment requirement exceeds
the maximum value for DECL_OFFSET_ALIGN (field).

What to do?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


More information about the Gcc-bugs mailing list