On Tue, Jun 19, 2007 at 04:26:46PM +0300, Revital1 Eres wrote: > While testing a patch on current trunk (r 125640) I've noticed that g++'s > cp_compat_x_tst.o-cp_compat_y_tst testcase fails with unexpected failure > on x86_64 with the vanilla version but passes OK with the patched version > (-O2). On ppc64 and i486 the test passes both with the vanilla and the > patched version. > > -FAIL: tmpdir-g++.dg-struct-layout-1/t026 > cp_compat_x_tst.o-cp_compat_y_tst.o execute > > I appreciate any clue regarding the reason this testcase fails (with > Segmentation fault) on current mainline on x86_64; this could help me > understand why the patch I'm working on caused it to pass.
These are generated testcases, see gcc/testsuite/*.dg/compat/struct-layout-1* If you build the testcase with -DDBG (e.g. changing the generator, maybe --target_board unix/-DDBG, changing the struct-layout-1.h header), then it should in g++.log print more details which exact test failed. Then you can retry just with that single type that failed, say if it was test 546, use just the U(546,struct{char * b;}a;struct{}c[0];,F(546,a.b,(char *)&intarray[107],(char *)&intarray[95])) line from testsuite/g++/g++.dg-struct-layout-1/t002_test.h and if you can reproduce, you can preprocess/simplify as much as needed. Jakub