I was wondering if I could get some help/advice from a testsuite expert.
I have a patch that I want to submit that makes sure elements of an
array are not given an alignment greater than their size.

See http://gcc.gnu.org/ml/gcc/2005-03/msg00729.html

This test was causing a bunch of regressions, most of which have been
fixed now by Jakub and Dorit.  But the patch still causes a couple of
regressions in the gcc.dg/compat tests that I have been unable to fix.
The failures I get are:

FAIL: tmpdir-gcc.dg-struct-layout-1/t002 c_compat_x_tst.o compile
FAIL: tmpdir-gcc.dg-struct-layout-1/t002 c_compat_y_tst.o compile
FAIL: tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o compile
FAIL: tmpdir-gcc.dg-struct-layout-1/t027 c_compat_y_tst.o compile

There used to be more layout failures but Jakub submitted a patch
earlier (May 2005) that fixed all but these.  I know that the
gcc.dg-struct-layout-1_generate program creates a t002_test.h header
file and that that file contains:

        T(582,void * atal8 a[2];double b;unsigned short int c;,F(582,a[0],(void 
*)&intarray[78],(void 
*)&intarray[187])F(582,b,198407.656250,218547.203125)F(582,c,55499U,5980U))

and that atal8 is a define for "__attribute__((aligned (8)))" which
means that we get "void * __attribute__((aligned (8))) a[2];" and that
is what is causing the problem (8 byte alignement of the elements in an
array where the elements are only 4 bytes long.

But what I have not been able to do is to figure out how to get
gcc.dg-struct-layout-1_generate to stop generating this type.

Even after looking at Jakubs patch that fixed the other layout failures,
I haven't been able to come up with a fix.

Can anyone help me with this?

Steve Ellcey
[EMAIL PROTECTED]

Reply via email to