------- Comment #5 from rguenth at gcc dot gnu dot org 2010-09-18 09:32 ------- (In reply to comment #4) > 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.
I don't quite understand from the description what is going on. Did you manage to produce a smaller testcase? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45580