diff mbox

PR55189 enable -Wreturn-type by default

Message ID 53A07226.4040803@debian.org
State New
Headers show

Commit Message

Sylvestre Ledru June 17, 2014, 4:51 p.m. UTC
On 05/06/2014 20:01, Joseph S. Myers wrote:
>
>> Initially, I implemented -Wmissing-return to manage this case (
>> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00820.html ) but Jason
>> suggested to remove that:
>> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg01033.html
>> (I don't have a strong opinion on the subject).
> I think splitting the option like that makes sense.  Compatibility 
> indicates that -Wreturn-type and -Wall should still enable 
> -Wmissing-return, but only the other pieces of -Wreturn-type should be 
> enabled by default, at least for C.  (Enabling -Wimplicit-int by default 
> might be a good starting point.)
OK.
As attachment, you will find a potential implementation. Is that what
you expect?

> Also, at least one testsuite change in your patch is wrong. 
OK. Thanks. I've probably made other (I update +1300 of them)

Thanks
Sylvestre

Comments

Joseph Myers June 17, 2014, 5:15 p.m. UTC | #1
On Tue, 17 Jun 2014, Sylvestre Ledru wrote:

> On 05/06/2014 20:01, Joseph S. Myers wrote:
> >
> >> Initially, I implemented -Wmissing-return to manage this case (
> >> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00820.html ) but Jason
> >> suggested to remove that:
> >> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg01033.html
> >> (I don't have a strong opinion on the subject).
> > I think splitting the option like that makes sense.  Compatibility 
> > indicates that -Wreturn-type and -Wall should still enable 
> > -Wmissing-return, but only the other pieces of -Wreturn-type should be 
> > enabled by default, at least for C.  (Enabling -Wimplicit-int by default 
> > might be a good starting point.)
> OK.
> As attachment, you will find a potential implementation. Is that what
> you expect?

It would help a lot if it included testcases for what various options / 
option combinations do / do not enable.  I expect that each option 
continues to enable the warnings it does at present (so if a user 
explicitly does -Wreturn-type it also enables the -Wmissing-return 
warnings, for example) - but some warnings would start to be enabled by 
default.  If someone does e.g. -Wno-implicit that would disable the 
default -Wimplicit-int; if they do -Wno-implicit -Wimplicit that would 
have the same effect as just -Wimplicit (so keeping the default warnings 
enabled, and possibly enabling others).
Sylvestre Ledru June 17, 2014, 5:37 p.m. UTC | #2
On 17/06/2014 19:15, Joseph S. Myers wrote:
> On Tue, 17 Jun 2014, Sylvestre Ledru wrote:
>
>> On 05/06/2014 20:01, Joseph S. Myers wrote:
>>>> Initially, I implemented -Wmissing-return to manage this case (
>>>> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00820.html ) but Jason
>>>> suggested to remove that:
>>>> https://gcc.gnu.org/ml/gcc-patches/2014-01/msg01033.html
>>>> (I don't have a strong opinion on the subject).
>>> I think splitting the option like that makes sense.  Compatibility 
>>> indicates that -Wreturn-type and -Wall should still enable 
>>> -Wmissing-return, but only the other pieces of -Wreturn-type should be 
>>> enabled by default, at least for C.  (Enabling -Wimplicit-int by default 
>>> might be a good starting point.)
>> OK.
>> As attachment, you will find a potential implementation. Is that what
>> you expect?
> It would help a lot if it included testcases for what various options / 
> option combinations do / do not enable.  
OK. I will do that.
We should test the following:
* default => run just -Wreturn-type
* -Wreturn-type => Run both
* -Wreturn-type + -Wmissing-return => Run both
* -Wno-return-type + -Wmissing-return => Run just the second one
* -Wno-return-type + -Wno-missing-return => Run none
Do you see any other?
> I expect that each option 
> continues to enable the warnings it does at present (so if a user 
> explicitly does -Wreturn-type it also enables the -Wmissing-return 
> warnings, for example) - but some warnings would start to be enabled by 
> default.  If someone does e.g. -Wno-implicit that would disable the 
> default -Wimplicit-int; if they do -Wno-implicit -Wimplicit that would 
> have the same effect as just -Wimplicit (so keeping the default warnings 
> enabled, and possibly enabling others).
>
OK. I will try to implement that later (I don't think -Wimplicit-int is
necessary to enable -Wreturn-type by default).
Besides that, are you OK with my changes? (with the tests updated)

Thanks,
Sylvestre
Joseph Myers June 17, 2014, 5:41 p.m. UTC | #3
On Tue, 17 Jun 2014, Sylvestre Ledru wrote:

> OK. I will do that.
> We should test the following:
> * default => run just -Wreturn-type
> * -Wreturn-type => Run both
> * -Wreturn-type + -Wmissing-return => Run both
> * -Wno-return-type + -Wmissing-return => Run just the second one
> * -Wno-return-type + -Wno-missing-return => Run none
> Do you see any other?

That looks like the right things to test, if there are no changes for 
anything other than those options.

> Besides that, are you OK with my changes? (with the tests updated)

The tests are key to reviewing whether the code changes actually do the 
right thing.
Sylvestre Ledru July 7, 2014, 5:17 p.m. UTC | #4
Hello,

On 17/06/2014 19:41, Joseph S. Myers wrote:
> On Tue, 17 Jun 2014, Sylvestre Ledru wrote:
> 
>> OK. I will do that.
>> We should test the following:
>> * default => run just -Wreturn-type
>> * -Wreturn-type => Run both
>> * -Wreturn-type + -Wmissing-return => Run both
>> * -Wno-return-type + -Wmissing-return => Run just the second one
>> * -Wno-return-type + -Wno-missing-return => Run none
>> Do you see any other?
> 
> That looks like the right things to test, if there are no changes for 
> anything other than those options.
Here it is:
https://github.com/sylvestre/gcc/commit/db8aaac91aa09fd1ec1cc8974586aec45a221e71

Is that what you expected?

>> Besides that, are you OK with my changes? (with the tests updated)
> 
> The tests are key to reviewing whether the code changes actually do the 
> right thing.
Right.

Thanks again for your help and comments, it is really appreciated,
Sylvestre
Sylvestre Ledru July 20, 2014, 5:06 p.m. UTC | #5
Joseph, ping :)

(I know you were in holidays)

S

On 07/07/2014 19:17, Sylvestre Ledru wrote:
> Hello,
>
> On 17/06/2014 19:41, Joseph S. Myers wrote:
>> On Tue, 17 Jun 2014, Sylvestre Ledru wrote:
>>
>>> OK. I will do that.
>>> We should test the following:
>>> * default => run just -Wreturn-type
>>> * -Wreturn-type => Run both
>>> * -Wreturn-type + -Wmissing-return => Run both
>>> * -Wno-return-type + -Wmissing-return => Run just the second one
>>> * -Wno-return-type + -Wno-missing-return => Run none
>>> Do you see any other?
>> That looks like the right things to test, if there are no changes for 
>> anything other than those options.
> Here it is:
> https://github.com/sylvestre/gcc/commit/db8aaac91aa09fd1ec1cc8974586aec45a221e71
>
> Is that what you expected?
>
>>> Besides that, are you OK with my changes? (with the tests updated)
>> The tests are key to reviewing whether the code changes actually do the 
>> right thing.
> Right.
>
> Thanks again for your help and comments, it is really appreciated,
> Sylvestre
>
Joseph Myers July 30, 2014, 10:08 p.m. UTC | #6
On Mon, 7 Jul 2014, Sylvestre Ledru wrote:

> Hello,
> 
> On 17/06/2014 19:41, Joseph S. Myers wrote:
> > On Tue, 17 Jun 2014, Sylvestre Ledru wrote:
> > 
> >> OK. I will do that.
> >> We should test the following:
> >> * default => run just -Wreturn-type
> >> * -Wreturn-type => Run both
> >> * -Wreturn-type + -Wmissing-return => Run both
> >> * -Wno-return-type + -Wmissing-return => Run just the second one
> >> * -Wno-return-type + -Wno-missing-return => Run none
> >> Do you see any other?
> > 
> > That looks like the right things to test, if there are no changes for 
> > anything other than those options.
> Here it is:
> https://github.com/sylvestre/gcc/commit/db8aaac91aa09fd1ec1cc8974586aec45a221e71
> 
> Is that what you expected?

The test Wmissing-return2.c only has one of the two warnings.  But as per 
"-Wreturn-type => Run both", and for backwards compatibility with the 
existing definition of -Wreturn-type, both warnings should appear for this 
test.  (It's simply that only a subset of -Wreturn-type seems suitable to 
enable by default for C.  Maybe the default subset, -Wreturn-type 
-Wno-missing-return (which is a combination that should also be included 
in the testcases), should have its own option name, although I don't know 
what that would be.)
Sylvestre Ledru Aug. 11, 2014, 7:44 a.m. UTC | #7
On 31/07/2014 00:08, Joseph S. Myers wrote:
> On Mon, 7 Jul 2014, Sylvestre Ledru wrote:
>
>> Hello,
>>
>> On 17/06/2014 19:41, Joseph S. Myers wrote:
>>> On Tue, 17 Jun 2014, Sylvestre Ledru wrote:
>>>
>>>> OK. I will do that.
>>>> We should test the following:
>>>> * default => run just -Wreturn-type
>>>> * -Wreturn-type => Run both
>>>> * -Wreturn-type + -Wmissing-return => Run both
>>>> * -Wno-return-type + -Wmissing-return => Run just the second one
>>>> * -Wno-return-type + -Wno-missing-return => Run none
>>>> Do you see any other?
>>> That looks like the right things to test, if there are no changes for 
>>> anything other than those options.
>> Here it is:
>> https://github.com/sylvestre/gcc/commit/db8aaac91aa09fd1ec1cc8974586aec45a221e71
>>
>> Is that what you expected?
> The test Wmissing-return2.c only has one of the two warnings.  But as per 
> "-Wreturn-type => Run both", and for backwards compatibility with the 
> existing definition of -Wreturn-type, both warnings should appear for this 
> test.  
Make sense. Thanks for the feedback and the help.
Here it is:
https://github.com/sylvestre/gcc/commit/089ffc9fb85034111b892ee10190dc12b5dbe551

> (It's simply that only a subset of -Wreturn-type seems suitable to 
> enable by default for C.  Maybe the default subset, -Wreturn-type 
> -Wno-missing-return (which is a combination that should also be included 
> in the testcases), should have its own option name, although I don't know 
> what that would be.)
>
What about implementing that in an further commit?
I have touched more than 1200 test files and I would like to see that
merged soon to avoid more conflicts.

By the way, do you prefer a single commit for all tests or one per
directory (gfortran, C++, gcc, OpenMP) ?

Thanks
Sylvestre
Joseph Myers Aug. 12, 2014, 5:48 p.m. UTC | #8
On Mon, 11 Aug 2014, Sylvestre Ledru wrote:

> > The test Wmissing-return2.c only has one of the two warnings.  But as per 
> > "-Wreturn-type => Run both", and for backwards compatibility with the 
> > existing definition of -Wreturn-type, both warnings should appear for this 
> > test.  
> Make sense. Thanks for the feedback and the help.
> Here it is:
> https://github.com/sylvestre/gcc/commit/089ffc9fb85034111b892ee10190dc12b5dbe551

Yes, those tests seem as I expect.

> By the way, do you prefer a single commit for all tests or one per
> directory (gfortran, C++, gcc, OpenMP) ?

Each commit needs to avoid causing regressions.  Thus, if a change to 
compiler behavior would cause an existing test to fail, the change to the 
test needs to be in the same commit as the change of behavior - or in a 
previous commit if the changed test works both with and without the 
compiler change.
Sylvestre Ledru Aug. 12, 2014, 5:53 p.m. UTC | #9
On 12/08/2014 19:48, Joseph S. Myers wrote:
> On Mon, 11 Aug 2014, Sylvestre Ledru wrote:
>
>>> The test Wmissing-return2.c only has one of the two warnings.  But as per 
>>> "-Wreturn-type => Run both", and for backwards compatibility with the 
>>> existing definition of -Wreturn-type, both warnings should appear for this 
>>> test.  
>> Make sense. Thanks for the feedback and the help.
>> Here it is:
>> https://github.com/sylvestre/gcc/commit/089ffc9fb85034111b892ee10190dc12b5dbe551
> Yes, those tests seem as I expect.
Thanks!
>> By the way, do you prefer a single commit for all tests or one per
>> directory (gfortran, C++, gcc, OpenMP) ?
> Each commit needs to avoid causing regressions.  Thus, if a change to 
> compiler behavior would cause an existing test to fail, the change to the 
> test needs to be in the same commit as the change of behavior - or in a 
> previous commit if the changed test works both with and without the 
> compiler change.
>
Since -Wreturn & -Wmissing-return are tied, I will have to commit
everything at once.

I am going to send the patch asap (after an update + build + tests to
make sure new tests pass).

Sylvestre
Sylvestre Ledru Aug. 14, 2014, 5:01 p.m. UTC | #10
On 12/08/2014 19:48, Joseph S. Myers wrote:
> On Mon, 11 Aug 2014, Sylvestre Ledru wrote:
>
>>> The test Wmissing-return2.c only has one of the two warnings.  But as per 
>>> "-Wreturn-type => Run both", and for backwards compatibility with the 
>>> existing definition of -Wreturn-type, both warnings should appear for this 
>>> test.  
>> Make sense. Thanks for the feedback and the help.
>> Here it is:
>> https://github.com/sylvestre/gcc/commit/089ffc9fb85034111b892ee10190dc12b5dbe551
> Yes, those tests seem as I expect.
>
So, here is the full commit now.
Since the patch is 600k, I uploaded it here:
http://sylvestre.ledru.info/0001-Enable-warning-Wreturn-type-by-default.patch
Let me know when I can commit that.

At the end of this mail, I also added the changelog for
Enable -Wimplicit-int by default
Patch:
http://sylvestre.ledru.info/0002-Enable-Wimplicit-int-by-default.patch
Let me know if you prefer a separate mail.

Everything is on github if it helps:
https://github.com/sylvestre/gcc

gcc/c-family/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * c.opt: Enable -Wreturn-type by default
        Add -Wmissing-return:
        Warn whenever control may reach end of non-void function

gcc/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * doc/invoke.texi: Document new flag -Wmissing-return
        Update -Wreturn-type
    * tree-cfg.c (pass_warn_function_return::execute):
        Introduce -Wreturn-type management

gcc/fortran/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * options.c (gfc_handle_option): Manage the new flag -Wmissing-return

libgomp/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * testsuite/libgomp.c++/loop-2.C: Update the test with -Wreturn-type by
        default and -Wmissing-return
    * testsuite/libgomp.c++/loop-4.C: likewise
    * testsuite/libgomp.c++/parallel-1.C: likewise
    * testsuite/libgomp.c++/shared-1.C: likewise
    * testsuite/libgomp.c++/single-1.C: likewise
    * testsuite/libgomp.c++/single-2.C: likewise
    * testsuite/libgomp.c/omp-loop02.c: likewise
    * testsuite/libgomp.c/omp-parallel-for.c: likewise
    * testsuite/libgomp.c/omp-parallel-if.c: likewise
    * testsuite/libgomp.c/omp-single-1.c: likewise
    * testsuite/libgomp.c/omp-single-2.c: likewise
    * testsuite/libgomp.c/omp_matvec.c: likewise
    * testsuite/libgomp.c/omp_workshare3.c: likewise
    * testsuite/libgomp.c/omp_workshare4.c: likewise
    * testsuite/libgomp.c/pr30494.c (check): likewise
    * testsuite/libgomp.c/shared-1.c: likewise

gcc/testsuite/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * gcc.dg/Wmissing-return1.c: New test which tests the new behavior
    * gcc.dg/Wmissing-return2.c: New test which tests the new behavior
    * gcc.dg/Wmissing-return3.c: New test which tests the new behavior
    * gcc.dg/Wmissing-return4.c: New test which tests the new behavior
    * gcc.dg/Wmissing-return5.c: New test which tests the new behavior
    * c-c++-common/asan/no-redundant-instrumentation-2.c (main):
        Update the test with -Wreturn-type by default and -Wmissing-return
    * c-c++-common/cilk-plus/AN/decl-ptr-colon.c (int main): likewise
    * c-c++-common/cilk-plus/AN/parser_errors.c: likewise
    * c-c++-common/cilk-plus/AN/parser_errors2.c: likewise
    * c-c++-common/cilk-plus/AN/parser_errors3.c: likewise
    * c-c++-common/cilk-plus/AN/pr57457-2.c: likewise
    * c-c++-common/cilk-plus/AN/pr57541-2.c (void foo1): likewise
    (void foo2): likewise
    * c-c++-common/cilk-plus/AN/pr57541.c (int foo): likewise
    (int foo1): likewise
    * c-c++-common/cilk-plus/CK/pr60197.c: likewise
    * c-c++-common/cilk-plus/CK/spawn_in_return.c: likewise
    * c-c++-common/convert-vec-1.c: likewise
    * c-c++-common/dfp/call-by-value.c (int foo32): likewise
    (int foo64): likewise
    (int foo128): likewise
    * c-c++-common/pr36513-2.c (int main2): likewise
    * c-c++-common/pr36513.c (int main1): likewise
    * c-c++-common/pr43772.c: likewise
    * c-c++-common/pr49706-2.c (same): likewise
    * c-c++-common/raw-string-3.c: likewise
    * c-c++-common/tm/pr54893.c: likewise
    * c-c++-common/tm/trxn-expr-2.c: likewise
    * c-c++-common/tsan/fd_pipe_race.c: likewise
    * c-c++-common/tsan/tls_race.c: likewise
    * c-c++-common/vector-1.c (int f): likewise
    * c-c++-common/vector-2.c (void f): likewise
    * g++.dg/abi/covariant2.C (struct c3): likewise
    (struct c7): likewise
    * g++.dg/abi/covariant3.C: likewise
    * g++.dg/abi/key2.C (int sub): likewise
    * g++.dg/abi/mangle7.C: likewise
    * g++.dg/bprob/g++-bprob-1.C (call_for): likewise
    * g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.cc: likewise
    * g++.dg/conversion/op1.C (class C): likewise
    (int fn): likewise
    * g++.dg/conversion/op6.C: likewise
    * g++.dg/cpp0x/access01.C: likewise
    * g++.dg/cpp0x/alias-decl-19.C: likewise
    * g++.dg/cpp0x/auto2.C (struct A): likewise
    * g++.dg/cpp0x/constexpr-defarg2.C: likewise
    * g++.dg/cpp0x/constexpr-memfn1.C: likewise
    * g++.dg/cpp0x/dc1.C (struct D): likewise
    * g++.dg/cpp0x/dc3.C: likewise
    * g++.dg/cpp0x/decltype12.C: likewise
    * g++.dg/cpp0x/decltype17.C (decltype): likewise
    * g++.dg/cpp0x/decltype3.C: likewise
    * g++.dg/cpp0x/decltype41.C (struct C): likewise
    * g++.dg/cpp0x/defaulted28.C: likewise
    * g++.dg/cpp0x/gen-attrs-4.C (five): likewise
    * g++.dg/cpp0x/lambda/lambda-deduce-ext-neg.C: likewise
    * g++.dg/cpp0x/lambda/lambda-defarg3.C: likewise
    * g++.dg/cpp0x/lambda/lambda-field-names.C: likewise
    * g++.dg/cpp0x/lambda/lambda-ice3.C (bool Klass: likewise:
likewisedostuff): likewise
    * g++.dg/cpp0x/lambda/lambda-ice5.C (template int foo): likewise
    * g++.dg/cpp0x/lambda/lambda-nested2.C (void f1): likewise
    * g++.dg/cpp0x/lambda/lambda-template.C: likewise
    * g++.dg/cpp0x/lambda/lambda-template12.C (class X): likewise
    * g++.dg/cpp0x/lambda/lambda-template2.C (struct T): likewise
    * g++.dg/cpp0x/lambda/lambda-this12.C: likewise
    * g++.dg/cpp0x/noexcept16.C: likewise
    * g++.dg/cpp0x/nolinkage1.C: likewise
    * g++.dg/cpp0x/nolinkage1a.cc: likewise
    * g++.dg/cpp0x/nsdmi-template5.C: likewise
    * g++.dg/cpp0x/parse1.C: likewise
    * g++.dg/cpp0x/pr34054.C: likewise
    * g++.dg/cpp0x/pr38795.C: likewise
    * g++.dg/cpp0x/pr47416.C: likewise
    * g++.dg/cpp0x/pr58781.C (f): likewise
    * g++.dg/cpp0x/range-for13.C (template int *begin): likewise
    (template int *end): likewise
    * g++.dg/cpp0x/range-for14.C: likewise
    * g++.dg/cpp0x/range-for6.C: likewise
    * g++.dg/cpp0x/rv-trivial-bug.C (int test2): likewise
    * g++.dg/cpp0x/rv2n.C: likewise
    * g++.dg/cpp0x/rv3n.C: likewise
    * g++.dg/cpp0x/static_assert10.C (template bool foo): likewise
    * g++.dg/cpp0x/static_assert11.C: likewise
    * g++.dg/cpp0x/trailing1.C (auto f): likewise
    * g++.dg/cpp0x/trailing5.C: likewise
    * g++.dg/cpp0x/udlit-template.C (test1): likewise
    * g++.dg/cpp0x/variadic-throw.C: likewise
    * g++.dg/cpp0x/variadic114.C: likewise
    * g++.dg/cpp0x/variadic57.C: likewise
    * g++.dg/cpp0x/variadic65.C: likewise
    * g++.dg/cpp0x/variadic66.C: likewise
    * g++.dg/cpp0x/variadic77.C: likewise
    * g++.dg/cpp0x/variadic97.C: likewise
    * g++.dg/cpp0x/variadic98.C: likewise
    * g++.dg/cpp0x/vt-35023.C: likewise
    * g++.dg/cpp0x/vt-35024.C: likewise
    * g++.dg/cpp1y/lambda-init7.C: likewise
    * g++.dg/debug/dwarf-eh-personality-1.C (int foobar): likewise
    * g++.dg/debug/dwarf2/dwarf4-typedef.C: likewise
    * g++.dg/debug/dwarf2/icf.C (test2): likewise
    * g++.dg/debug/dwarf2/pr61433.C: likewise
    * g++.dg/debug/pr16792.C: likewise
    * g++.dg/debug/pr46241.C: likewise
    * g++.dg/debug/pr46338.C (struct S): likewise
    * g++.dg/debug/pr47106.C (baz): likewise
    (bar): likewise
    (foo): likewise
    * g++.dg/debug/pr53466.C: likewise
    * g++.dg/dfp/44473-1.C: likewise
    * g++.dg/dfp/44473-2.C: likewise
    * g++.dg/eh/builtin1.C: likewise
    * g++.dg/eh/builtin2.C: likewise
    * g++.dg/eh/builtin3.C: likewise
    * g++.dg/eh/pr45569.C (float j): likewise
    * g++.dg/eh/sighandle.C: likewise
    * g++.dg/eh/unwind2.C: likewise
    * g++.dg/expr/bitfield11.C: likewise
    * g++.dg/expr/cond12.C: likewise
    * g++.dg/expr/cond2.C: likewise
    * g++.dg/expr/static_cast7.C: likewise
    * g++.dg/ext/builtin-object-size3.C: likewise
    * g++.dg/ext/has_nothrow_assign_odr.C: likewise
    * g++.dg/ext/java-1.C: likewise
    * g++.dg/ext/label7.C: likewise
    * g++.dg/ext/label8.C: likewise
    * g++.dg/ext/tmplattr7.C: likewise
    * g++.dg/ext/vector14.C: likewise
    * g++.dg/ext/vector8.C: likewise
    * g++.dg/ext/visibility/anon1.C: likewise
    * g++.dg/ext/visibility/anon2.C: likewise
    * g++.dg/ext/visibility/namespace1.C (namespace foo __attribute):
likewise
    * g++.dg/gcov/gcov-1.C: likewise
    * g++.dg/gomp/block-8.C: likewise
    * g++.dg/gomp/declare-simd-1.C: likewise
    * g++.dg/gomp/pr37189.C: likewise
    * g++.dg/gomp/pr39495-1.C: likewise
    * g++.dg/gomp/pr39495-2.C: likewise
    * g++.dg/gomp/pr41429.C: likewise
    * g++.dg/graphite/pr41305.C: likewise
    * g++.dg/graphite/pr41562.C (int Siren7_EncodeFrame): likewise
    * g++.dg/graphite/pr42930.C: likewise
    * g++.dg/inherit/covariant10.C: likewise
    * g++.dg/inherit/covariant11.C: likewise
    * g++.dg/inherit/crash4.C: likewise
    * g++.dg/inherit/virtual2.C: likewise
    * g++.dg/inherit/virtual3.C: likewise
    * g++.dg/init/const4.C (bool foo): likewise
    * g++.dg/init/ctor8.C: likewise
    * g++.dg/init/inline1.C: likewise
    * g++.dg/init/new18.C: likewise
    * g++.dg/init/new37.C: likewise
    * g++.dg/init/ref8.C: likewise
    * g++.dg/init/reference2.C: likewise
    * g++.dg/init/reference3.C: likewise
    * g++.dg/init/switch1.C: likewise
    * g++.dg/ipa/devirt-10.C (struct wxDCBase): likewise
    * g++.dg/ipa/devirt-13.C: likewise
    * g++.dg/ipa/devirt-14.C: likewise
    * g++.dg/ipa/devirt-15.C: likewise
    * g++.dg/ipa/devirt-16.C: likewise
    * g++.dg/ipa/devirt-17.C: likewise
    * g++.dg/ipa/devirt-18.C: likewise
    * g++.dg/ipa/devirt-19.C: likewise
    * g++.dg/ipa/devirt-21.C: likewise
    * g++.dg/ipa/devirt-23.C: likewise
    * g++.dg/ipa/devirt-34.C (t): likewise
    * g++.dg/ipa/pr43812.C: likewise
    * g++.dg/ipa/pr44372.C: likewise
    * g++.dg/ipa/pr45572-1.C: likewise
    * g++.dg/ipa/pr58371.C: likewise
    * g++.dg/ipa/pr59176.C: likewise
    * g++.dg/ipa/pr60640-1.C (class ASN1Object): likewise
    * g++.dg/ipa/pr61540.C: likewise
    * g++.dg/ipa/remref-1.C: likewise
    * g++.dg/ipa/remref-2.C: likewise
    * g++.dg/lookup/builtin2.C: likewise
    * g++.dg/lookup/conv-1.C: likewise
    * g++.dg/lookup/crash3.C (int crash): likewise
    * g++.dg/lookup/hidden-class15.C: likewise
    * g++.dg/lookup/hidden-class16.C: likewise
    * g++.dg/lookup/hidden-var1.C (struct Outer): likewise
    * g++.dg/lookup/scoped8.C: likewise
    * g++.dg/lookup/struct2.C: likewise
    * g++.dg/lookup/suggestions1.C: likewise
    * g++.dg/lto/20080907_0.C: likewise
    * g++.dg/lto/20080915_0.C: likewise
    * g++.dg/lto/20080916_0.C: likewise
    * g++.dg/lto/20100603-1_1.c: likewise
    * g++.dg/lto/20101010-1_0.C: likewise
    * g++.dg/lto/20101010-2_0.C: likewise
    * g++.dg/lto/pr54625-1_0.c (void speex_resampler_init_frac): likewise
    * g++.dg/lto/pr54625-2_0.c (double update_filter): likewise
    * g++.dg/opt/combine.C: likewise
    * g++.dg/opt/complex3.C: likewise
    * g++.dg/opt/const3.C: likewise
    * g++.dg/opt/covariant1.C: likewise
    * g++.dg/opt/dump1.C: likewise
    * g++.dg/opt/inline15.C: likewise
    * g++.dg/opt/local1.C: likewise
    * g++.dg/opt/memcpy1.C: likewise
    * g++.dg/opt/new1.C: likewise
    * g++.dg/opt/nrv8.C: likewise
    * g++.dg/opt/pr23299.C (E: likewise: likewisec): likewise
    * g++.dg/opt/pr27826.C (struct Geometry): likewise
    * g++.dg/opt/pr44919.C: likewise
    * g++.dg/opt/pr46640.C (struct QBasicAtomicInt): likewise
    (bool makeDir): likewise
    * g++.dg/opt/pr47615.C: likewise
    * g++.dg/opt/pr55329.C: likewise
    * g++.dg/opt/pr61456.C (static int Set): likewise
    * g++.dg/other/array3.C (bool reserve): likewise
    * g++.dg/other/assign1.C: likewise
    * g++.dg/other/copy2.C: likewise
    * g++.dg/other/crash-5.C: likewise
    * g++.dg/other/crash-8.C: likewise
    * g++.dg/other/error34.C: likewise
    * g++.dg/other/i386-8.C: likewise
    * g++.dg/other/pr22003.C (struct c1): likewise
    * g++.dg/other/pr24623.C (class ReferenceCounted): likewise
    * g++.dg/other/pr29610.C (struct __normal_iterator): likewise
    * g++.dg/other/pr42645-1.C: likewise
    * g++.dg/other/pr42645-2.C (f3): likewise
    * g++.dg/other/pr52048.C: likewise
    * g++.dg/other/ptrmem11.C: likewise
    * g++.dg/other/typedef3.C (struct XalanCProcessor): likewise
    * g++.dg/overload/addr1.C: likewise
    * g++.dg/overload/copy1.C: likewise
    * g++.dg/overload/defarg4.C (class foo): likewise
    * g++.dg/overload/operator5.C: likewise
    * g++.dg/overload/ref-conv1.C: likewise
    * g++.dg/overload/template5.C (int test): likewise
    * g++.dg/parse/crash37.C: likewise
    * g++.dg/parse/crash40.C: likewise
    * g++.dg/parse/crash61.C: likewise
    * g++.dg/parse/ctor5.C: likewise
    * g++.dg/parse/defarg4.C: likewise
    * g++.dg/parse/defarg6.C: likewise
    * g++.dg/parse/error41.C: likewise
    * g++.dg/parse/error42.C: likewise
    * g++.dg/parse/error43.C: likewise
    * g++.dg/parse/error44.C: likewise
    * g++.dg/parse/error5.C: likewise
    * g++.dg/parse/error6.C: likewise
    * g++.dg/parse/expr2.C: likewise
    * g++.dg/parse/friend7.C: likewise
    * g++.dg/parse/limits-initializer1.C: likewise
    * g++.dg/parse/namespace1.C: likewise
    * g++.dg/parse/namespace9.C (int g): likewise
    * g++.dg/parse/non-dependent2.C: likewise
    * g++.dg/parse/ret-type2.C: likewise
    * g++.dg/parse/typedef8.C: likewise
    * g++.dg/pch/static-1.C (int LocalStaticTest): likewise
    * g++.dg/plugin/dumb-plugin-test-1.C (int func): likewise
    * g++.dg/plugin/self-assign-test-1.C: likewise
    * g++.dg/plugin/self-assign-test-2.C: likewise
    * g++.dg/plugin/self-assign-test-3.C: likewise
    * g++.dg/pr45330.C: likewise
    * g++.dg/pr45788.C: likewise
    * g++.dg/pr48484.C: likewise
    * g++.dg/pr49847.C: likewise
    * g++.dg/pr55513.C: likewise
    * g++.dg/pr55604.C: likewise
    * g++.dg/pr57662.C: likewise
    * g++.dg/pr58389.C: likewise
    * g++.dg/pr58438.C (static int fn1): likewise
    * g++.dg/pr59445.C: likewise
    * g++.dg/pr59510.C: likewise
    * g++.dg/tc1/dr152.C: likewise
    * g++.dg/template/aggr-init1.C: likewise
    * g++.dg/template/anon1.C: likewise
    * g++.dg/template/array7.C (int bar): likewise
    * g++.dg/template/canon-type-8.C: likewise
    * g++.dg/template/conv1.C: likewise
    * g++.dg/template/crash107.C: likewise
    * g++.dg/template/crash23.C: likewise
    * g++.dg/template/crash72.C: likewise
    * g++.dg/template/crash8.C: likewise
    * g++.dg/template/defarg4.C: likewise
    * g++.dg/template/error10.C: likewise
    * g++.dg/template/friend32.C: likewise
    * g++.dg/template/init6.C: likewise
    * g++.dg/template/instantiate3.C: likewise
    * g++.dg/template/local6.C: likewise
    * g++.dg/template/memfriend7.C: likewise
    * g++.dg/template/new10.C: likewise
    * g++.dg/template/nontype12.C: likewise
    * g++.dg/template/overload12.C: likewise
    * g++.dg/template/overload5.C: likewise
    * g++.dg/template/overload8.C: likewise
    * g++.dg/template/partial10.C: likewise
    * g++.dg/template/partial9.C: likewise
    * g++.dg/template/qual1.C: likewise
    * g++.dg/template/recurse.C: likewise
    * g++.dg/template/sizeof8.C: likewise
    * g++.dg/template/sizeof9.C: likewise
    * g++.dg/template/spec22.C: likewise
    * g++.dg/template/spec23.C (struct Foo): likewise
    * g++.dg/template/spec6.C: likewise
    * g++.dg/template/spec7.C (int h): likewise
    * g++.dg/template/typedef8.C: likewise
    * g++.dg/template/using20.C: likewise
    * g++.dg/template/vla1.C (static int label): likewise
    * g++.dg/tls/thread_local3.C: likewise
    * g++.dg/tls/thread_local3g.C: likewise
    * g++.dg/tls/thread_local5.C: likewise
    * g++.dg/tls/thread_local5g.C: likewise
    * g++.dg/tls/thread_local6.C: likewise
    * g++.dg/tls/thread_local6g.C: likewise
    * g++.dg/tm/cgraph_edge.C: likewise
    * g++.dg/tm/pr46646.C: likewise
    * g++.dg/tm/pr47554.C (class list): likewise
    * g++.dg/tm/pr47573.C (int getStringHeight): likewise
    * g++.dg/tm/pr58635-2.C: likewise
    * g++.dg/tm/pr60004.C: likewise
    * g++.dg/torture/20070621-1.C: likewise
    * g++.dg/torture/20090329-1.C: likewise
    * g++.dg/torture/pr33134.C: likewise
    * g++.dg/torture/pr33340.C: likewise
    * g++.dg/torture/pr33627.C: likewise
    * g++.dg/torture/pr34222.C: likewise
    * g++.dg/torture/pr34241.C (inline void *operator  new): likewise
    * g++.dg/torture/pr34641.C: likewise
    * g++.dg/torture/pr34850.C: likewise
    * g++.dg/torture/pr35164-1.C: likewise
    * g++.dg/torture/pr36745.C: likewise
    * g++.dg/torture/pr38705.C (S: likewise: likewisebar): likewise
    * g++.dg/torture/pr38811.C: likewise
    * g++.dg/torture/pr39362.C: likewise
    * g++.dg/torture/pr39732.C: likewise
    * g++.dg/torture/pr41775.C: likewise
    * g++.dg/torture/pr42183.C: likewise
    * g++.dg/torture/pr42450.C: likewise
    * g++.dg/torture/pr42704.C: likewise
    * g++.dg/torture/pr42760.C: likewise
    * g++.dg/torture/pr42773.C: likewise
    * g++.dg/torture/pr42883.C: likewise
    * g++.dg/torture/pr43257.C: likewise
    * g++.dg/torture/pr43905.C: likewise
    * g++.dg/torture/pr44148.C: likewise
    * g++.dg/torture/pr44295.C: likewise
    * g++.dg/torture/pr44357.C: likewise
    * g++.dg/torture/pr44813.C: likewise
    * g++.dg/torture/pr45580.C: likewise
    * g++.dg/torture/pr45874.C: likewise
    * g++.dg/torture/pr45877.C (namespace std __attribute__): likewise
    * g++.dg/torture/pr46383.C: likewise
    * g++.dg/torture/pr46469.C (int identifierByPthreadHandle): likewise
    * g++.dg/torture/pr47313.C: likewise
    * g++.dg/torture/pr48271.C: likewise
    * g++.dg/torture/pr49615.C: likewise
    * g++.dg/torture/pr49628.C: likewise
    * g++.dg/torture/pr49938.C: likewise
    * g++.dg/torture/pr51436.C: likewise
    * g++.dg/torture/pr51482.C: likewise
    * g++.dg/torture/pr51737.C: likewise
    * g++.dg/torture/pr51959.C: likewise
    * g++.dg/torture/pr52772.C: likewise
    * g++.dg/torture/pr52918-2.C: likewise
    * g++.dg/torture/pr53011.C: likewise
    * g++.dg/torture/pr53752.C: likewise
    * g++.dg/torture/pr54684.C: likewise
    * g++.dg/torture/pr54838.C (struct bidirectional_iterator_tag): likewise
    * g++.dg/torture/pr54902.C: likewise
    * g++.dg/torture/pr55740.C (bool IsValidPath): likewise
    * g++.dg/torture/pr56029.C: likewise
    * g++.dg/torture/pr56694.C: likewise
    * g++.dg/torture/pr57107.C: likewise
    * g++.dg/torture/pr57140.C: likewise
    * g++.dg/torture/pr57235.C: likewise
    * g++.dg/torture/pr58252.C: likewise
    * g++.dg/torture/pr58369.C: likewise
    * g++.dg/torture/pr58555.C: likewise
    * g++.dg/torture/pr59208.C: likewise
    * g++.dg/torture/pr60438-1.C: likewise
    * g++.dg/torture/pr60438-2.C: likewise
    * g++.dg/torture/pr60648.C (enum component): likewise
    * g++.dg/torture/pr60746.C (Two: likewise: likewiserun): likewise
    * g++.dg/torture/predcom-1.C (bool Baz): likewise
    * g++.dg/tree-ssa/copyprop.C: likewise
    * g++.dg/tree-ssa/pr22444.C: likewise
    * g++.dg/tree-ssa/pr23948.C (int make_scheduler_request): likewise
    * g++.dg/tree-ssa/pr24172.C (inline int* dummy): likewise
    * g++.dg/tree-ssa/pr24351-3.C: likewise
    * g++.dg/tree-ssa/pr27283.C: likewise
    * g++.dg/tree-ssa/pr27291.C: likewise
    * g++.dg/tree-ssa/pr27548.C: likewise
    * g++.dg/tree-ssa/pr33604.C (struct Value): likewise
    * g++.dg/tree-ssa/pr34355.C (double Parse_Float): likewise
    * g++.dg/tree-ssa/pr42337.C: likewise
    * g++.dg/vect/pr60836.cc: likewise
    * g++.dg/warn/Wconversion-null-2.C (int warn_for___null): likewise
    * g++.dg/warn/Wnull-conversion-2.C: likewise
    * g++.dg/warn/Wparentheses-10.C: likewise
    * g++.dg/warn/Wparentheses-11.C: likewise
    * g++.dg/warn/Wparentheses-12.C: likewise
    * g++.dg/warn/Wparentheses-25.C: likewise
    * g++.dg/warn/Wparentheses-6.C: likewise
    * g++.dg/warn/Wparentheses-7.C: likewise
    * g++.dg/warn/Wparentheses-8.C: likewise
    * g++.dg/warn/Wparentheses-9.C: likewise
    * g++.dg/warn/Wshadow-5.C: likewise
    * g++.dg/warn/Wtype-limits-Wextra.C: likewise
    * g++.dg/warn/Wtype-limits-no.C: likewise
    * g++.dg/warn/Wtype-limits.C: likewise
    * g++.dg/warn/Wunused-local-typedefs.C: likewise
    * g++.dg/warn/Wzero-as-null-pointer-constant-5.C (struct foo): likewise
    * g++.dg/warn/pmf1.C (a: likewise: likewisef): likewise
    * g++.dg/warn/string1.C: likewise
    * g++.old-deja/g++.benjamin/p13417.C: likewise
    * g++.old-deja/g++.brendan/crash24.C: likewise
    * g++.old-deja/g++.brendan/scope1.C: likewise
    * g++.old-deja/g++.eh/catch13.C: likewise
    * g++.old-deja/g++.eh/crash1.C: likewise
    * g++.old-deja/g++.ext/arrnew.C: likewise
    * g++.old-deja/g++.ext/constructor.C: likewise
    * g++.old-deja/g++.ext/namedret1.C: likewise
    * g++.old-deja/g++.ext/namedret2.C: likewise
    * g++.old-deja/g++.ext/namedret3.C: likewise
    * g++.old-deja/g++.ext/return1.C: likewise
    * g++.old-deja/g++.jason/anon4.C: likewise
    * g++.old-deja/g++.jason/enum6.C: likewise
    * g++.old-deja/g++.jason/lineno2.C: likewise
    * g++.old-deja/g++.jason/lineno3.C: likewise
    * g++.old-deja/g++.jason/lineno4.C: likewise
    * g++.old-deja/g++.jason/member.C (struct Y): likewise
    * g++.old-deja/g++.jason/new2.C: likewise
    * g++.old-deja/g++.jason/new4.C: likewise
    * g++.old-deja/g++.jason/report.C: likewise
    * g++.old-deja/g++.jason/shadow1.C: likewise
    * g++.old-deja/g++.jason/tempcons.C: likewise
    * g++.old-deja/g++.jason/thunk2.C: likewise
    * g++.old-deja/g++.law/builtin1.C: likewise
    * g++.old-deja/g++.law/enum9.C: likewise
    * g++.old-deja/g++.law/except3.C: likewise
    * g++.old-deja/g++.law/init6.C: likewise
    * g++.old-deja/g++.law/profile1.C: likewise
    * g++.old-deja/g++.law/shadow2.C: likewise
    * g++.old-deja/g++.law/temps4.C: likewise
    * g++.old-deja/g++.law/typeck1.C: likewise
    * g++.old-deja/g++.law/visibility13.C: likewise
    * g++.old-deja/g++.law/weak.C: likewise
    * g++.old-deja/g++.mike/bool2.C: likewise
    * g++.old-deja/g++.mike/eh1.C: likewise
    * g++.old-deja/g++.mike/eh10.C: likewise
    * g++.old-deja/g++.mike/eh13.C: likewise
    * g++.old-deja/g++.mike/eh16.C: likewise
    * g++.old-deja/g++.mike/eh17.C: likewise
    * g++.old-deja/g++.mike/eh2.C: likewise
    * g++.old-deja/g++.mike/eh23.C: likewise
    * g++.old-deja/g++.mike/eh24.C: likewise
    * g++.old-deja/g++.mike/eh25.C: likewise
    * g++.old-deja/g++.mike/eh26.C: likewise
    * g++.old-deja/g++.mike/eh27.C: likewise
    * g++.old-deja/g++.mike/eh28.C: likewise
    * g++.old-deja/g++.mike/eh29.C: likewise
    * g++.old-deja/g++.mike/eh30.C: likewise
    * g++.old-deja/g++.mike/eh31.C: likewise
    * g++.old-deja/g++.mike/eh35.C: likewise
    * g++.old-deja/g++.mike/eh36.C: likewise
    * g++.old-deja/g++.mike/eh37.C: likewise
    * g++.old-deja/g++.mike/eh38.C: likewise
    * g++.old-deja/g++.mike/eh39.C: likewise
    * g++.old-deja/g++.mike/eh40.C: likewise
    * g++.old-deja/g++.mike/eh47.C: likewise
    * g++.old-deja/g++.mike/eh50.C: likewise
    * g++.old-deja/g++.mike/eh51.C: likewise
    * g++.old-deja/g++.mike/eh7.C: likewise
    * g++.old-deja/g++.mike/eh8.C: likewise
    * g++.old-deja/g++.mike/eh9.C: likewise
    * g++.old-deja/g++.mike/explicit2.C: likewise
    * g++.old-deja/g++.mike/mangle1.C: likewise
    * g++.old-deja/g++.mike/p11110.C: likewise
    * g++.old-deja/g++.mike/p5958.C: likewise
    * g++.old-deja/g++.mike/p6004.C: likewise
    * g++.old-deja/g++.mike/p700.C: likewise
    * g++.old-deja/g++.mike/p7912.C: likewise
    * g++.old-deja/g++.mike/p811.C: likewise
    * g++.old-deja/g++.mike/p9732c.C: likewise
    * g++.old-deja/g++.mike/virt4.C: likewise
    * g++.old-deja/g++.oliva/nameret1.C: likewise
    * g++.old-deja/g++.oliva/nameret2.C: likewise
    * g++.old-deja/g++.other/builtins5.C: likewise
    * g++.old-deja/g++.other/decl1.C: likewise
    * g++.old-deja/g++.other/expr1.C: likewise
    * g++.old-deja/g++.other/inline8.C: likewise
    * g++.old-deja/g++.other/loop1.C: likewise
    * g++.old-deja/g++.other/return1.C: likewise
    * g++.old-deja/g++.other/syntax1.C: likewise
    * g++.old-deja/g++.pt/call2.C: likewise
    * g++.old-deja/g++.pt/crash36.C: likewise
    * g++.old-deja/g++.pt/overload14.C: likewise
    * g++.old-deja/g++.pt/repo3.C: likewise
    * g++.old-deja/g++.pt/t24.C: likewise
    * g++.old-deja/g++.pt/ttp10.C: likewise
    * g++.old-deja/g++.robertl/eb22.C: likewise
    * g++.old-deja/g++.robertl/eb27.C: likewise
    * g++.old-deja/g++.robertl/eb83.C: likewise
    * gcc.c-torture/compile/20090721-1.c: likewise
    * gcc.c-torture/compile/pr25483.c (decode_init): likewise
    * gcc.c-torture/compile/pr44686.c (memcpy): likewise
    * gcc.c-torture/compile/pr56571.c: likewise
    * gcc.c-torture/compile/pr60655-1.c (short mp_compare): likewise
    (int upton_modmult): likewise
    * gcc.dg/20001012-1.c: likewise
    * gcc.dg/20001012-2.c: likewise
    * gcc.dg/20001108-1.c: likewise
    * gcc.dg/20010516-1.c (void foo): likewise
    * gcc.dg/20011008-2.c: likewise
    * gcc.dg/20020201-1.c: likewise
    * gcc.dg/20020415-1.c: likewise
    * gcc.dg/20020607-2.c (void test1): likewise
    (void test1f): likewise
    (void test2): likewise
    (void test2f): likewise
    * gcc.dg/20030331-2.c: likewise
    * gcc.dg/20030612-1.c: likewise
    * gcc.dg/20040219-1.c: likewise
    * gcc.dg/20040622-2.c: likewise
    * gcc.dg/20040920-1.c: likewise
    * gcc.dg/20041213-1.c: likewise
    * gcc.dg/20050603-2.c: likewise
    * gcc.dg/20051201-1.c: likewise
    * gcc.dg/20061026.c: likewise
    * gcc.dg/990506-0.c (void x): likewise
    * gcc.dg/Wcxx-compat-8.c (struct s1): likewise
    * gcc.dg/Wjump-misses-init-1.c (f1): likewise
    * gcc.dg/Wno-pointer-sign.c: likewise
    * gcc.dg/Wparentheses-1.c: likewise
    * gcc.dg/Wparentheses-10.c: likewise
    * gcc.dg/Wparentheses-11.c: likewise
    * gcc.dg/Wparentheses-2.c: likewise
    * gcc.dg/Wparentheses-3.c: likewise
    * gcc.dg/Wparentheses-4.c: likewise
    * gcc.dg/Wparentheses-5.c: likewise
    * gcc.dg/Wparentheses-6.c: likewise
    * gcc.dg/Wparentheses-7.c: likewise
    * gcc.dg/Wparentheses-8.c: likewise
    * gcc.dg/Wparentheses-9.c: likewise
    * gcc.dg/Wreturn-type2.c: likewise
    * gcc.dg/anon-struct-13.c: likewise
    * gcc.dg/anon-struct-14.c: likewise
    * gcc.dg/asm-4.c: likewise
    * gcc.dg/assign-warn-1.c: likewise
    * gcc.dg/assign-warn-2.c: likewise
    * gcc.dg/atomic-invalid.c: likewise
    * gcc.dg/atomic-param.c: likewise
    * gcc.dg/attr-alias-3.c: likewise
    * gcc.dg/attr-externally-visible-1.c: likewise
    * gcc.dg/builtin-bswap-6.c: likewise
    * gcc.dg/builtin-bswap-7.c: likewise
    * gcc.dg/builtins-43.c: likewise
    * gcc.dg/builtins-44.c: likewise
    * gcc.dg/builtins-45.c: likewise
    * gcc.dg/c90-impl-int-1.c: likewise
    * gcc.dg/c90-return-1.c: likewise
    * gcc.dg/c99-impl-int-1.c: likewise
    * gcc.dg/cast-qual-3.c: likewise
    * gcc.dg/charset/asm4.c: likewise
    * gcc.dg/compound-literal-1.c: likewise
    * gcc.dg/conv-2.c: likewise
    * gcc.dg/cpp/_Pragma3.c: likewise
    * gcc.dg/cpp/pragma-1.c: likewise
    * gcc.dg/cpp/pragma-2.c: likewise
    * gcc.dg/ctor1.c: likewise
    * gcc.dg/debug/20020224-1.c: likewise
    * gcc.dg/debug/dwarf2-2.c: likewise
    * gcc.dg/debug/dwarf2-3.c: likewise
    * gcc.dg/debug/dwarf2/dwarf-die1.c (inline int t): likewise
    * gcc.dg/debug/dwarf2/dwarf-die2.c (static inline int t): likewise
    * gcc.dg/debug/dwarf2/dwarf-die3.c (extern inline int t): likewise
    (int t): likewise
    * gcc.dg/debug/dwarf2/dwarf-die5.c (int q): likewise
    * gcc.dg/debug/dwarf2/dwarf-die6.c: likewise
    * gcc.dg/debug/dwarf2/dwarf-die7.c (static int t): likewise
    * gcc.dg/debug/dwarf2/inline1.c: likewise
    * gcc.dg/debug/dwarf2/ipa-cp1.c (void main): likewise
    * gcc.dg/debug/pr26881.c: likewise
    * gcc.dg/debug/pr42767.c (void _bfd_link_section_stabs): likewise
    * gcc.dg/debug/vta-2.c: likewise
    * gcc.dg/decl-6.c (int foo2): likewise
    * gcc.dg/decl-9.c (int f1): likewise
    * gcc.dg/declspec-18.c (int f5): likewise
    * gcc.dg/dfp/keywords-reserved.c: likewise
    * gcc.dg/dll-10a.c: likewise
    * gcc.dg/dll-11a.c: likewise
    * gcc.dg/dll-12a.c: likewise
    * gcc.dg/dll-6a.c: likewise
    * gcc.dg/dll-7a.c: likewise
    * gcc.dg/dll-9a.c: likewise
    * gcc.dg/dse.c: likewise
    * gcc.dg/enum-incomplete-1.c: likewise
    * gcc.dg/fastmath-1.c: likewise
    * gcc.dg/fold-eqandshift-3.c: likewise
    * gcc.dg/fork-instrumentation.c: likewise
    * gcc.dg/format/few-1.c: likewise
    * gcc.dg/funcdef-var-1.c: likewise
    * gcc.dg/funcorder.c: likewise
    * gcc.dg/fwrapv-1.c: likewise
    * gcc.dg/fwrapv-2.c: likewise
    * gcc.dg/gomp/block-8.c: likewise
    * gcc.dg/gomp/combined-1.c: likewise
    * gcc.dg/gomp/complex-1.c: likewise
    * gcc.dg/gomp/empty.c: likewise
    * gcc.dg/gomp/omp-parallel-if.c: likewise
    * gcc.dg/gomp/parallel-4.c: likewise
    * gcc.dg/gomp/pr39495-1.c: likewise
    * gcc.dg/gomp/pr39495-2.c: likewise
    * gcc.dg/gomp/pr48716.c: likewise
    * gcc.dg/gomp/pr57412.c: likewise
    * gcc.dg/gomp/sections-3.c: likewise
    * gcc.dg/gomp/sharing-3.c: likewise
    * gcc.dg/graphite/id-1.c (void lambda_vector_add_mc): likewise
    (void lambda_matrix_add_mc): likewise
    * gcc.dg/graphite/id-2.c (void matmul_c4): likewise
    * gcc.dg/graphite/id-25.c (int writeMotionVector8x8): likewise
    * gcc.dg/graphite/id-26.c (int find_sad_16x16): likewise
    * gcc.dg/graphite/id-3.c (void mmaxloc0_4_i1): likewise
    * gcc.dg/graphite/id-4.c (void g): likewise
    * gcc.dg/graphite/id-8.c: likewise
    * gcc.dg/graphite/id-pr43351.c: likewise
    * gcc.dg/graphite/id-pr43464.c (void Perl_re_intuit_start): likewise
    (void Perl_regexec_flags): likewise
    (int S_regtry): likewise
    * gcc.dg/graphite/id-pr45230-1.c: likewise
    * gcc.dg/graphite/id-pr45230.c: likewise
    * gcc.dg/graphite/interchange-4.c: likewise
    * gcc.dg/graphite/pr20041110-1.c: likewise
    * gcc.dg/graphite/pr37684.c: likewise
    * gcc.dg/graphite/pr37928.c (int gate1): likewise
    * gcc.dg/graphite/pr37943.c: likewise
    * gcc.dg/graphite/pr38073.c (int test_seg): likewise
    * gcc.dg/graphite/pr38125.c (void Perl_av_fill): likewise
    * gcc.dg/graphite/pr38409.c (int Chv_copyEntriesToVector): likewise
    * gcc.dg/graphite/pr38510.c (int pymol_rg_): likewise
    * gcc.dg/graphite/pr38559.c: likewise
    * gcc.dg/graphite/pr38786.c (void dummy_slice_too_big): likewise
    * gcc.dg/graphite/pr39260.c (void VBR_encode_frame): likewise
    * gcc.dg/graphite/pr39335.c (int devn_unpack_row): likewise
    * gcc.dg/graphite/pr42284.c (huft_build): likewise
    (inflate_fixed): likewise
    * gcc.dg/graphite/pr42914.c: likewise
    * gcc.dg/graphite/pr43083.c (static inline int bar): likewise
    * gcc.dg/graphite/pr46185.c: likewise
    * gcc.dg/graphite/pr46404-1.c: likewise
    * gcc.dg/graphite/run-id-5.c: likewise
    * gcc.dg/graphite/run-id-6.c: likewise
    * gcc.dg/graphite/scop-16.c: likewise
    * gcc.dg/graphite/scop-17.c: likewise
    * gcc.dg/graphite/scop-19.c (int d_growable_string_resize): likewise
    (void d_growable_string_append_buffer): likewise
    * gcc.dg/guality/vla-2.c: likewise
    * gcc.dg/inline-33.c: likewise
    * gcc.dg/ipa/inline-4.c: likewise
    * gcc.dg/ipa/inline-6.c (static void t): likewise
    * gcc.dg/ipa/inlinehint-1.c (void test): likewise
    (void m): likewise
    * gcc.dg/ipa/inlinehint-2.c (void t): likewise
    * gcc.dg/ipa/inlinehint-3.c (scc_next): likewise
    * gcc.dg/ipa/ipa-1.c: likewise
    * gcc.dg/ipa/ipa-2.c: likewise
    * gcc.dg/ipa/ipa-3.c (static int f): likewise
    * gcc.dg/ipa/ipa-4.c: likewise
    * gcc.dg/ipa/ipa-5.c: likewise
    * gcc.dg/ipa/ipa-6.c: likewise
    * gcc.dg/ipa/ipa-7.c: likewise
    * gcc.dg/ipa/ipa-8.c (static int g): likewise
    * gcc.dg/ipa/ipacost-1.c (i_can_be_propagated_fully): likewise
    (i_can_be_propagated_fully2): likewise
    (i_can_not_be_propagated_fully): likewise
    (i_can_not_be_propagated_fully2): likewise
    * gcc.dg/ipa/ipacost-2.c: likewise
    * gcc.dg/ipa/ipcp-1.c: likewise
    * gcc.dg/ipa/ipcp-2.c (bah): likewise
    * gcc.dg/ipa/ipcp-4.c (h): likewise
    (g1): likewise
    (g2): likewise
    * gcc.dg/ipa/noclone-1.c (__attribute__): likewise
    * gcc.dg/ipa/pr57539.c (cmpitem): likewise
    (distX): likewise
    (intersectY0): likewise
    (intersectY): likewise
    (mkNConstraintG): likewise
    (mkConstraintG): likewise
    * gcc.dg/ipa/pr58106.c (replace_label): likewise
    (for_each_rtx_1): likewise
    * gcc.dg/ipa/pure-const-1.c (int i_am_const3): likewise
    (void explode_badly): likewise
    (int i_am_pure4): likewise
    * gcc.dg/large-size-array-3.c: likewise
    * gcc.dg/large-size-array.c: likewise
    * gcc.dg/loop-3.c (modlookup): likewise
    * gcc.dg/lto/20080924_0.c: likewise
    * gcc.dg/lto/20081115_0.c: likewise
    * gcc.dg/lto/20081118_0.c: likewise
    * gcc.dg/lto/20081120-1_0.c: likewise
    * gcc.dg/lto/20081120-1_1.c: likewise
    * gcc.dg/lto/20081201-1_0.c: likewise
    * gcc.dg/lto/20090213_0.c: likewise
    * gcc.dg/lto/20090218-2_1.c: likewise
    * gcc.dg/lto/20090312_0.c: likewise
    * gcc.dg/lto/20090706-2_0.c: likewise
    * gcc.dg/lto/20090914-2_0.c: likewise
    * gcc.dg/lto/20091020-3_0.c (void * C_alloca): likewise
    * gcc.dg/lto/20100103-1_0.c: likewise
    * gcc.dg/lto/20100423-2_0.c (int fill_inbuf): likewise
    * gcc.dg/lto/20100423-2_1.c (int get_method): likewise
    * gcc.dg/lto/20100426_0.c: likewise
    * gcc.dg/lto/attr-weakref-1_0.c: likewise
    * gcc.dg/lto/attr-weakref-1_1.c (void b): likewise
    * gcc.dg/lto/attr-weakref-1_2.c (void c): likewise
    * gcc.dg/lto/ipareference2_0.c: likewise
    * gcc.dg/lto/ipareference2_1.c: likewise
    * gcc.dg/lto/ipareference_0.c: likewise
    * gcc.dg/lto/ipareference_1.c (int set_val): likewise
    (int get_val): likewise
    (void do_nothing): likewise
    * gcc.dg/lto/materialize-1_0.c (inline int inline_me): likewise
    * gcc.dg/lto/materialize-1_1.c: likewise
    * gcc.dg/lto/pr34989-1_0.c (int syslogd_main): likewise
    * gcc.dg/lto/pr34989-1_1.c: likewise
    * gcc.dg/lto/pr47924_0.c: likewise
    * gcc.dg/lto/pr48622_0.c: likewise
    * gcc.dg/lto/pr51572-1_0.c: likewise
    * gcc.dg/lto/pr52634_0.c: likewise
    * gcc.dg/lto/pr52634_1.c: likewise
    * gcc.dg/lto/pr53470_0.c: likewise
    * gcc.dg/lto/pr55703_0.c: likewise
    * gcc.dg/lto/resolutions_0.c (int link_error): likewise
    * gcc.dg/lto/trans-mem-3_0.c: likewise
    * gcc.dg/lto/trans-mem-3_1.c: likewise
    * gcc.dg/memmove-1.c: likewise
    * gcc.dg/nofixed-point-2.c: likewise
    * gcc.dg/non-local-goto-1.c (static void foo): likewise
    (static void bar): likewise
    * gcc.dg/non-local-goto-2.c: likewise
    * gcc.dg/noncompile/20040203-1.c: likewise
    * gcc.dg/noncompile/20040203-2.c: likewise
    * gcc.dg/noncompile/20040203-3.c: likewise
    * gcc.dg/noncompile/920616-2.c: likewise
    * gcc.dg/noncompile/920923-1.c: likewise
    * gcc.dg/noncompile/930301-1.c: likewise
    * gcc.dg/noncompile/930622-1.c: likewise
    * gcc.dg/noncompile/930622-2.c: likewise
    * gcc.dg/noncompile/931203-1.c: likewise
    * gcc.dg/noncompile/950825-1.c: likewise
    * gcc.dg/noncompile/incomplete-3.c: likewise
    * gcc.dg/noncompile/invalid_asm.c (void asm_invalid_register_name):
likewise
    * gcc.dg/noncompile/pr35447-1.c: likewise
    * gcc.dg/noncompile/scope.c: likewise
    * gcc.dg/noncompile/va-arg-1.c: likewise
    * gcc.dg/noreturn-7.c (int k): likewise
    * gcc.dg/noreturn-8.c (detect_noreturn): likewise
    * gcc.dg/packed-vla.c: likewise
    * gcc.dg/parser-pr28152-2.c: likewise
    * gcc.dg/parser-pr28152.c: likewise
    * gcc.dg/pch/inline-3.c (unsigned bar): likewise
    * gcc.dg/plugin/self-assign-test-1.c: likewise
    * gcc.dg/plugin/self-assign-test-2.c: likewise
    * gcc.dg/pr15443-1.c: likewise
    * gcc.dg/pr15698-1.c: likewise
    * gcc.dg/pr15698-4.c: likewise
    * gcc.dg/pr15698-5.c: likewise
    * gcc.dg/pr15698-8.c: likewise
    * gcc.dg/pr17301-1.c (write_format): likewise
    * gcc.dg/pr17319.c (int try_combine): likewise
    * gcc.dg/pr18596-1.c (int m): likewise
    * gcc.dg/pr18596-2.c: likewise
    * gcc.dg/pr19633.c: likewise
    * gcc.dg/pr20100.c (func_loop): likewise
    * gcc.dg/pr20368-1.c: likewise
    * gcc.dg/pr20368-2.c: likewise
    * gcc.dg/pr20368-3.c: likewise
    * gcc.dg/pr20672-1.c: likewise
    * gcc.dg/pr23075.c: likewise
    * gcc.dg/pr23470-1.c: likewise
    * gcc.dg/pr24561.c (static int debug_hook): likewise
    * gcc.dg/pr25795-1.c: likewise
    * gcc.dg/pr25795.c: likewise
    * gcc.dg/pr26004.c (void wack_struct_3): likewise
    * gcc.dg/pr27150-1.c: likewise
    * gcc.dg/pr27531-1.c: likewise
    * gcc.dg/pr27861-1.c (void do_dror): likewise
    * gcc.dg/pr28121.c: likewise
    * gcc.dg/pr28574.c: likewise
    * gcc.dg/pr28888.c (void Allocate__WriteStats): likewise
    * gcc.dg/pr28935.c (int extend_options): likewise
    * gcc.dg/pr29254.c (list_compare): likewise
    * gcc.dg/pr29299.c: likewise
    * gcc.dg/pr29467.c: likewise
    * gcc.dg/pr30904.c: likewise
    * gcc.dg/pr31490.c: likewise
    * gcc.dg/pr31507-2.c: likewise
    * gcc.dg/pr31529-1.c (int getline): likewise
    * gcc.dg/pr31529-2.c (void getline): likewise
    * gcc.dg/pr32135.c (ParsePhase): likewise
    * gcc.dg/pr32721.c: likewise
    * gcc.dg/pr33670.c: likewise
    * gcc.dg/pr33692.c (int pcm_shm_cmd): likewise
    * gcc.dg/pr33923.c (int brl_readCommand): likewise
    * gcc.dg/pr34263.c: likewise
    * gcc.dg/pr34457-1.c: likewise
    * gcc.dg/pr35065.c: likewise
    * gcc.dg/pr36194.c: likewise
    * gcc.dg/pr36997.c: likewise
    * gcc.dg/pr41783.c: likewise
    * gcc.dg/pr42245-2.c (strictly_smaller_name): likewise
    * gcc.dg/pr42246.c (Quiesce): likewise
    * gcc.dg/pr42249.c: likewise
    * gcc.dg/pr42389.c (try_route): likewise
    * gcc.dg/pr43564.c (unsigned __clz): likewise
    * gcc.dg/pr44545.c (DrawChunk): likewise
    * gcc.dg/pr44699.c: likewise
    * gcc.dg/pr45107.c: likewise
    * gcc.dg/pr45415.c: likewise
    * gcc.dg/pr46217.c: likewise
    * gcc.dg/pr46878-1.c (get_ice): likewise
    * gcc.dg/pr47443.c: likewise
    * gcc.dg/pr47763.c: likewise
    * gcc.dg/pr47899.c: likewise
    * gcc.dg/pr48235.c (GetRotatedTileFromOffset): likewise
    (GetHangarNum): likewise
    * gcc.dg/pr49000.c: likewise
    * gcc.dg/pr49705.c (check_image_width): likewise
    * gcc.dg/pr49994-2.c: likewise
    * gcc.dg/pr50908-2.c: likewise
    * gcc.dg/pr51321.c: likewise
    * gcc.dg/pr52549.c (void _mark): likewise
    (void __extension__ _mark): likewise
    * gcc.dg/pr52808.c: likewise
    * gcc.dg/pr55150-1.c: likewise
    * gcc.dg/pr56992.c: likewise
    * gcc.dg/pr59827.c: likewise
    * gcc.dg/pr59940.c (y): likewise
    * gcc.dg/pr60647-1.c (struct _wincore): likewise
    * gcc.dg/pragma-align.c: likewise
    * gcc.dg/pragma-diag-1.c: likewise
    * gcc.dg/pragma-re-3.c: likewise
    * gcc.dg/readonly-loc.c: likewise
    * gcc.dg/return-type-1.c: likewise
    * gcc.dg/return-type-3.c: likewise
    * gcc.dg/simulate-thread/atomic-load-int.c: likewise
    * gcc.dg/simulate-thread/atomic-load-int128.c: likewise
    * gcc.dg/simulate-thread/atomic-load-longlong.c: likewise
    * gcc.dg/simulate-thread/atomic-load-short.c: likewise
    * gcc.dg/simulate-thread/atomic-other-int.c: likewise
    * gcc.dg/sms-3.c: likewise
    * gcc.dg/spill-1.c: likewise
    * gcc.dg/switch-2.c: likewise
    * gcc.dg/tls/asm-1.c: likewise
    * gcc.dg/tls/opt-10.c: likewise
    * gcc.dg/tls/pr45870.c: likewise
    * gcc.dg/tm/20091013.c: likewise
    * gcc.dg/tm/20091221.c: likewise
    * gcc.dg/tm/debug-1.c: likewise
    * gcc.dg/tm/irrevocable-1.c: likewise
    * gcc.dg/tm/irrevocable-2.c: likewise
    * gcc.dg/tm/irrevocable-3.c: likewise
    * gcc.dg/tm/irrevocable-4.c: likewise
    * gcc.dg/tm/irrevocable-7.c: likewise
    * gcc.dg/tm/memopt-1.c: likewise
    * gcc.dg/tm/pr47520.c: likewise
    * gcc.dg/tm/pr47905.c: likewise
    * gcc.dg/tm/pr52173-1.c: likewise
    * gcc.dg/tm/props-1.c: likewise
    * gcc.dg/tm/props-2.c: likewise
    * gcc.dg/tm/props-3.c: likewise
    * gcc.dg/torture/pr24626-4.c: likewise
    * gcc.dg/torture/pr25183.c (int error): likewise
    * gcc.dg/torture/pr28814.c (void f9887): likewise
    * gcc.dg/torture/pr28900.c (int synths_): likewise
    * gcc.dg/torture/pr31254.c (void afs_inode_map_status): likewise
    * gcc.dg/torture/pr35227.c (int mandel): likewise
    * gcc.dg/torture/pr38948.c (append_simple): likewise
    * gcc.dg/torture/pr44807.c (print_job): likewise
    * gcc.dg/torture/pr45830.c: likewise
    * gcc.dg/torture/pr48822.c: likewise
    * gcc.dg/torture/pr50333.c (ncwrs_urow): likewise
    * gcc.dg/torture/pr50838.c (init_memory): likewise
    * gcc.dg/torture/pr51949.c: likewise
    * gcc.dg/torture/pr52720.c (int check_and_set_bank_swizzle): likewise
    * gcc.dg/torture/pr54409.c: likewise
    * gcc.dg/torture/pr55238.c (gzbuffer): likewise
    * gcc.dg/torture/pr55888.c (uint32_pack): likewise
    * gcc.dg/torture/pr55890-1.c: likewise
    * gcc.dg/torture/pr55890-2.c: likewise
    * gcc.dg/torture/pr56661.c: likewise
    * gcc.dg/torture/pr57036-1.c: likewise
    * gcc.dg/torture/pr57147-3.c: likewise
    * gcc.dg/torture/pr57251.c: likewise
    * gcc.dg/torture/pr57393-2.c: likewise
    * gcc.dg/torture/pr57584.c: likewise
    * gcc.dg/torture/pr59993.c: likewise
    * gcc.dg/torture/stackalign/nested-6.c: likewise
    * gcc.dg/tree-prof/crossmodule-indircall-1.c: likewise
    * gcc.dg/tree-prof/crossmodule-indircall-1a.c: likewise
    * gcc.dg/tree-prof/inliner-1.c: likewise
    * gcc.dg/tree-prof/merge_block.c: likewise
    * gcc.dg/tree-prof/peel-1.c: likewise
    * gcc.dg/tree-prof/stringop-1.c: likewise
    * gcc.dg/tree-prof/stringop-2.c: likewise
    * gcc.dg/tree-prof/unroll-1.c: likewise
    * gcc.dg/tree-prof/update-cunroll-2.c: likewise
    * gcc.dg/tree-prof/val-prof-1.c: likewise
    * gcc.dg/tree-prof/val-prof-2.c: likewise
    * gcc.dg/tree-prof/val-prof-3.c: likewise
    * gcc.dg/tree-prof/val-prof-4.c: likewise
    * gcc.dg/tree-prof/val-prof-5.c: likewise
    * gcc.dg/tree-prof/val-prof-6.c: likewise
    * gcc.dg/tree-prof/wcoverage-mismatch.c (int __attribute__): likewise
    * gcc.dg/tree-ssa/20030611-1.c (int shit): likewise
    * gcc.dg/tree-ssa/20030703-1.c: likewise
    * gcc.dg/tree-ssa/20030703-2.c: likewise
    * gcc.dg/tree-ssa/20030708-1.c (nonlocal_mentioned_p): likewise
    * gcc.dg/tree-ssa/20030709-1.c: likewise
    * gcc.dg/tree-ssa/20030711-2.c: likewise
    * gcc.dg/tree-ssa/20030711-3.c: likewise
    * gcc.dg/tree-ssa/20030714-1.c: likewise
    * gcc.dg/tree-ssa/20030714-2.c: likewise
    * gcc.dg/tree-ssa/20030729-1.c: likewise
    * gcc.dg/tree-ssa/20030731-1.c: likewise
    * gcc.dg/tree-ssa/20030807-11.c: likewise
    * gcc.dg/tree-ssa/20030807-2.c (void oof): likewise
    * gcc.dg/tree-ssa/20030807-3.c: likewise
    * gcc.dg/tree-ssa/20030807-5.c: likewise
    * gcc.dg/tree-ssa/20030807-8.c: likewise
    * gcc.dg/tree-ssa/20030814-1.c (int com): likewise
    * gcc.dg/tree-ssa/20030917-3.c: likewise
    * gcc.dg/tree-ssa/20030918-1.c: likewise
    * gcc.dg/tree-ssa/20030922-1.c: likewise
    * gcc.dg/tree-ssa/20030922-2.c: likewise
    * gcc.dg/tree-ssa/20040121-1.c: likewise
    * gcc.dg/tree-ssa/20040211-1.c (com): likewise
    * gcc.dg/tree-ssa/20040216-1.c: likewise
    * gcc.dg/tree-ssa/20040302-1.c: likewise
    * gcc.dg/tree-ssa/20040319-1.c: likewise
    * gcc.dg/tree-ssa/20040326-1.c: likewise
    * gcc.dg/tree-ssa/20040326-2.c: likewise
    * gcc.dg/tree-ssa/20040408-1.c (static int asctoeg): likewise
    * gcc.dg/tree-ssa/20040729-1.c: likewise
    * gcc.dg/tree-ssa/20041008-1.c (void baz): likewise
    * gcc.dg/tree-ssa/20050719-1.c: likewise
    * gcc.dg/tree-ssa/20070302-1.c (float foo): likewise
    * gcc.dg/tree-ssa/alias-13.c: likewise
    * gcc.dg/tree-ssa/alias-16.c: likewise
    * gcc.dg/tree-ssa/assign-3.c: likewise
    * gcc.dg/tree-ssa/attr-alias-2.c: likewise
    * gcc.dg/tree-ssa/attr-alias.c: likewise
    * gcc.dg/tree-ssa/builtin-expect-1.c: likewise
    * gcc.dg/tree-ssa/builtin-expect-2.c: likewise
    * gcc.dg/tree-ssa/builtin-expect-3.c: likewise
    * gcc.dg/tree-ssa/builtin-expect-4.c: likewise
    * gcc.dg/tree-ssa/builtin-expect-5.c: likewise
    * gcc.dg/tree-ssa/coalesce-1.c: likewise
    * gcc.dg/tree-ssa/col-1.c (m): likewise
    * gcc.dg/tree-ssa/complex-5.c: likewise
    * gcc.dg/tree-ssa/cunroll-1.c: likewise
    * gcc.dg/tree-ssa/cunroll-10.c: likewise
    * gcc.dg/tree-ssa/cunroll-2.c: likewise
    * gcc.dg/tree-ssa/cunroll-3.c: likewise
    * gcc.dg/tree-ssa/cunroll-4.c: likewise
    * gcc.dg/tree-ssa/cunroll-5.c: likewise
    * gcc.dg/tree-ssa/cunroll-9.c: likewise
    * gcc.dg/tree-ssa/foldconst-2.c (void emit_support_tinfos): likewise
    * gcc.dg/tree-ssa/foldconst-3.c (void int_fits_type_p): likewise
    * gcc.dg/tree-ssa/foldconst-4.c: likewise
    * gcc.dg/tree-ssa/foldconst-5.c: likewise
    * gcc.dg/tree-ssa/forwprop-26.c: likewise
    * gcc.dg/tree-ssa/forwprop-28.c (void test_2): likewise
    (void test_3): likewise
    (void test_4): likewise
    (void test_5): likewise
    (void test_6): likewise
    (void test_7): likewise
    (void test_8): likewise
    * gcc.dg/tree-ssa/ifc-4.c (void create_iso_definition): likewise
    * gcc.dg/tree-ssa/ifc-6.c: likewise
    * gcc.dg/tree-ssa/inline-10.c (void do_something): likewise
    * gcc.dg/tree-ssa/inline-11.c: likewise
    * gcc.dg/tree-ssa/inline-5.c (void do_inc): likewise
    * gcc.dg/tree-ssa/inline-6.c: likewise
    * gcc.dg/tree-ssa/inline-9.c: likewise
    * gcc.dg/tree-ssa/ipa-cp-1.c (void blah): likewise
    * gcc.dg/tree-ssa/ipa-split-1.c: likewise
    * gcc.dg/tree-ssa/ipa-split-2.c (void split_me): likewise
    * gcc.dg/tree-ssa/ipa-split-5.c: likewise
    * gcc.dg/tree-ssa/ivopts-1.c: likewise
    * gcc.dg/tree-ssa/ivopts-2.c: likewise
    * gcc.dg/tree-ssa/loadpre8.c (struct tree_common): likewise
    * gcc.dg/tree-ssa/local-pure-const.c: likewise
    * gcc.dg/tree-ssa/loop-20.c: likewise
    * gcc.dg/tree-ssa/loop-37.c: likewise
    * gcc.dg/tree-ssa/loop-38.c: likewise
    * gcc.dg/tree-ssa/nonzero-1.c: likewise
    * gcc.dg/tree-ssa/pr18908.c: likewise
    * gcc.dg/tree-ssa/pr20739.c: likewise
    * gcc.dg/tree-ssa/pr20913.c: likewise
    * gcc.dg/tree-ssa/pr21458.c: likewise
    * gcc.dg/tree-ssa/pr21582.c: likewise
    * gcc.dg/tree-ssa/pr23086.c: likewise
    * gcc.dg/tree-ssa/pr23434.c (int cblas_csyr2k): likewise
    * gcc.dg/tree-ssa/pr24670.c (void float128_rem): likewise
    * gcc.dg/tree-ssa/pr27799.c (int foo_no): likewise
    * gcc.dg/tree-ssa/pr32367.c (double Evaluate_TPat): likewise
    * gcc.dg/tree-ssa/pr33922.c: likewise
    * gcc.dg/tree-ssa/pr44258.c: likewise
    * gcc.dg/tree-ssa/reassoc-1.c: likewise
    * gcc.dg/tree-ssa/reassoc-20.c: likewise
    * gcc.dg/tree-ssa/reassoc-4.c: likewise
    * gcc.dg/tree-ssa/reassoc-5.c: likewise
    * gcc.dg/tree-ssa/recip-1.c (float e): likewise
    * gcc.dg/tree-ssa/recip-3.c (float h): likewise
    * gcc.dg/tree-ssa/scev-3.c: likewise
    * gcc.dg/tree-ssa/scev-4.c: likewise
    * gcc.dg/tree-ssa/scev-5.c: likewise
    * gcc.dg/tree-ssa/slsr-4.c: likewise
    * gcc.dg/tree-ssa/sra-12.c: likewise
    * gcc.dg/tree-ssa/ssa-ccp-12.c: likewise
    * gcc.dg/tree-ssa/ssa-ccp-3.c: likewise
    * gcc.dg/tree-ssa/ssa-dce-1.c (void q): likewise
    * gcc.dg/tree-ssa/ssa-dse-4.c: likewise
    * gcc.dg/tree-ssa/ssa-dse-5.c: likewise
    * gcc.dg/tree-ssa/ssa-dse-9.c: likewise
    * gcc.dg/tree-ssa/ssa-fre-16.c: likewise
    * gcc.dg/tree-ssa/ssa-pre-1.c: likewise
    * gcc.dg/tree-ssa/ssa-sink-3.c: likewise
    * gcc.dg/tree-ssa/ssa-sink-4.c: likewise
    * gcc.dg/tree-ssa/structopt-1.c: likewise
    * gcc.dg/tree-ssa/structopt-2.c: likewise
    * gcc.dg/tree-ssa/tailcall-3.c: likewise
    * gcc.dg/tree-ssa/vrp01.c: likewise
    * gcc.dg/tree-ssa/vrp02.c: likewise
    * gcc.dg/tree-ssa/vrp03.c: likewise
    * gcc.dg/tree-ssa/vrp04.c: likewise
    * gcc.dg/tree-ssa/vrp05.c: likewise
    * gcc.dg/tree-ssa/vrp06.c: likewise
    * gcc.dg/tree-ssa/vrp07.c: likewise
    * gcc.dg/tree-ssa/vrp08.c: likewise
    * gcc.dg/tree-ssa/vrp09.c: likewise
    * gcc.dg/tree-ssa/vrp10.c: likewise
    * gcc.dg/tree-ssa/vrp11.c: likewise
    * gcc.dg/tree-ssa/vrp12.c: likewise
    * gcc.dg/tree-ssa/vrp13.c (int foo_div): likewise
    (int foo_mult): likewise
    * gcc.dg/tree-ssa/vrp14.c: likewise
    * gcc.dg/tree-ssa/vrp16.c: likewise
    * gcc.dg/tree-ssa/vrp17.c (gimplify_for_stmt): likewise
    * gcc.dg/tree-ssa/vrp23.c: likewise
    * gcc.dg/tree-ssa/vrp24.c (void sss): likewise
    * gcc.dg/tree-ssa/vrp25.c: likewise
    * gcc.dg/tree-ssa/vrp27.c (void alpha_expand_prologue): likewise
    * gcc.dg/tree-ssa/vrp40.c: likewise
    * gcc.dg/tree-ssa/vrp49.c: likewise
    * gcc.dg/tree-ssa/vrp55.c (void fu): likewise
    * gcc.dg/tree-ssa/vrp56.c: likewise
    * gcc.dg/tree-ssa/vrp68.c: likewise
    * gcc.dg/tree-ssa/vrp69.c: likewise
    * gcc.dg/tree-ssa/wholeprogram-1.c: likewise
    * gcc.dg/tree-ssa/writeonly.c: likewise
    * gcc.dg/two-types-4.c: likewise
    * gcc.dg/unused-3.c: likewise
    * gcc.dg/utf-dflt.c: likewise
    * gcc.dg/utf-dflt2.c: likewise
    * gcc.dg/varpool-1.c (int simplify_after_inline): likewise
    * gcc.dg/vect/O3-pr49087.c (struct S0): likewise
    * gcc.dg/vect/fast-math-vect-pow-2.c: likewise
    * gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: likewise
    * gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: likewise
    * gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: likewise
    * gcc.dg/vect/no-scevccp-outer-10.c: likewise
    * gcc.dg/vect/no-scevccp-outer-10a.c: likewise
    * gcc.dg/vect/no-scevccp-outer-10b.c: likewise
    * gcc.dg/vect/no-scevccp-outer-11.c: likewise
    * gcc.dg/vect/no-scevccp-outer-12.c: likewise
    * gcc.dg/vect/no-scevccp-outer-15.c: likewise
    * gcc.dg/vect/no-scevccp-outer-18.c: likewise
    * gcc.dg/vect/no-scevccp-outer-19.c: likewise
    * gcc.dg/vect/no-scevccp-outer-20.c: likewise
    * gcc.dg/vect/no-scevccp-outer-22.c: likewise
    * gcc.dg/vect/no-scevccp-outer-3.c: likewise
    * gcc.dg/vect/no-scevccp-outer-4.c: likewise
    * gcc.dg/vect/no-scevccp-outer-5.c: likewise
    * gcc.dg/vect/no-scevccp-outer-8.c: likewise
    * gcc.dg/vect/no-scevccp-outer-9.c: likewise
    * gcc.dg/vect/no-scevccp-outer-9a.c: likewise
    * gcc.dg/vect/no-scevccp-outer-9b.c: likewise
    * gcc.dg/vect/no-tree-dom-vect-bug.c (main1): likewise
    * gcc.dg/vect/no-tree-fre-pr50039.c: likewise
    * gcc.dg/vect/pr24049.c (int DES_CBCUpdate): likewise
    * gcc.dg/vect/pr26359.c: likewise
    * gcc.dg/vect/pr28952.c (void send_spaceship_info): likewise
    * gcc.dg/vect/pr30784.c: likewise
    * gcc.dg/vect/pr31041.c (void utrie_open_3_4): likewise
    * gcc.dg/vect/pr32216.c (void SetSoundVariables): likewise
    * gcc.dg/vect/pr32224.c (void gmpz_export): likewise
    * gcc.dg/vect/pr32230.c: likewise
    * gcc.dg/vect/pr32366.c (void stream_test): likewise
    * gcc.dg/vect/pr32421.c: likewise
    * gcc.dg/vect/pr42709.c: likewise
    * gcc.dg/vect/pr43430-2.c (int vsad16_c): likewise
    * gcc.dg/vect/pr43842.c (void int161): likewise
    (int int81): likewise
    * gcc.dg/vect/pr45902.c: likewise
    * gcc.dg/vect/pr46052.c (static inline char bar1): likewise
    * gcc.dg/vect/pr46126.c: likewise
    * gcc.dg/vect/slp-23.c: likewise
    * gcc.dg/vect/slp-35.c: likewise
    * gcc.dg/vect/slp-37.c (foo1): likewise
    * gcc.dg/vect/slp-9.c: likewise
    * gcc.dg/vect/slp-widen-mult-s16.c: likewise
    * gcc.dg/vect/slp-widen-mult-u8.c: likewise
    * gcc.dg/vect/trapv-vect-reduc-4.c: likewise
    * gcc.dg/vect/vect-1-big-array.c: likewise
    * gcc.dg/vect/vect-1.c: likewise
    * gcc.dg/vect/vect-121.c (test): likewise
    * gcc.dg/vect/vect-122.c (f2): likewise
    (f4): likewise
    * gcc.dg/vect/vect-93.c: likewise
    * gcc.dg/vect/vect-multitypes-10.c (foo2): likewise
    * gcc.dg/vect/vect-multitypes-11.c: likewise
    * gcc.dg/vect/vect-multitypes-12.c: likewise
    * gcc.dg/vect/vect-multitypes-13.c: likewise
    * gcc.dg/vect/vect-multitypes-14.c: likewise
    * gcc.dg/vect/vect-multitypes-16.c: likewise
    * gcc.dg/vect/vect-multitypes-17.c: likewise
    * gcc.dg/vect/vect-multitypes-8.c: likewise
    * gcc.dg/vect/vect-multitypes-9.c: likewise
    * gcc.dg/vect/vect-strided-a-u8-i8-gap2-big-array.c: likewise
    * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: likewise
    * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: likewise
    * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: likewise
    * gcc.dg/vect/vect-strided-u32-i8.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap2-big-array.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap2.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap4-big-array.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap4.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8-gap7.c: likewise
    * gcc.dg/vect/vect-strided-u8-i8.c: likewise
    * gcc.dg/vect/vect-widen-mult-s16.c: likewise
    * gcc.dg/vect/vect-widen-mult-s8.c: likewise
    * gcc.dg/vect/vect-widen-mult-u16.c: likewise
    * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: likewise
    * gcc.dg/vect/vect-widen-mult-u8-u32.c: likewise
    * gcc.dg/vect/vect-widen-mult-u8.c: likewise
    * gcc.dg/visibility-14.c: likewise
    * gcc.dg/visibility-8.c (fputs_unlocked): likewise
    * gcc.dg/vla-22.c: likewise
    * gcc.dg/webizer.c (void configure2): likewise
    * gcc.dg/winline-3.c (inline int q): likewise
    * gcc.dg/winline-5.c: likewise
    * gcc.dg/winline-6.c: likewise
    * gcc.dg/winline-9.c (int aa): likewise
    (int bb): likewise
    * gcc.dg/wtr-func-def-1.c: likewise
    * gcc.misc-tests/gcov-6.c: likewise
    * gcc.misc-tests/gcov-7.c (passed): likewise
    * gcc.target/i386/20040112-1.c (void ftn): likewise
    * gcc.target/i386/avx512cd-vpbroadcastmb2q-2.c: likewise
    * gcc.target/i386/avxfp-1.c: likewise
    * gcc.target/i386/avxfp-2.c (void q1): likewise
    * gcc.target/i386/cadd.c: likewise
    * gcc.target/i386/call-1.c: likewise
    * gcc.target/i386/cmov2.c: likewise
    * gcc.target/i386/cmov3.c: likewise
    * gcc.target/i386/cmov4.c: likewise
    * gcc.target/i386/cold-attribute-1.c (void my_cold_memset): likewise
    * gcc.target/i386/cold-attribute-2.c: likewise
    * gcc.target/i386/combine-mul.c: likewise
    * gcc.target/i386/cvt-1.c: likewise
    * gcc.target/i386/fpcvt-1.c: likewise
    * gcc.target/i386/fpcvt-2.c: likewise
    * gcc.target/i386/fpcvt-3.c: likewise
    * gcc.target/i386/local.c: likewise
    * gcc.target/i386/memcpy-2.c: likewise
    * gcc.target/i386/memcpy-3.c: likewise
    * gcc.target/i386/memset-1.c: likewise
    * gcc.target/i386/minmax-1.c: likewise
    * gcc.target/i386/minmax-2.c: likewise
    * gcc.target/i386/pr36786.c (void __floattisf): likewise
    * gcc.target/i386/pr44223.c: likewise
    * gcc.target/i386/pr44546.c: likewise
    * gcc.target/i386/pr45352-2.c (static void slice_xvmc_init): likewise
    * gcc.target/i386/pr47315.c: likewise
    * gcc.target/i386/pr55775.c: likewise
    * gcc.target/i386/pr56022.c: likewise
    * gcc.target/i386/pr57003.c: likewise
    * gcc.target/i386/pr60902.c: likewise
    * gcc.target/i386/sse-14.c: likewise
    * gcc.target/i386/sse-19.c: likewise
    * gcc.target/i386/sse-22.c: likewise
    * gcc.target/i386/sse-22a.c: likewise
    * gcc.target/i386/sse4a-extract.c (int static chk): likewise
    * gcc.target/i386/sse4a-insert.c (static int chk): likewise
    * gcc.target/i386/ssefp-1.c: likewise
    * gcc.target/i386/ssefp-2.c: likewise
    * gcc.target/i386/stackalign/return-4.c: likewise
    * gcc.target/i386/stackalign/return-5.c: likewise
    * gcc.target/i386/stackalign/return-6.c: likewise
    * gcc.target/i386/testimm-10.c: likewise
    * gcc.target/i386/vect-cond-1.c: likewise
    * gcc.target/i386/vect-div-1.c: likewise
    * gcc.target/i386/vectorize1.c (int set_names): likewise
    * gcc.target/i386/vectorize4-avx.c (void calc_freq): likewise
    * gcc.target/i386/xop-haddX.c (check_sbyte2word): likewise
    (check_sword2dword): likewise
    (check_dword2qword): likewise
    * gcc.target/i386/xop-hadduX.c (check_byte2word): likewise
    (check_word2dword): likewise
    * gcc.target/i386/xop-hsubX.c: likewise
    * gcc.target/x86_64/abi/callabi/pr38891.c: likewise
    * gfortran.dg/allocate_alloc_opt_13.f90: likewise
    * gfortran.dg/array_function_3.f90: likewise
    * gfortran.dg/associate_12.f90: likewise
    * gfortran.dg/assumed_rank_12.f90: likewise
    * gfortran.dg/binding_label_tests_26a.f90: likewise
    * gfortran.dg/block_11.f90: likewise
    * gfortran.dg/bounds_check_strlen_8.f90: likewise
    * gfortran.dg/class_13.f03: likewise
    * gfortran.dg/class_15.f03: likewise
    * gfortran.dg/class_16.f03: likewise
    * gfortran.dg/class_23.f03: likewise
    * gfortran.dg/class_32.f90: likewise
    * gfortran.dg/class_41.f03: likewise
    * gfortran.dg/class_result_2.f90: likewise
    * gfortran.dg/constructor_1.f90: likewise
    * gfortran.dg/constructor_5.f90: likewise
    * gfortran.dg/deferred_type_param_3.f90: likewise
    * gfortran.dg/defined_assignment_1.f90: likewise
    * gfortran.dg/defined_assignment_6.f90: likewise
    * gfortran.dg/defined_assignment_7.f90: likewise
    * gfortran.dg/dynamic_dispatch_6.f03: likewise
    * gfortran.dg/empty_function_1.f90: likewise
    * gfortran.dg/extends_13.f03: likewise
    * gfortran.dg/finalize_23.f90: likewise
    * gfortran.dg/generic_24.f90: likewise
    * gfortran.dg/graphite/id-2.f90: likewise
    * gfortran.dg/graphite/id-3.f90: likewise
    * gfortran.dg/graphite/pr37980.f90: likewise
    * gfortran.dg/intrinsic_shadow_1.f03: likewise
    * gfortran.dg/intrinsic_shadow_2.f03: likewise
    * gfortran.dg/intrinsic_shadow_3.f03: likewise
    * gfortran.dg/lto/20091028-1_1.c (int int_gen_ti_header_c_): likewise
    * gfortran.dg/lto/20091028-2_1.c: likewise
    * gfortran.dg/module_write_1.f90: likewise
    * gfortran.dg/operator_c1202.f90: likewise
    * gfortran.dg/pointer_check_6.f90: likewise
    * gfortran.dg/pr36680.f90: likewise
    * gfortran.dg/pr40999.f: likewise
    * gfortran.dg/pr42051.f03: likewise
    * gfortran.dg/pr61209.f90: likewise
    * gfortran.dg/pr61921.f90: likewise
    * gfortran.dg/private_type_11.f90: likewise
    * gfortran.dg/proc_decl_27.f90: likewise
    * gfortran.dg/proc_ptr_11.f90: likewise
    * gfortran.dg/proc_ptr_13.f90: likewise
    * gfortran.dg/proc_ptr_32.f90: likewise
    * gfortran.dg/proc_ptr_33.f90: likewise
    * gfortran.dg/proc_ptr_41.f90: likewise
    * gfortran.dg/proc_ptr_comp_4.f90: likewise
    * gfortran.dg/proc_ptr_result_1.f90: likewise
    * gfortran.dg/proc_ptr_result_7.f90: likewise
    * gfortran.dg/public_private_module_3.f90: likewise
    * gfortran.dg/public_private_module_5.f90: likewise
    * gfortran.dg/realloc_on_assign_14.f90: likewise
    * gfortran.dg/recursive_interface_1.f90: likewise
    * gfortran.dg/recursive_interface_2.f90: likewise
    * gfortran.dg/typebound_call_14.f03: likewise
    * gfortran.dg/typebound_call_16.f03: likewise
    * gfortran.dg/typebound_generic_8.f03: likewise
    * gfortran.dg/typebound_operator_18.f90: likewise
    * gfortran.dg/typebound_operator_19.f90: likewise
    * gfortran.dg/typebound_operator_9.f03: likewise
    * gfortran.dg/typebound_proc_14.f03: likewise
    * gfortran.dg/typebound_proc_17.f03: likewise
    * gfortran.dg/typebound_proc_18.f03: likewise
    * gfortran.dg/typebound_proc_24.f03: likewise
    * gfortran.dg/typebound_proc_31.f90: likewise
    * gfortran.dg/typebound_proc_32.f90: likewise
    * gfortran.dg/typebound_proc_33.f90: likewise
    * gfortran.dg/unresolved_fixup_1.f90: likewise
    * gfortran.dg/unresolved_fixup_2.f90: likewise
    * gfortran.dg/use_22.f90: likewise
    * gfortran.dg/use_23.f90: likewise
    * gfortran.dg/use_only_5.f90: likewise
    * gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90: likewise
    * gfortran.dg/vect/pr46213.f90: likewise
    * gfortran.dg/whole_file_11.f90: likewise
    * lib/target-supports.exp: likewise
    * objc.dg/bad-receiver-type-2.m: likewise
    * objc.dg/comp-types-7.m: likewise
    * objc.dg/naming-3.m: likewise
    * objc.dg/property/dotsyntax-14.m: likewise
    * objc.dg/property/dotsyntax-15.m: likewise
    * objc.dg/proto-hier-2.m: likewise
    * objc.dg/special/load-category-1a.m: likewise
    * objc.dg/special/load-category-2a.m: likewise
    * objc.dg/special/load-category-3a.m: likewise
    * objc.dg/stabs-1.m: likewise
    * objc.dg/super-class-2.m: likewise

libstdc++-v3/ChangeLog:

2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>

    * testsuite/20_util/exchange/1.cc:
        Update the test with -Wreturn-type by default and -Wmissing-return
    * testsuite/23_containers/vector/debug/move_assign_neg.cc: likewise


--------------------------------------------------------------------------------------------------------

gcc/c-family/ChangeLog:

2014-08-14  Sylvestre Ledru  <sylvestre@debian.org>

    * c.opt: Enable -Wimplicit-int by default
diff mbox

Patch

From 80cd3dff34f74058ab66b69e0e01a05eaf686338 Mon Sep 17 00:00:00 2001
From: Sylvestre Ledru <sylvestre@debian.org>
Date: Tue, 17 Jun 2014 18:48:12 +0200
Subject: [PATCH 1/2] Introduce -Wmissing-return (Was part of -Wreturn-type
 which is now enabled by default)

---
 gcc/c-family/c.opt    |  4 ++++
 gcc/doc/invoke.texi   | 10 +++++++++-
 gcc/fortran/options.c |  4 ++++
 gcc/tree-cfg.c        |  4 ++--
 4 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 91f8275..050d400 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -697,6 +697,10 @@  Wreturn-type
 C ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
 Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
 
+Wmissing-return
+C ObjC C++ ObjC++ Var(warn_missing_return) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
+Warn whenever control may reach end of non-void function
+
 Wselector
 ObjC ObjC++ Var(warn_selector) Warning
 Warn if a selector has multiple methods
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 9a34f1c..9911e86 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -258,7 +258,7 @@  Objective-C and Objective-C++ Dialects}.
 -Winvalid-pch -Wlarger-than=@var{len}  -Wunsafe-loop-optimizations @gol
 -Wlogical-op -Wlogical-not-parentheses -Wlong-long @gol
 -Wmain -Wmaybe-uninitialized -Wmissing-braces  -Wmissing-field-initializers @gol
--Wmissing-include-dirs @gol
+-Wmissing-include-dirs -Wmissing-return @gol
 -Wno-multichar  -Wnonnull  -Wno-overflow -Wopenmp-simd @gol
 -Woverlength-strings  -Wpacked  -Wpacked-bitfield-compat  -Wpadded @gol
 -Wparentheses  -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
@@ -3327,6 +3327,7 @@  Options} and @ref{Objective-C and Objective-C++ Dialect Options}.
 -Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)}  @gol
 -Wmaybe-uninitialized @gol
 -Wmissing-braces @r{(only for C/ObjC)} @gol
