Re: [testsuite, i386] Always check for target i?86 and x86_64

2017-06-20 Thread JonY
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

2017-06-20 Thread Rainer Orth
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

2017-06-20 Thread JonY
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

2017-06-20 Thread Rainer Orth
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

2017-06-15 Thread Jonathan Wakely

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

2017-06-15 Thread Rainer Orth
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 Orth  

libstdc++-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: