[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #9 from paolo dot carlini at oracle dot com 2009-12-26 11:03 --- I understand can be closed as fixed now. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #8 from hjl at gcc dot gnu dot org 2009-12-11 23:38 --- Subject: Bug 42317 Author: hjl Date: Fri Dec 11 23:36:24 2009 New Revision: 155184 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155184 Log: Backport testcases from trunk. 2009-12-11 H.J. Lu hongjiu...@intel.com Backport from mainline: 2009-12-11 Dodji Seketeli do...@redhat.com PR c++/42225 * g++.dg/template/typedef24.C: New test. * g++.dg/template/typedef25.C: New test. 2009-12-11 Dodji Seketeli do...@redhat.com PR c++/42251 * g++.dg/template/const3.C: New test. 2009-12-10 Jakub Jelinek ja...@redhat.com PR c++/42317 * g++.dg/opt/dtor2.C: New test. * g++.dg/opt/dtor2.h: New file. * g++.dg/opt/dtor2-aux.cc: New file. 2009-12-10 Jan Hubicka j...@suse.cz PR middle-end/42110 * g++.dg/torture/pr42110.C: new file. 2009-12-07 Jakub Jelinek ja...@redhat.com PR debug/42244 * gcc.dg/debug/pr42244.c: New test. 2009-12-04 David Daney dda...@caviumnetworks.com PR rtl-optimization/42164 * gcc.c-torture/compile/pr42164.c: New test. 2009-12-03 Jason Merrill ja...@redhat.com PR c++/41611 * g++.dg/abi/guard2.C: New. 2009-12-03 Dodji Seketeli do...@redhat.com PR c++/42217 * g++.dg/other/bitfield4.C: New test. 2009-12-03 Jakub Jelinek ja...@redhat.com PR c++/42256 * g++.dg/inherit/thunk11.C: New test. * g++.dg/inherit/thunk11.h: New file. * g++.dg/inherit/thunk11-aux.cc: New file. 2009-12-01 Martin Jambor mjam...@suse.cz PR tree-optimization/42237 * gcc.c-torture/compile/pr42237.c: New test. 2009-12-01 Paolo Carlini paolo.carl...@oracle.com PR c++/42057 * g++.dg/parse/crash54.C: New. 2009-11-30 Martin Jambor mjam...@suse.cz PR middle-end/42196 * gcc.c-torture/compile/pr42196-1.c: New test. * gcc.c-torture/compile/pr42196-2.c: New test. * gcc.c-torture/compile/pr42196-3.c: New test. 2009-11-30 Dodji Seketeli do...@redhat.com PR c++/42069 * g++.dg/template/typedef23.C: New test. 2009-11-29 H.J. Lu hongjiu...@intel.com PR tree-optimization/41961 * g++.dg/tree-ssa/pr41961.C: New. 2009-11-29 Ira Rosen i...@il.ibm.com PR tree-optimization/42193 * gcc.dg/vect/pr42193.c: New test. 2009-11-28 Richard Guenther rguent...@suse.de PR tree-optimization/42183 * g++.dg/torture/pr42183.C: New testcase. 2009-11-27 Martin Jambor mjam...@suse.cz PR middle-end/42006 * gcc.c-torture/execute/pr42006.c: New test. 2009-11-27 Michael Matz m...@suse.de PR rtl-optimization/42084 * gcc.dg/pr42084.c: New test. 2009-11-27 Michael Matz m...@suse.de PR c++/41906 * g++.dg/tree-ssa/pr41906.C: New testcase. 2009-11-26 Michael Matz m...@suse.de PR tree-optimization/41905 * g++.dg/tree-ssa/pr41905.C: New testcase. 2009-11-24 Richard Guenther rguent...@suse.de PR tree-optimization/42142 * gcc.c-torture/execute/pr42142.c: New testcase. 2009-11-24 Martin Jambor mjam...@suse.cz PR tree-optimization/42154 * gcc.c-torture/execute/pr42154.c: New test. 2009-11-21 Martin Jambor mjam...@suse.cz PR middle-end/42025 * gcc.c-torture/compile/pr42025-1.c: New test. * gcc.c-torture/compile/pr42025-2.c: New test. 2009-11-21 Jakub Jelinek ja...@redhat.com PR tree-optimization/42078 * gcc.dg/pr42078.c: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/abi/guard2.C - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/abi/guard2.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11-aux.cc - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/inherit/thunk11-aux.cc branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11.C - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/inherit/thunk11.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/inherit/thunk11.h - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/inherit/thunk11.h branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2-aux.cc - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/opt/dtor2-aux.cc branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2.C - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/opt/dtor2.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/opt/dtor2.h - copied unchanged from r155170, trunk/gcc/testsuite/g++.dg/opt/dtor2.h branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/bitfield4.C - copied unchanged from r155170,
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #7 from jakub at gcc dot gnu dot org 2009-12-10 21:59 --- Subject: Bug 42317 Author: jakub Date: Thu Dec 10 21:58:49 2009 New Revision: 155143 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155143 Log: PR c++/42317 * cgraph.h (struct cgraph_node): Add same_comdat_group field. * cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group circular list. (cgraph_node_can_be_local_p): Return false for DECL_COMDAT with node-same_comdat_group. * ipa.c (cgraph_remove_unreachable_nodes): For any reachable node mark all its same_comdat_group nodes as also reachable. (cgraph_externally_visible_p): Return true even if any of same_comdat_group nodes has address taken. * lto-cgraph.c (lto_output_node): Stream out same_comdat_group. (output_cgraph): Ensure other same_comdat_group nodes are also included. (input_node): Stream in same_comdat_group. (input_cgraph_1): Fix up same_comdat_group fields from references to pointers. * cgraphunit.c (cgraph_analyze_functions): Mark all other same_comdat_group nodes as reachable. (cgraph_mark_functions_to_output): For each node-process process also other same_comdat_group nodes. * ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes with same_comdat_group non-NULL. (cgraph_mark_inline_edge): Likewise. * decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL also on all other functions in the same comdat group. * optimize.c (maybe_clone_body): Also optimize virtual implicit dtors. For virtual comdat dtors tell cgraph that base and deleting dtor are in the same comdat group. * config/abi/pre/gnu.ver: Don't export certain base dtors that weren't previously exported. * g++.dg/opt/dtor2.C: New test. * g++.dg/opt/dtor2.h: New file. * g++.dg/opt/dtor2-aux.cc: New file. Added: trunk/gcc/testsuite/g++.dg/opt/dtor2-aux.cc trunk/gcc/testsuite/g++.dg/opt/dtor2.C trunk/gcc/testsuite/g++.dg/opt/dtor2.h Modified: trunk/gcc/ChangeLog trunk/gcc/cgraph.c trunk/gcc/cgraph.h trunk/gcc/cgraphunit.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl2.c trunk/gcc/cp/optimize.c trunk/gcc/ipa-inline.c trunk/gcc/ipa.c trunk/gcc/lto-cgraph.c trunk/gcc/testsuite/ChangeLog trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/config/abi/pre/gnu.ver -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #2 from debian-gcc at lists dot debian dot org 2009-12-08 08:56 --- with the proposed patch applied, the build fails now with: virtual __gnu_cxx::stdio_sync_filebufwchar_t::~stdio_sync_filebuf()/243(191) @0x4093abd0 availability:available 22 time, 11 benefit ( 24 after inlining) 4 size, 2 benefit (6 after inlining) reachable body externally_visible finalized inlinable called by: calls: void operator delete(void*)/317 (1.00 per call) __gnu_cxx::stdio_sync_filebufwchar_t::~stdio_sync_filebuf()/113 (inlined) (1 .00 per call) ../../../../src/libstdc++-v3/src/ios_init.cc:199:1: internal compiler error: failed to reclaim unneeded function Please submit a full bug report, with preprocessed source if appropriate. the file ios_init.ii builds with -O0, but not with -O1 or higher Matthias -- debian-gcc at lists dot debian dot org changed: What|Removed |Added CC||debian-gcc at lists dot ||debian dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #3 from debian-gcc at lists dot debian dot org 2009-12-08 08:58 --- Created an attachment (id=19256) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19256action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #4 from jakub at gcc dot gnu dot org 2009-12-08 09:03 --- You were testing the patch attached here (i.e. version before bootstrap/regtest) instead of the one posted to gcc-patches (tested), right? http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00385.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #5 from doko at ubuntu dot com 2009-12-08 12:36 --- yes, re-testing with the version from the ML. currently passed the libstdc++ build. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #6 from debian-gcc at lists dot debian dot org 2009-12-08 12:37 --- *** Bug 42323 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
-- jakub at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
--- Comment #1 from jakub at gcc dot gnu dot org 2009-12-07 12:55 --- Created an attachment (id=19248) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19248action=view) gcc45-pr42317.patch Untested patch to implement the (admittedly ugly) cgraph changes to force D0 to be output together with D[12] aliases in D5 comdat groups and accepts some limited bloat in rare cases (in exchange of often saving space because more dtors can be same body optimized). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
-- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot ||org Priority|P1 |P3 Target Milestone|4.5.0 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317
[Bug c++/42317] [4.5 Regression] Issues with comdat virtual dtors
-- jakub at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42317