This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Generated structure layout tests for gcc.dg/compat/struct-layout-1 (take 3)


On Wed, Jul 21, 2004 at 02:02:46PM -0500, Benjamin Kosnik wrote:
> 
> >What I really want to know is how much longer does "make check-gcc check-g++" 
> >take on my machine when targeting arm-sim :-)
> >I guess I should just try it and see.
> 
> Can't we just make the compiler go faster? 
> 
> Ok, ok..... sorry, joke. 
> 
> I believe that Jakub said that there was a way to run one forth of the
> tests on a regular basis, with an easy way to run all instead. That
> seems ideal.

Ok, below is a patch, which together with
ftp://people.redhat.com/jakub/gcc/tests/struct-layout-1.tar.bz2
create the two level struct layout compat testsuite.
(In the patch below are changes to existing files and the non-generated
files, in the tarball generated ones).
Unless RUN_ALL_COMPAT_TESTS=1 is set in the environment, only 30 testcases
from struct-layout-1 are run and make check-gcc in gcc.dg takes
around 3 minutes (that is including the pre-existing and new tests).
I have fixed a couple of generator bugs since yesterday and divided the tests
into two sets.

On x86-64-redhat-linux with a day old gcc HEAD, I get following results:
$ RUN_ALL_COMPAT_TESTS=1 make RUNTESTFLAGS='gcc.dg/compat/compat.exp' check-gcc
...
Running /usr/src/gcc/gcc/testsuite/gcc.dg/compat/compat.exp ...
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_121 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_122 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_133 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_145 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_165 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_31 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_35 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_36 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_39 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_86 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1_1 c_compat_x_tst.o compile
FAIL: gcc.dg/compat/struct-layout-1_27 c_compat_x_tst.o-c_compat_y_tst.o execute

                === gcc Summary ===

# of expected passes            1092
# of unexpected failures        12
# of unresolved testcases       16
/usr/src/gcc/obj2/gcc/xgcc  version 3.5.0 20040721 (experimental)
$ RUN_ALL_COMPAT_TESTS=1 make RUNTESTFLAGS='gcc.dg/compat/compat.exp GCC_UNDER_TEST="/usr/src/gcc/obj2/gcc/xgcc -B /usr/src/gcc/obj2/gcc/ -m32"' check-gcc
Running /usr/src/gcc/gcc/testsuite/gcc.dg/compat/compat.exp ...
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_145 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1/struct-layout-1_165 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1_25 c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: gcc.dg/compat/struct-layout-1_29 c_compat_x_tst.o-c_compat_y_tst.o execute

                === gcc Summary ===

# of expected passes            1116
# of unexpected failures        4
/usr/src/gcc/obj2/gcc/xgcc  version 3.5.0 20040721 (experimental)

All -m32 failures are caused by PR middle-end/16670, all -m64 compile
failures are caused by PR rtl-optimization/16669.
The x86-64 runtime failures are:
T(2613,v2si a;,N(2613,a))
TX(2614,union atal1,,unsigned long long int a atal1;,F(2614,a,10967381609201060291ULL,9244802392503162382ULL))
T(11265,short int a;Tuchar b[4];unsigned long int c[0] atal8;TE5 d;union{signed char f;unsigned short int g;void * h;struct{}i;}e[0];,F(11265,a,-25797,-22668)F(11265,b[3],118U,171U)F(11265,b[2],54U,53U)F(11265,d,e5_0,e5_m32766))
TCI(13414,unsigned int a;short int b atal2;_Complex short int c;union{}d;,F(13414,a,377824688U,2788393696U)F(13414,b,-7127,2372)F(13414,c,CINT(31210,32009),CINT(-21232,13769)))
T(14053,v8qi a;,N(14053,a))
U(14054,v8qi a;,N(14054,a))
T(14059,v4hi a;,N(14059,a))
U(14060,v4hi a;,N(14060,a))
T(14069,v2sf a;,N(14069,a))
T(14102,__m64 a;,N(14102,a))
U(14103,__m64 a;,N(14103,a))
TX(14126,struct atpa,,__m64 a;,N(14126,a))
T(14127,unsigned long long int a atal16;,F(14127,a,10409503785321450711ULL,9041978736950551268ULL))
though I haven't studied them in detail yet (but as they pass with -m32, I suspect
a compiler bug rather than a testsuite bug).

	Jakub

Attachment: struct-layout-1.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]