On 10/05/2017 06:53 PM, Martin Liška wrote:
>>  We probably want to provide a way to turn off this behavior.
>>
>> If we're going to enable this by default, we probably also want
>> -Wreturn-type on by default.
> 
> Agree.

Hi.

So turning on the warning by default for c++, we get about 500 failing 
test-cases. Uf :/

Martin
c-c++-common/asan/pr63638.c
c-c++-common/goacc/parallel-1.c
c-c++-common/gomp/sink-1.c
c-c++-common/missing-symbol.c
c-c++-common/pr36513-2.c
c-c++-common/pr36513.c
c-c++-common/pr49706-2.c
c-c++-common/pr65120.c
c-c++-common/tm/volatile-1.c
c-c++-common/tsan/race_on_mutex.c
c-c++-common/ubsan/pr71512-1.c
c-c++-common/vector-1.c
c-c++-common/vector-2.c
c-c++-common/Wimplicit-fallthrough-8.c
g++.dg/abi/abi-tag14.C
g++.dg/abi/abi-tag18a.C
g++.dg/abi/abi-tag18.C
g++.dg/abi/covariant2.C
g++.dg/abi/covariant3.C
g++.dg/abi/mangle7.C
g++.dg/asan/pr81340.C
g++.dg/concepts/fn8.C
g++.dg/concepts/pr65575.C
g++.dg/concepts/template-parm11.C
g++.dg/conversion/op6.C
g++.dg/cpp0x/access01.C
g++.dg/cpp0x/alignas3.C
g++.dg/cpp0x/auto2.C
g++.dg/cpp0x/constexpr-array17.C
g++.dg/cpp0x/constexpr-defarg2.C
g++.dg/cpp0x/constexpr-diag3.C
g++.dg/cpp0x/constexpr-memfn1.C
g++.dg/cpp0x/constexpr-neg3.C
g++.dg/cpp0x/dc1.C
g++.dg/cpp0x/dc3.C
g++.dg/cpp0x/decltype12.C
g++.dg/cpp0x/decltype17.C
g++.dg/cpp0x/decltype3.C
g++.dg/cpp0x/decltype41.C
g++.dg/cpp0x/defaulted28.C
g++.dg/cpp0x/enum_base3.C
g++.dg/cpp0x/gen-attrs-4.C
g++.dg/cpp0x/initlist96.C
g++.dg/cpp0x/lambda/lambda-58566.C
g++.dg/cpp0x/lambda/lambda-conv10.C
g++.dg/cpp0x/lambda/lambda-conv12.C
g++.dg/cpp0x/lambda/lambda-defarg3.C
g++.dg/cpp0x/lambda/lambda-ice3.C
g++.dg/cpp0x/lambda/lambda-ice5.C
g++.dg/cpp0x/lambda/lambda-nested2.C
g++.dg/cpp0x/lambda/lambda-template12.C
g++.dg/cpp0x/lambda/lambda-template2.C
g++.dg/cpp0x/lambda/lambda-this12.C
g++.dg/cpp0x/nolinkage1.C
g++.dg/cpp0x/nsdmi-template5.C
g++.dg/cpp0x/parse1.C
g++.dg/cpp0x/pr34054.C
g++.dg/cpp0x/pr47416.C
g++.dg/cpp0x/pr58781.C
g++.dg/cpp0x/pr70538.C
g++.dg/cpp0x/pr81325.C
g++.dg/cpp0x/range-for13.C
g++.dg/cpp0x/range-for14.C
g++.dg/cpp0x/rv2n.C
g++.dg/cpp0x/rv3n.C
g++.dg/cpp0x/static_assert10.C
g++.dg/cpp0x/static_assert11.C
g++.dg/cpp0x/static_assert12.C
g++.dg/cpp0x/static_assert13.C
g++.dg/cpp0x/trailing1.C
g++.dg/cpp0x/trailing5.C
g++.dg/cpp0x/variadic114.C
g++.dg/cpp0x/variadic57.C
g++.dg/cpp0x/variadic65.C
g++.dg/cpp0x/variadic66.C
g++.dg/cpp0x/variadic97.C
g++.dg/cpp0x/variadic98.C
g++.dg/cpp0x/Wunused-variable-1.C
g++.dg/cpp1y/auto-fn11.C
g++.dg/cpp1y/auto-fn29.C
g++.dg/cpp1y/auto-fn38.C
g++.dg/cpp1y/constexpr-return2.C
g++.dg/cpp1y/lambda-init7.C
g++.dg/cpp1y/pr63996.C
g++.dg/cpp1y/pr65202.C
g++.dg/cpp1y/pr66443-cxx14.C
g++.dg/cpp1y/pr79253.C
g++.dg/cpp1y/static_assert1.C
g++.dg/cpp1y/static_assert2.C
g++.dg/cpp1y/var-templ44.C
g++.dg/cpp1z/fold6.C
g++.dg/cpp1z/inline-var2.C
g++.dg/cpp1z/lambda-this1.C
g++.dg/cpp1z/static_assert-nomsg.C
g++.dg/debug/dwarf2/dwarf4-typedef.C
g++.dg/debug/dwarf2/icf.C
g++.dg/debug/dwarf2/pr61433.C
g++.dg/debug/dwarf-eh-personality-1.C
g++.dg/debug/nullptr01.C
g++.dg/debug/pr16792.C
g++.dg/debug/pr46241.C
g++.dg/debug/pr46338.C
g++.dg/debug/pr47106.C
g++.dg/debug/pr71057.C
g++.dg/debug/pr71432.C
g++.dg/debug/pr80461.C
g++.dg/dfp/44473-1.C
g++.dg/dfp/44473-2.C
g++.dg/eh/builtin1.C
g++.dg/eh/builtin2.C
g++.dg/eh/builtin3.C
g++.dg/eh/pr45569.C
g++.dg/eh/unwind2.C
g++.dg/expr/bitfield11.C
g++.dg/expr/static_cast7.C
g++.dg/ext/altivec-14.C
g++.dg/ext/asm13.C
g++.dg/ext/builtin-object-size3.C
g++.dg/ext/has_nothrow_assign_odr.C
g++.dg/ext/label7.C
g++.dg/ext/label8.C
g++.dg/ext/tmplattr7.C
g++.dg/ext/vector8.C
g++.dg/ext/visibility/anon1.C
g++.dg/ext/visibility/anon2.C
g++.dg/ext/visibility/namespace1.C
g++.dg/ext/vla16.C
g++.dg/goacc/reference.C
g++.dg/gomp/pr37189.C
g++.dg/gomp/pr39495-1.C
g++.dg/gomp/pr39495-2.C
g++.dg/gomp/pr41429.C
g++.dg/gomp/pr82054.C
g++.dg/inherit/covariant10.C
g++.dg/inherit/covariant11.C
g++.dg/inherit/protected1.C
g++.dg/init/inline1.C
g++.dg/init/new18.C
g++.dg/init/reference2.C
g++.dg/init/reference3.C
g++.dg/init/switch1.C
g++.dg/ipa/devirt-10.C
g++.dg/ipa/devirt-13.C
g++.dg/ipa/devirt-14.C
g++.dg/ipa/devirt-15.C
g++.dg/ipa/devirt-16.C
g++.dg/ipa/devirt-17.C
g++.dg/ipa/devirt-18.C
g++.dg/ipa/devirt-19.C
g++.dg/ipa/devirt-21.C
g++.dg/ipa/devirt-23.C
g++.dg/ipa/devirt-38.C
g++.dg/ipa/devirt-40.C
g++.dg/ipa/devirt-41.C
g++.dg/ipa/devirt-42.C
g++.dg/ipa/devirt-44.C
g++.dg/ipa/devirt-45.C
g++.dg/ipa/devirt-48.C
g++.dg/ipa/devirt-52.C
g++.dg/ipa/nothrow-1.C
g++.dg/ipa/pr43812.C
g++.dg/ipa/pr44372.C
g++.dg/ipa/pr45572-1.C
g++.dg/ipa/pr58371.C
g++.dg/ipa/pr59176.C
g++.dg/ipa/pr60640-1.C
g++.dg/ipa/pr61540.C
g++.dg/ipa/pr63470.C
g++.dg/ipa/pr63587-1.C
g++.dg/ipa/pr63587-2.C
g++.dg/ipa/pr63838.C
g++.dg/ipa/pr63894.C
g++.dg/ipa/pr64068.C
g++.dg/ipa/pr64896.C
g++.dg/ipa/pr65002.C
g++.dg/ipa/pr65008.C
g++.dg/ipa/pr65465.C
g++.dg/ipa/pr66896.C
g++.dg/ipa/pr68851.C
g++.dg/ipa/pr78211.C
g++.dg/ipa/pr79931.C
g++.dg/ipa/pure-const-1.C
g++.dg/ipa/pure-const-2.C
g++.dg/ipa/pure-const-3.C
g++.dg/ipa/remref-1.C
g++.dg/ipa/remref-2.C
g++.dg/lookup/builtin2.C
g++.dg/lookup/crash3.C
g++.dg/lookup/friend20.C
g++.dg/lookup/pr80891-5.C
g++.dg/lookup/struct2.C
g++.dg/lto/20080709
g++.dg/lto/20080907
g++.dg/lto/20080915
g++.dg/lto/20080916
g++.dg/lto/20081022
g++.dg/lto/20081023
g++.dg/lto/20081118
g++.dg/lto/20081120-1
g++.dg/lto/20081127
g++.dg/lto/20081217-2
g++.dg/lto/20090303
g++.dg/lto/20090311-1
g++.dg/lto/20090312
g++.dg/lto/20090315
g++.dg/lto/20091002-1
g++.dg/lto/20091002-2
g++.dg/lto/20091002-3
g++.dg/lto/20091004-1
g++.dg/lto/20091004-2
g++.dg/lto/20091004-3
g++.dg/lto/20100721-1
g++.dg/lto/20101010-1
g++.dg/lto/20101010-2
g++.dg/lto/pr45679-1
g++.dg/lto/pr45679-2
g++.dg/lto/pr48042
g++.dg/lto/pr51650-1
g++.dg/lto/pr51650-3
g++.dg/lto/pr63270
g++.dg/lto/pr65193
g++.dg/lto/pr65302
g++.dg/lto/pr65316
g++.dg/lto/pr65475c
g++.dg/lto/pr65549
g++.dg/lto/pr69077
g++.dg/lto/pr69589
g++.dg/opt/combine.C
g++.dg/opt/complex3.C
g++.dg/opt/covariant1.C
g++.dg/opt/declone3.C
g++.dg/opt/dump1.C
g++.dg/opt/inline15.C
g++.dg/opt/local1.C
g++.dg/opt/memcpy1.C
g++.dg/opt/new1.C
g++.dg/opt/nrv8.C
g++.dg/opt/pr23299.C
g++.dg/opt/pr27826.C
g++.dg/opt/pr44919.C
g++.dg/opt/pr47615.C
g++.dg/opt/pr55329.C
g++.dg/opt/pr61456.C
g++.dg/opt/pr65003.C
g++.dg/opt/pr65554.C
g++.dg/opt/pr69432.C
g++.dg/opt/pr78373.C
g++.dg/opt/pr79267.C
g++.dg/other/array3.C
g++.dg/other/crash-5.C
g++.dg/other/crash-8.C
g++.dg/other/error34.C
g++.dg/other/pr22003.C
g++.dg/other/pr24623.C
g++.dg/other/pr29610.C
g++.dg/other/pr42645-1.C
g++.dg/other/pr42645-2.C
g++.dg/other/pr52048.C
g++.dg/other/typedef3.C
g++.dg/overload/defarg4.C
g++.dg/overload/operator5.C
g++.dg/overload/ref-conv1.C
g++.dg/overload/template5.C
g++.dg/parse/crash40.C
g++.dg/parse/crash61.C
g++.dg/parse/crash67.C
g++.dg/parse/ctor5.C
g++.dg/parse/defarg4.C
g++.dg/parse/defarg6.C
g++.dg/parse/error5.C
g++.dg/parse/expr2.C
g++.dg/parse/friend7.C
g++.dg/parse/namespace1.C
g++.dg/parse/namespace9.C
g++.dg/parse/ret-type2.C
g++.dg/parse/typedef8.C
g++.dg/pch/static-1.C
g++.dg/plugin/diagnostic-test-expressions-1.C
g++.dg/plugin/dumb-plugin-test-1.C
g++.dg/plugin/self-assign-test-1.C
g++.dg/plugin/self-assign-test-2.C
g++.dg/plugin/self-assign-test-3.C
g++.dg/pr55513.C
g++.dg/pr55604.C
g++.dg/pr57662.C
g++.dg/pr58389.C
g++.dg/pr59510.C
g++.dg/pr67989.C
g++.dg/pr70590-2.C
g++.dg/pr70590.C
g++.dg/pr70965.C
g++.dg/pr77550.C
g++.dg/pr80287.C
g++.dg/pr80707.C
g++.dg/pr81194.C
g++.dg/spellcheck-identifiers.C
g++.dg/tc1/dr152.C
g++.dg/template/aggr-init1.C
g++.dg/template/anon1.C
g++.dg/template/array29.C
g++.dg/template/array7.C
g++.dg/template/canon-type-8.C
g++.dg/template/conv1.C
g++.dg/template/crash107.C
g++.dg/template/crash23.C
g++.dg/template/crash8.C
g++.dg/template/defarg4.C
g++.dg/template/dependent-expr9.C
g++.dg/template/error10.C
g++.dg/template/friend32.C
g++.dg/template/init6.C
g++.dg/template/memfriend7.C
g++.dg/template/new10.C
g++.dg/template/nontype12.C
g++.dg/template/overload12.C
g++.dg/template/overload5.C
g++.dg/template/overload8.C
g++.dg/template/partial10.C
g++.dg/template/partial9.C
g++.dg/template/qual1.C
g++.dg/template/show-template-tree-3.C
g++.dg/template/sizeof8.C
g++.dg/template/sizeof9.C
g++.dg/template/spec6.C
g++.dg/template/spec7.C
g++.dg/template/typedef8.C
g++.dg/template/using20.C
g++.dg/template/vla1.C
g++.dg/tm/cgraph_edge.C
g++.dg/tm/pr46646.C
g++.dg/tm/pr47554.C
g++.dg/tm/pr47573.C
g++.dg/tm/unsafe1.C
g++.dg/tm/unsafe2.C
g++.dg/torture/20070621-1.C
g++.dg/torture/20090329-1.C
g++.dg/torture/20141013.C
g++.dg/torture/pr33134.C
g++.dg/torture/pr33340.C
g++.dg/torture/pr33627.C
g++.dg/torture/pr34222.C
g++.dg/torture/pr34241.C
g++.dg/torture/pr34641.C
g++.dg/torture/pr34850.C
g++.dg/torture/pr35164-1.C
g++.dg/torture/pr36745.C
g++.dg/torture/pr38705.C
g++.dg/torture/pr38811.C
g++.dg/torture/pr39362.C
g++.dg/torture/pr39732.C
g++.dg/torture/pr40991.C
g++.dg/torture/pr41775.C
g++.dg/torture/pr42183.C
g++.dg/torture/pr42450.C
g++.dg/torture/pr42704.C
g++.dg/torture/pr42760.C
g++.dg/torture/pr42773.C
g++.dg/torture/pr42883.C
g++.dg/torture/pr43905.C
g++.dg/torture/pr44148.C
g++.dg/torture/pr44295.C
g++.dg/torture/pr44357.C
g++.dg/torture/pr44813.C
g++.dg/torture/pr45580.C
g++.dg/torture/pr45874.C
g++.dg/torture/pr45877.C
g++.dg/torture/pr46383.C
g++.dg/torture/pr46469.C
g++.dg/torture/pr47313.C
g++.dg/torture/pr48271.C
g++.dg/torture/pr49615.C
g++.dg/torture/pr49770.C
g++.dg/torture/pr49938.C
g++.dg/torture/pr51436.C
g++.dg/torture/pr51482.C
g++.dg/torture/pr51737.C
g++.dg/torture/pr51959.C
g++.dg/torture/pr52772.C
g++.dg/torture/pr52918-2.C
g++.dg/torture/pr53011.C
g++.dg/torture/pr53602.C
g++.dg/torture/pr53752.C
g++.dg/torture/pr54838.C
g++.dg/torture/pr54902.C
g++.dg/torture/pr56029.C
g++.dg/torture/pr56768.C
g++.dg/torture/pr57107.C
g++.dg/torture/pr57140.C
g++.dg/torture/pr57235.C
g++.dg/torture/pr58252.C
g++.dg/torture/pr58555.C
g++.dg/torture/pr59208.C
g++.dg/torture/pr60438-1.C
g++.dg/torture/pr60438-2.C
g++.dg/torture/pr60746.C
g++.dg/torture/pr61554.C
g++.dg/torture/pr63419.C
g++.dg/torture/pr63476.C
g++.dg/torture/pr63512.C
g++.dg/torture/pr64282.C
g++.dg/torture/pr64378.C
g++.dg/torture/pr64565.C
g++.dg/torture/pr64568-2.C
g++.dg/torture/pr64669.C
g++.dg/torture/pr64686.C
g++.dg/torture/pr64978.C
g++.dg/torture/pr64995.C
g++.dg/torture/pr65655.C
g++.dg/torture/pr65851.C
g++.dg/torture/pr67055.C
g++.dg/torture/pr67191.C
g++.dg/torture/pr68852.C
g++.dg/torture/pr69264.C
g++.dg/torture/pr77674.C
g++.dg/torture/pr77947.C
g++.dg/torture/pr78268.C
g++.dg/torture/pr78507.C
g++.dg/torture/pr78692.C
g++.dg/torture/pr80171.C
g++.dg/torture/pr82154.C
g++.dg/tree-ssa/copyprop.C
g++.dg/tree-ssa/pr22444.C
g++.dg/tree-ssa/pr23948.C
g++.dg/tree-ssa/pr24172.C
g++.dg/tree-ssa/pr24351-3.C
g++.dg/tree-ssa/pr27283.C
g++.dg/tree-ssa/pr27291.C
g++.dg/tree-ssa/pr27548.C
g++.dg/tree-ssa/pr34355.C
g++.dg/tree-ssa/pr42337.C
g++.dg/tree-ssa/pred-1.C
g++.dg/ubsan/pr63956.C
g++.dg/ubsan/pr65019.C
g++.dg/ubsan/pr65583.C
g++.dg/vect/pr60836.cc
g++.dg/vect/pr68145.cc
g++.dg/vect/pr70729.cc
g++.dg/vect/pr70729-nest.cc
g++.dg/warn/pmf1.C
g++.dg/warn/Waddress-3.C
g++.dg/warn/Wconversion-null-2.C
g++.dg/warn/Wnull-conversion-2.C
g++.dg/warn/Wparentheses-10.C
g++.dg/warn/Wparentheses-11.C
g++.dg/warn/Wparentheses-12.C
g++.dg/warn/Wparentheses-25.C
g++.dg/warn/Wparentheses-6.C
g++.dg/warn/Wparentheses-7.C
g++.dg/warn/Wparentheses-8.C
g++.dg/warn/Wparentheses-9.C
g++.dg/warn/Wshadow-5.C
g++.dg/warn/Wtype-limits.C
g++.dg/warn/Wtype-limits-no.C
g++.dg/warn/Wtype-limits-Wextra.C
g++.dg/warn/Wunused-local-typedefs.C
g++.dg/warn/Wzero-as-null-pointer-constant-5.C
g++.old-deja/g++.benjamin/p13417.C
g++.old-deja/g++.brendan/crash24.C
g++.old-deja/g++.ext/constructor.C
g++.old-deja/g++.ext/namedret1.C
g++.old-deja/g++.ext/namedret3.C
g++.old-deja/g++.ext/return1.C
g++.old-deja/g++.jason/anon4.C
g++.old-deja/g++.jason/enum6.C
g++.old-deja/g++.jason/lineno2.C
g++.old-deja/g++.jason/lineno3.C
g++.old-deja/g++.jason/lineno4.C
g++.old-deja/g++.jason/new2.C
g++.old-deja/g++.jason/new4.C
g++.old-deja/g++.jason/shadow1.C
g++.old-deja/g++.jason/tempcons.C
g++.old-deja/g++.jason/thunk2.C
g++.old-deja/g++.law/builtin1.C
g++.old-deja/g++.law/enum9.C
g++.old-deja/g++.law/except3.C
g++.old-deja/g++.law/init6.C
g++.old-deja/g++.law/profile1.C
g++.old-deja/g++.law/shadow2.C
g++.old-deja/g++.law/temps4.C
g++.old-deja/g++.mike/bool2.C
g++.old-deja/g++.mike/eh10.C
g++.old-deja/g++.mike/eh13.C
g++.old-deja/g++.mike/eh16.C
g++.old-deja/g++.mike/eh17.C
g++.old-deja/g++.mike/eh1.C
g++.old-deja/g++.mike/eh23.C
g++.old-deja/g++.mike/eh24.C
g++.old-deja/g++.mike/eh25.C
g++.old-deja/g++.mike/eh26.C
g++.old-deja/g++.mike/eh27.C
g++.old-deja/g++.mike/eh28.C
g++.old-deja/g++.mike/eh29.C
g++.old-deja/g++.mike/eh2.C
g++.old-deja/g++.mike/eh30.C
g++.old-deja/g++.mike/eh31.C
g++.old-deja/g++.mike/eh35.C
g++.old-deja/g++.mike/eh36.C
g++.old-deja/g++.mike/eh37.C
g++.old-deja/g++.mike/eh38.C
g++.old-deja/g++.mike/eh39.C
g++.old-deja/g++.mike/eh40.C
g++.old-deja/g++.mike/eh47.C
g++.old-deja/g++.mike/eh50.C
g++.old-deja/g++.mike/eh51.C
g++.old-deja/g++.mike/eh7.C
g++.old-deja/g++.mike/eh8.C
g++.old-deja/g++.mike/eh9.C
g++.old-deja/g++.mike/mangle1.C
g++.old-deja/g++.mike/p5958.C
g++.old-deja/g++.mike/p6004.C
g++.old-deja/g++.mike/p700.C
g++.old-deja/g++.mike/p7912.C
g++.old-deja/g++.mike/p811.C
g++.old-deja/g++.mike/virt4.C
g++.old-deja/g++.oliva/nameret1.C
g++.old-deja/g++.oliva/nameret2.C
g++.old-deja/g++.other/decl1.C
g++.old-deja/g++.other/expr1.C
g++.old-deja/g++.other/inline8.C
g++.old-deja/g++.other/loop1.C
g++.old-deja/g++.other/syntax1.C
g++.old-deja/g++.pt/repo3.C
g++.old-deja/g++.robertl/eb27.C
g++.old-deja/g++.robertl/eb83.C
obj-c++.dg/comp-types-8.mm
obj-c++.dg/demangle-3.mm
obj-c++.dg/super-class-1.mm

Reply via email to