Re: [testsuite, i386] Always check for target i?86 and x86_64
On 06/20/2017 01:35 PM, Rainer Orth wrote: > JonY <10wa...@gmail.com> writes: > >> On 06/20/2017 01:01 PM, Rainer Orth wrote: >>> Given that there were no other comments, I've installed the patch. It >>> would still be nice if the Cygwin/MingW maintainer could comment on the >>> testcase situation for those targets. >> >> Honestly, I'm not sure how ms-bitfields work on non-Windows targets, > > I just noticed that it's handled in generic code in i386.c and the > affected tests worked on the likes of Linux and Solaris ;-) gcc/testsuite/gcc.dg/array-quals-1.casm bits probably won't work due to object format difference gcc/testsuite/gcc.dg/lto/20091013-1_1.c I'm not familiar with LTO enough to comment on it gcc/testsuite/gcc.dg/lto/20091013-1_2.c dto. gcc/testsuite/gcc.dg/pr32370.c This probably should be safe to enable for all. gcc/testsuite/gcc.dg/pr50251.c dto. gcc/testsuite/gcc.dg/tls/thr-cse-1.cI think this should stay as is. gcc/testsuite/gcc.dg/weak/weak-15.c ELF weak symbols don't really work on Windows PE format and are known to be broken gcc/testsuite/gcc.dg/weak/weak-16.c dto. gcc/testsuite/gcc.dg/weak/weak-2.c dto. gcc/testsuite/gcc.dg/weak/weak-3.c dto. gcc/testsuite/gcc.dg/weak/weak-4.c dto. gcc/testsuite/gcc.dg/weak/weak-5.c dto. libffi/testsuite/libffi.call/cls_longdouble_va.c iirc libffi hasn't been ported for 64bit Windows gcc/testsuite/g++.dg/abi/bitfield3.CShould remain 32bit specific gcc/testsuite/g++.dg/ext/dllexport3.C Should be x86_64-*-cygwin too gcc/testsuite/g++.dg/ext/selectany1.C dto. gcc/testsuite/g++.dg/ext/selectany2.C dto. gcc/testsuite/g++.old-deja/g++.ext/attrib5.CProbably broken due to the underscore prefix in asm names for 32bit mingw/cygwin gcc/testsuite/gcc.dg/dll-3.cShould be x86_64-*-cygwin too gcc/testsuite/gcc.dg/dll-4.cdto. gcc/testsuite/gcc.dg/dll-5.cdto. gcc/testsuite/gcc.dg/dll-8.cdto. gcc/testsuite/gcc.dg/tree-ssa/loop-1.c dto. gcc/testsuite/gcc.target/i386/fastcall-1.c Keep as is, x86 specific test case. I can't comment on the ARM mingw* port, I have no experience with it. signature.asc Description: OpenPGP digital signature
Re: [testsuite, i386] Always check for target i?86 and x86_64
JonY <10wa...@gmail.com> writes: > On 06/20/2017 01:01 PM, Rainer Orth wrote: >> Given that there were no other comments, I've installed the patch. It >> would still be nice if the Cygwin/MingW maintainer could comment on the >> testcase situation for those targets. > > Honestly, I'm not sure how ms-bitfields work on non-Windows targets, I just noticed that it's handled in generic code in i386.c and the affected tests worked on the likes of Linux and Solaris ;-) > beyond that, the patch looks like it won't change the tests that run for > mingw/cygwin. True: as I mentioned in the submission https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01103.html I didn't touch the Cygwin/MingW patches listed there except for those where I could verify that they would/should work on any x86 target. Maybe you can have a look a the questions raised there ("There's one group of targets I've omitted completely"...)? Thanks. Rainer -- - Rainer Orth, Center for Biotechnology, Bielefeld University
Re: [testsuite, i386] Always check for target i?86 and x86_64
On 06/20/2017 01:01 PM, Rainer Orth wrote: > > once I got the syntax right, this worked fine: it needs > > { target { ilp32 || lp64 } } > > instead ;-) > > I've also now managed to complete a Darwin/x86_64 bootstrap by locally > reverting the two culprit patches for PR bootstrap/81033 and confirmed > that the patched testcases are fine there, two. > > Given that there were no other comments, I've installed the patch. It > would still be nice if the Cygwin/MingW maintainer could comment on the > testcase situation for those targets. > > Rainer > Honestly, I'm not sure how ms-bitfields work on non-Windows targets, beyond that, the patch looks like it won't change the tests that run for mingw/cygwin. signature.asc Description: OpenPGP digital signature
Re: [testsuite, i386] Always check for target i?86 and x86_64
Hi Jonathan, > On 15/06/17 12:51 +0200, Rainer Orth wrote: >>I happened to notice that recently a couple of testcases have sneaked in >>that are restricted to x86_64-*-* targets only. This is always wrong: >>it should be i?86-*-* and x86_64-*-* alike, eventually restricing the >>test to ilp32 or lp64. There were also instances of i?86-*-* only, >>which I've handled as well. > > [...] > >>diff --git a/libstdc++-v3/testsuite/20_util/variant/index_type.cc >> b/libstdc++-v3/testsuite/20_util/variant/index_type.cc >>--- a/libstdc++-v3/testsuite/20_util/variant/index_type.cc >>+++ b/libstdc++-v3/testsuite/20_util/variant/index_type.cc >>@@ -1,5 +1,5 @@ >> // { dg-options "-std=gnu++17" } >>-// { dg-do compile { target x86_64-*-* powerpc*-*-* } } >>+// { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* } } >> >> // Copyright (C) 2017 Free Software Foundation, Inc. >> // > > The concern here was just that we don't want the test to fail on > targets with weird integer sizes, so the list of targets was > restricted to just those where Ville had tested it. > > But { target ilp32 lp64 } would surely be fine. The test will only > fail if a struct with two char-sized subobjects is the same size as > size_t. Feel free to change it to { target ilp32 lp64 }. once I got the syntax right, this worked fine: it needs { target { ilp32 || lp64 } } instead ;-) I've also now managed to complete a Darwin/x86_64 bootstrap by locally reverting the two culprit patches for PR bootstrap/81033 and confirmed that the patched testcases are fine there, two. Given that there were no other comments, I've installed the patch. It would still be nice if the Cygwin/MingW maintainer could comment on the testcase situation for those targets. Rainer -- - Rainer Orth, Center for Biotechnology, Bielefeld University
Re: [testsuite, i386] Always check for target i?86 and x86_64
On 15/06/17 12:51 +0200, Rainer Orth wrote: I happened to notice that recently a couple of testcases have sneaked in that are restricted to x86_64-*-* targets only. This is always wrong: it should be i?86-*-* and x86_64-*-* alike, eventually restricing the test to ilp32 or lp64. There were also instances of i?86-*-* only, which I've handled as well. [...] diff --git a/libstdc++-v3/testsuite/20_util/variant/index_type.cc b/libstdc++-v3/testsuite/20_util/variant/index_type.cc --- a/libstdc++-v3/testsuite/20_util/variant/index_type.cc +++ b/libstdc++-v3/testsuite/20_util/variant/index_type.cc @@ -1,5 +1,5 @@ // { dg-options "-std=gnu++17" } -// { dg-do compile { target x86_64-*-* powerpc*-*-* } } +// { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* } } // Copyright (C) 2017 Free Software Foundation, Inc. // The concern here was just that we don't want the test to fail on targets with weird integer sizes, so the list of targets was restricted to just those where Ville had tested it. But { target ilp32 lp64 } would surely be fine. The test will only fail if a struct with two char-sized subobjects is the same size as size_t. Feel free to change it to { target ilp32 lp64 }.
[testsuite, i386] Always check for target i?86 and x86_64
I happened to notice that recently a couple of testcases have sneaked in that are restricted to x86_64-*-* targets only. This is always wrong: it should be i?86-*-* and x86_64-*-* alike, eventually restricing the test to ilp32 or lp64. There were also instances of i?86-*-* only, which I've handled as well. Most of the changes are straightforward, with a few exceptions: * g++.dg/cpp0x/alignas4.C was restricted to x86_64-*-*-gnu, but it passes just as well on i386-pc-solaris2.12 (both multilibs). However, it fails on x86_64-apple-darwin which uses .zerofill __DATA,__pu_bss3,_a,8,3 instead of .align 8 so there may be more fallout from that change. * pic-macro-define.c has nothing Darwin specific in it if it's restricted to fpic targets. * gcc.target/i386/darwin-fpmath.c already FAILs on i386-apple-darwin11.4.2 -m32 and also now on x86_64-apple-darwin11.4.2 -m32 so there's something amiss here even before this patch. * The gcc.dg/attr-ms_struct*, gcc.dg/bf-ms-layout*, and gcc.target/i386/bitfield* tests work on all x86 targets, so there's no need to artifically restrict them to *-*-mingw* *-*-cygwin* i?86-*-darwin*. The gcc.dg/bf-no-ms-layout.c test FAILs to execute on both i386-pc-solaris2.12 and x86_64-pc-linux-gnu (-m32 only), so I've left it alone. * In gfortran.dg/fmt_pf.f90, I've removed i?86-*-solaris2.9* from an xfail since that target has long been removed. This leaves us with two i386-*-freebsd* xfails in gfortran.dg/ieee/ieee_4.f90 and gfortran.dg/round_4.f90 which I haven't touched since I cannot say if they are still relevant and why they shouldn't apply to x86_64-*-freebsd* -m32 as well. There's one group of targets I've omitted completely because I know nothing about them and cannot test them: {i?86,x86_64}-*-{cygwin,mingw}*. There are quite a number of testcases restricted to either the i?86 or x86_64 variant of them with no way (for me) to tell what the intention was. I'll defer to the Cygwin/MingW maintainer to figure this out. Here's the list: gcc/testsuite/gcc.dg/array-quals-1.cx86_64-*-mingw* gcc/testsuite/gcc.dg/lto/20091013-1_1.c dto. gcc/testsuite/gcc.dg/lto/20091013-1_2.c dto. gcc/testsuite/gcc.dg/pr32370.c dto. gcc/testsuite/gcc.dg/pr50251.c dto. gcc/testsuite/gcc.dg/tls/thr-cse-1.cdto., separate i?86-*-mingw* gcc/testsuite/gcc.dg/weak/weak-15.c x86_64-*-mingw* gcc/testsuite/gcc.dg/weak/weak-16.c dto. gcc/testsuite/gcc.dg/weak/weak-2.c dto. gcc/testsuite/gcc.dg/weak/weak-3.c dto. gcc/testsuite/gcc.dg/weak/weak-4.c dto. gcc/testsuite/gcc.dg/weak/weak-5.c dto. libffi/testsuite/libffi.call/cls_longdouble_va.c dto. gcc/testsuite/g++.dg/abi/bitfield3.Ci?86-*-mingw* gcc/testsuite/g++.dg/ext/dllexport3.C i?86-*-cygwin, *-*-mingw gcc/testsuite/g++.dg/ext/selectany1.C i?86-pc-cygwin, i?86-*-mingw*, x86_64-*-mingw*, dg-do twice!? gcc/testsuite/g++.dg/ext/selectany2.C dto. gcc/testsuite/g++.old-deja/g++.ext/attrib5.Ci?86-pc-cygwin gcc/testsuite/gcc.dg/dll-3.ci?86-pc-cygwin gcc/testsuite/gcc.dg/dll-4.cdto. gcc/testsuite/gcc.dg/dll-5.cdto. gcc/testsuite/gcc.dg/dll-8.cdto. gcc/testsuite/gcc.dg/tree-ssa/loop-1.c separate x86_64-*-mingw* gcc/testsuite/gcc.target/i386/fastcall-1.c i?86-*-mingw32*, i?86-*-cygwin* Also note that the target triplet is spelled differently in different tests; this should certainly be regularized. The following patch fixes the non-Cygwin/MingW part. Bootstrapped without regressions on i386-pc-solaris2.12 and x86_64-pc-linux-gnu, plus some manual x86_64-apple-darwin11.4.2 testing which is currently massively hampered by PR bootstrap/81033. I think I can just apply this based on my testsuite maintainership but still would be grateful for comments. Rainer -- - Rainer Orth, Center for Biotechnology, Bielefeld University 2017-06-14 Rainer Orthlibstdc++-v3: * testsuite/20_util/variant/index_type.cc: Allow for i?86-*-* target. gcc/testsuite: * c-c++-common/fold-masked-cmp-1.c: Allow for i?86-*-* target. * c-c++-common/fold-masked-cmp-2.c: Likewise. * c-c++-common/fold-masked-cmp-3.c: Likewise. * g++.dg/cpp0x/alignas4.C: Allow for i?86-*-* target, don't restrict to x86_64-*-*-gnu. Skip scan-assembler on *-*-darwin*. * g++.dg/vect/pr70944.cc: Allow for i?86-*-* target. * gcc.dg/loop-invariant.c: Likewise. * gcc.dg/lto/pr70955_0.c: Likewise. * gcc.dg/tree-ssa/pr69196-1.c: Likewise. * gcc.dg/tree-ssa/pr79803.c: