This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()
- From: "jamborm at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Sep 2010 18:21:16 -0000
- Subject: [Bug tree-optimization/45580] [4.6 Regression] Building WebKit fails with compiler catching SIGSEGV in gimple_fold_obj_type_ref_known_binfo()
- References: <bug-45580-14026@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from jamborm at gcc dot gnu dot org 2010-09-17 18:21 -------
The problem is a big one. In short, placement new operator changes
the type of an object to another, which re-sets up the VMT. Then there
is call of a virtual method of the latter type. CCP however happily
propagates the initial declaration (of a type with no virtual methods)
to the OBJ_TYPE_REF and attempts to fold it. The folding function
naturally expect to see some virtual methods in BINFOs but there are
none and we dereference a NULL pointer.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45580