OK, thanks.
On Tue, Sep 19, 2017 at 9:03 AM, Jakub Jelinek <ja...@redhat.com> wrote: > Hi! > > In make check-c++-all I've noticed some UNSUPPORTED tests and some > failures, the following patch attempts to fix those. > The failures are due to new not emitting operator new (...) != NULL > comparison with -std=c++17 anymore, so there is nothing to fold away > (first 2 hunks). The rest is about tests which are dg-do run, but > for -std=c++17 and above contain dg-error and thus the execution test > part is UNSUPPORTED. > > Regtested with make check-c++-all on x86_64-linux and i686-linux, ok for > trunk? > > 2017-09-19 Jakub Jelinek <ja...@redhat.com> > > * g++.dg/tree-ssa/pr31146-2.C: Only do scan-tree-dump for c++14_down. > * g++.dg/tree-ssa/pr41428.C: Likewise. > * g++.dg/expr/bool1.C: Only do dg-do compile instead of dg-do run for > c++17 and up. > * g++.dg/expr/bool3.C: Likewise. > * g++.dg/expr/bitfield5.C: Likewise. > * g++.old-deja/g++.jason/bool5.C: Likewise. > > --- gcc/testsuite/g++.dg/tree-ssa/pr41428.C.jj 2015-05-29 15:04:33.000000000 > +0200 > +++ gcc/testsuite/g++.dg/tree-ssa/pr41428.C 2017-09-19 14:23:13.366127516 > +0200 > @@ -11,4 +11,6 @@ int foo(void) > return *(int *)&f; > } > > -/* { dg-final { scan-tree-dump "Folded into: if \\\(1 != 0\\\)" "ccp1" } } */ > +/* -std=c++17 and above doesn't emit operator new () != NULL, so there is > + nothing to fold anymore. */ > +/* { dg-final { scan-tree-dump "Folded into: if \\\(1 != 0\\\)" "ccp1" { > target c++14_down } } } */ > --- gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C.jj 2016-09-21 > 08:54:09.000000000 +0200 > +++ gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C 2017-09-19 14:23:41.675773292 > +0200 > @@ -20,4 +20,6 @@ double foo (void) > return v.a[2]; > } > > -/* { dg-final { scan-tree-dump "Replaced .* != 0B. with .1" "forwprop1" } } > */ > +/* -std=c++17 and above doesn't emit operator new () != NULL, so there is > + nothing to fold anymore. */ > +/* { dg-final { scan-tree-dump "Replaced .* != 0B. with .1" "forwprop1" { > target c++14_down } } } */ > --- gcc/testsuite/g++.dg/expr/bool1.C.jj 2017-09-15 18:11:05.000000000 > +0200 > +++ gcc/testsuite/g++.dg/expr/bool1.C 2017-09-19 14:16:46.139972669 +0200 > @@ -1,5 +1,6 @@ > -// { dg-do run } > -// PR C++/29295 > +// PR c++/29295 > +// { dg-do run { target c++14_down } } > +// { dg-do compile { target c++17 } } > // make sure that a typedef for a bool will have the > // the same results as a bool itself. > > --- gcc/testsuite/g++.dg/expr/bool3.C.jj 2017-09-15 18:11:05.000000000 > +0200 > +++ gcc/testsuite/g++.dg/expr/bool3.C 2017-09-19 14:16:40.439044001 +0200 > @@ -1,5 +1,6 @@ > -// { dg-do run } > -// PR C++/29295 > +// PR c++/29295 > +// { dg-do run { target c++14_down } } > +// { dg-do compile { target c++17 } } > // make sure that a typedef for a bool will have the > // the same results as a bool itself. > > --- gcc/testsuite/g++.dg/expr/bitfield5.C.jj 2017-09-15 18:11:05.000000000 > +0200 > +++ gcc/testsuite/g++.dg/expr/bitfield5.C 2017-09-19 14:12:40.087051397 > +0200 > @@ -1,5 +1,6 @@ > // PR c++/30274 > -// { dg-do run } > +// { dg-do run { target c++14_down } } > +// { dg-do compile { target c++17 } } > > struct S { > bool x : 4; > --- gcc/testsuite/g++.old-deja/g++.jason/bool5.C.jj 2017-09-15 > 18:11:08.000000000 +0200 > +++ gcc/testsuite/g++.old-deja/g++.jason/bool5.C 2017-09-19 > 14:17:19.708552643 +0200 > @@ -1,4 +1,5 @@ > -// { dg-do run } > +// { dg-do run { target c++14_down } } > +// { dg-do compile { target c++17 } } > int main () > { > bool b = false; > > Jakub