> On Wed, Nov 13, 2019 at 10:08:23PM +0100, Jan Hubicka wrote: > > PR c++/92421 > > * ipa-prop.c (update_indirect_edges_after_inlining): > > Mark parameter as used. > > * ipa-inline.c (recursive_inlining): Reset node cache > > after inlining. > > (inline_small_functions): Remove checking ifdef. > > * ipa-inline-analysis.c (do_estimate_edge_time): Verify > > cache consistency. > > * g++.dg/torture/pr92421.C: New testcase. > > The testcase FAILs everywhere: > FAIL: g++.dg/torture/pr92421.C -O0 (test for excess errors) > FAIL: g++.dg/torture/pr92421.C -O1 (test for excess errors) > FAIL: g++.dg/torture/pr92421.C -O2 (test for excess errors) > ... > FAIL: g++.dg/torture/pr92421.C -O0 (test for excess errors) > Excess errors: > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:112:3: warning: no return > statement in function returning non-void [-Wreturn-type] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:121:3: warning: no return > statement in function returning non-void [-Wreturn-type] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:166:10: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:166:37: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:172:10: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:174:1: warning: no return > statement in function returning non-void [-Wreturn-type] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:60:10: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:60:34: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:62:10: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:62:34: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:71:8: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:71:32: warning: ISO C++ > forbids converting a string constant to 'char*' [-Wwrite-strings] > /usr/src/gcc/gcc/testsuite/g++.dg/torture/pr92421.C:47:7: warning: > 'q::bb(char*, long int, char*, long int)::bf::bf(long int)' used but never > defined > > I've fixed all the -Wwrite-strings warnings, all but one > -Wreturn-type warnings (the one spot left made the ICE go away > with unfixed g++ at -O3), the undefined bf ctor warning, tested on > x86_64-linux, verified unfixed g++ still ICEs, committed to trunk > as obvious: > > 2019-11-14 Jakub Jelinek <ja...@redhat.com> > > PR ipa/92421 > * g++.dg/torture/pr92421.C: Add -Wno-return-type to > dg-additional-options. Avoid -Wwrite-string warnings, most of > -Wreturn-type warnings, define bf ctor. Use struct instead of class > with public: at the start.
Thanks a lot and sorry for the breakage. Honza