------- 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