+-Wmissing-return @gol
 -Wnonnull  @gol
 -Wopenmp-simd @gol
 -Wparentheses  @gol
@@ -3657,6 +3658,13 @@  the following example, the initializer for @samp{a} is not fully
 bracketed, but that for @samp{b} is fully bracketed.  This warning is
 enabled by @option{-Wall} in C.
 
+@item -Wmissing-return
+@opindex Wmissing-return
+@opindex Wno-missing-return
+Warn whenever falling off the end of the function body (I.e. without
+any return).
+This warning is enabled by @option{-Wall} for C and C++.
+
 @smallexample
 int a[2][2] = @{ 0, 1, 2, 3 @};
 int b[2][2] = @{ @{ 0, 1 @}, @{ 2, 3 @} @};
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index a2b91ca..fe71230 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -698,6 +698,10 @@  gfc_handle_option (size_t scode, const char *arg, int value,
       gfc_option.warn_line_truncation = value;
       break;
 
+    case OPT_Wmissing_return:
+      warn_missing_return = value;
+      break;
+
     case OPT_Wrealloc_lhs:
       gfc_option.warn_realloc_lhs = value;
       break;
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index e824619..2fd342e 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -8265,7 +8265,7 @@  pass_warn_function_return::execute (function *fun)
 
   /* If we see "return;" in some basic block, then we do reach the end
      without returning a value.  */
-  else if (warn_return_type
+  else if (warn_missing_return
 	   && !TREE_NO_WARNING (fun->decl)
 	   && EDGE_COUNT (EXIT_BLOCK_PTR_FOR_FN (fun)->preds) > 0
 	   && !VOID_TYPE_P (TREE_TYPE (TREE_TYPE (fun->decl))))
@@ -8280,7 +8280,7 @@  pass_warn_function_return::execute (function *fun)
 	      location = gimple_location (last);
 	      if (location == UNKNOWN_LOCATION)
 		location = fun->function_end_locus;
-	      warning_at (location, OPT_Wreturn_type, "control reaches end of non-void function");
+	      warning_at (location, OPT_Wmissing_return, "control reaches end of non-void function");
 	      TREE_NO_WARNING (fun->decl) = 1;
 	      break;
 	    }
-- 
2.0.0