On 11/02/16 07:11, Bernd Edlinger wrote: > On 11/01/16 19:15, Bernd Edlinger wrote: >> On 11/01/16 18:11, Jason Merrill wrote: >>> On Tue, Nov 1, 2016 at 11:45 AM, Bernd Edlinger >>> <bernd.edlin...@hotmail.de> wrote: >>>> On 11/01/16 16:20, Jason Merrill wrote: >>>>> On 10/17/2016 03:18 PM, Bernd Edlinger wrote: >>>>> I'm not even sure we need a new warning. Can we combine this warning >>>>> with the block that currently follows? >>>> >>>> After 20 years of not having a warning on that, >>>> an implicitly enabled warning would at least break lots of bogus >>>> test cases. >>> >>> Would it, though? Which test cases still break with the current patch? >>> >> >> Less than before, but there are still at least a few of them. >> >> I can make a list and send it tomorrow. >> > > FAIL: g++.dg/cpp1y/lambda-generic-udt.C -std=gnu++14 (test for excess > errors) > FAIL: g++.dg/cpp1y/lambda-generic-xudt.C -std=gnu++14 (test for excess > errors) > FAIL: g++.dg/init/new15.C -std=c++11 (test for excess errors) > FAIL: g++.dg/init/new15.C -std=c++14 (test for excess errors) > FAIL: g++.dg/init/new15.C -std=c++98 (test for excess errors) > FAIL: g++.dg/ipa/inline-1.C -std=gnu++11 (test for excess errors) > FAIL: g++.dg/ipa/inline-1.C -std=gnu++14 (test for excess errors) > FAIL: g++.dg/ipa/inline-1.C -std=gnu++98 (test for excess errors) > FAIL: g++.dg/ipa/inline-2.C -std=gnu++11 (test for excess errors) > FAIL: g++.dg/ipa/inline-2.C -std=gnu++14 (test for excess errors) > FAIL: g++.dg/ipa/inline-2.C -std=gnu++98 (test for excess errors) > FAIL: g++.dg/tc1/dr20.C -std=c++11 (test for excess errors) > FAIL: g++.dg/tc1/dr20.C -std=c++14 (test for excess errors) > FAIL: g++.dg/tc1/dr20.C -std=c++98 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++11 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++14 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-1.C -std=gnu++98 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++11 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++14 (test for excess errors) > FAIL: g++.dg/tree-ssa/inline-2.C -std=gnu++98 (test for excess errors) > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O0 -flto > -flto-partition=1to1 -fno-use-linker-plugin > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O0 -flto > -flto-partition=none -fuse-linker-plugin > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O0 -flto > -fuse-linker-plugin -fno-fat-lto-objects > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O2 -flto > -flto-partition=1to1 -fno-use-linker-plugin > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O2 -flto > -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects > FAIL: g++.dg/lto/20080908-1 cp_lto_20080908-1_0.o assemble, -O2 -flto > -fuse-linker-plugin > FAIL: g++.dg/lto/pr68811 cp_lto_pr68811_0.o assemble, -O2 > FAIL: g++.old-deja/g++.law/except1.C -std=gnu++11 (test for excess errors) > FAIL: g++.old-deja/g++.law/except1.C -std=gnu++14 (test for excess errors) > FAIL: g++.old-deja/g++.law/except1.C -std=gnu++98 (test for excess errors) > FAIL: g++.old-deja/g++.mike/p700.C -std=gnu++11 (test for excess errors) > FAIL: g++.old-deja/g++.mike/p700.C -std=gnu++14 (test for excess errors) > FAIL: g++.old-deja/g++.mike/p700.C -std=gnu++98 (test for excess errors) > FAIL: g++.old-deja/g++.other/builtins10.C -std=c++11 (test for excess > errors) > FAIL: g++.old-deja/g++.other/builtins10.C -std=c++14 (test for excess > errors) > FAIL: g++.old-deja/g++.other/realloc.C -std=c++11 (test for excess errors) > FAIL: g++.old-deja/g++.other/realloc.C -std=c++14 (test for excess errors) > FAIL: g++.old-deja/g++.other/realloc.C -std=c++98 (test for excess errors) > FAIL: g++.old-deja/g++.other/vbase5.C -std=c++11 (test for excess errors) > FAIL: g++.old-deja/g++.other/vbase5.C -std=c++14 (test for excess errors) > FAIL: g++.old-deja/g++.other/vbase5.C -std=c++98 (test for excess errors) > > > The lto test case does emit the warning when assembling, but > it still produces an executable and even executes it. > > Also g++.dg/cpp1y/lambda-generic-udt.C, g++.dg/tc1/dr20.C > and g++.old-deja/g++.other/vbase5.C are execution tests. > > So I was wrong to assume these were all compile-only tests. > > I think that list should be fixable, if we decide to enable > the warning by default. >
Aehm, sorry. I forgot to look at other languages... === obj-c++ tests === Running target unix FAIL: obj-c++.dg/lto/trivial-1 obj_cpp_lto_trivial-1_0.o assemble, -O0 -flto -fg nu-runtime FAIL: obj-c++.dg/lto/trivial-1 obj_cpp_lto_trivial-1_0.o assemble, -O2 -flto -fg nu-runtime FAIL: obj-c++.dg/lto/trivial-1 obj_cpp_lto_trivial-1_0.o assemble, -O0 -flto -fl to-partition=none -fgnu-runtime FAIL: obj-c++.dg/lto/trivial-1 obj_cpp_lto_trivial-1_0.o assemble, -O2 -flto -fl to-partition=none -fgnu-runtime === libitm tests === Running target unix FAIL: libitm.c++/dropref.C (test for excess errors) FAIL: libitm.c++/throwdown.C (test for excess errors) Bernd.