Hi! On Wed, 18 Oct 2017 14:48:13 +0200, Martin Liška <mli...@suse.cz> wrote: > This is second patch that addresses test-suite fallout. All these tests fail > because -Wreturn-type is > now on by default. > > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
... but alters some LTO test cases as follows: > --- a/gcc/testsuite/g++.dg/lto/20080907_0.C > +++ b/gcc/testsuite/g++.dg/lto/20080907_0.C > @@ -1,3 +1,5 @@ > // { dg-lto-do assemble } > +// { dg-lto-options "-Wno-return-type" } This means that instead of the default (without explicit "dg-lto-options") "LTO options torture testing" testing, we're now *only* testing one variant, with only the "-Wno-return-type" option specified. > --- a/gcc/testsuite/g++.dg/lto/20080915_0.C > +++ b/gcc/testsuite/g++.dg/lto/20080915_0.C > @@ -1,4 +1,6 @@ > // { dg-lto-do assemble } > +// { dg-lto-options "-Wno-return-type" } Same, but... > @@ -16,7 +18,7 @@ int func(const Bar& b) { > } > > struct Baz { > - Bar& operator*() {} > + Bar& operator*() { static Bar a; return a; } > }; ... given that you're addressing here the (only, as it seems) "-Wreturn-type" issue, you don't need to specify "-Wno-return-type" at all. > --- a/gcc/testsuite/g++.dg/lto/20091002-1_0.C > +++ b/gcc/testsuite/g++.dg/lto/20091002-1_0.C > @@ -1,6 +1,6 @@ > // { dg-lto-do link } > // { dg-require-effective-target fpic } > -// { dg-lto-options {{-fPIC -flto}} } > +// { dg-lto-options {{-fPIC -flto -Wno-return-type}} } > // { dg-extra-ld-options "-fPIC -r -nostdlib" } ACK. This only tested one variant: "-fPIC -flto", now testing "-fPIC -flto -Wno-return-type". (Similarly for several more.) > --- a/gcc/testsuite/g++.dg/lto/20101010-1_0.C > +++ b/gcc/testsuite/g++.dg/lto/20101010-1_0.C > @@ -1,4 +1,5 @@ > // { dg-lto-do link } > +// { dg-lto-options "-Wno-return-type" } NACK, see above. > --- a/gcc/testsuite/g++.dg/lto/20101010-2_0.C > +++ b/gcc/testsuite/g++.dg/lto/20101010-2_0.C > @@ -1,4 +1,5 @@ > // { dg-lto-do link } > +// { dg-lto-options "-Wno-return-type" } NACK, see above. > --- a/gcc/testsuite/g++.dg/lto/pr65475c_0.C > +++ b/gcc/testsuite/g++.dg/lto/pr65475c_0.C > @@ -1,6 +1,7 @@ > /* { dg-lto-do link } */ > -/* { dg-lto-options "-O2 -w" } */ > /* { dg-extra-ld-options { -O2 -Wno-odr -r -nostdlib } } */ > +/* { dg-lto-options { "-O2 -w -Wno-return-type" } } */ I don't know about that one. This previously tested two variants separately: "-O2" and "-w", and you've now changed it to test one combined variant: "-O2 -w -Wno-return-type". Your change is correct if this previously meant to test the combined variant "-O2 -w" instead of each of them separately -- which I don't know/have not verified. > --- a/gcc/testsuite/g++.dg/lto/pr69589_0.C > +++ b/gcc/testsuite/g++.dg/lto/pr69589_0.C > @@ -1,5 +1,5 @@ > // { dg-lto-do link } > -// { dg-lto-options "-O2 -rdynamic" } > +// { dg-lto-options { "-O2 -rdynamic -Wno-return-type" } } > // { dg-extra-ld-options "-r -nostdlib" } Same: "-O2" and "-rdynamic" separately vs. now "-O2 -rdynamic -Wno-return-type" combined. Unfortunately, we can't use "dg-options" or "dg-additional-options" here: WARNING: lto.exp does not support dg-additional-options WARNING: lto.exp does not support dg-options in primary source file OK to fix the first four issues as follows? If approving this, please respond with "Reviewed-by: NAME <EMAIL>" so that your effort will be recorded. See <https://gcc.gnu.org/wiki/Reviewed-by>. diff --git gcc/testsuite/g++.dg/lto/20080907_0.C gcc/testsuite/g++.dg/lto/20080907_0.C index a423196..153d0ab 100644 --- gcc/testsuite/g++.dg/lto/20080907_0.C +++ gcc/testsuite/g++.dg/lto/20080907_0.C @@ -1,5 +1,7 @@ // { dg-lto-do assemble } -// { dg-lto-options "-Wno-return-type" } + +/* "WARNING: lto.exp does not support dg-additional-options" */ +#pragma GCC diagnostic ignored "-Wreturn-type" struct Foo { void func (); }; Foo & bar () { } struct Baz { Baz (Baz &); }; Baz dummy() { bar().func(); } diff --git gcc/testsuite/g++.dg/lto/20080915_0.C gcc/testsuite/g++.dg/lto/20080915_0.C index 40c5042..c91e756 100644 --- gcc/testsuite/g++.dg/lto/20080915_0.C +++ gcc/testsuite/g++.dg/lto/20080915_0.C @@ -1,5 +1,4 @@ // { dg-lto-do assemble } -// { dg-lto-options "-Wno-return-type" } struct Foo { static const int dummy; diff --git gcc/testsuite/g++.dg/lto/20101010-1_0.C gcc/testsuite/g++.dg/lto/20101010-1_0.C index 8f694c7..bb3e6d4 100644 --- gcc/testsuite/g++.dg/lto/20101010-1_0.C +++ gcc/testsuite/g++.dg/lto/20101010-1_0.C @@ -1,5 +1,7 @@ // { dg-lto-do link } -// { dg-lto-options "-Wno-return-type" } + +/* "WARNING: lto.exp does not support dg-additional-options" */ +#pragma GCC diagnostic ignored "-Wreturn-type" typedef long size_t; template < class, class > struct pair diff --git gcc/testsuite/g++.dg/lto/20101010-2_0.C gcc/testsuite/g++.dg/lto/20101010-2_0.C index a26956f..721ac01 100644 --- gcc/testsuite/g++.dg/lto/20101010-2_0.C +++ gcc/testsuite/g++.dg/lto/20101010-2_0.C @@ -1,5 +1,7 @@ // { dg-lto-do link } -// { dg-lto-options "-Wno-return-type" } + +/* "WARNING: lto.exp does not support dg-additional-options" */ +#pragma GCC diagnostic ignored "-Wreturn-type" typedef int size_t; template < size_t _Nw > struct _Base_bitset Grüße Thomas