------- Comment #13 from rguenth at gcc dot gnu dot org 2010-09-20 11:45 ------- namespace std { typedef __SIZE_TYPE__ size_t; } inline void* operator new(std::size_t, void* __p) throw() { return __p; } extern "C" void abort (void); class Foo { public: virtual void test (void) { abort (); } }; class Bar { public: virtual void test (void) { } }; int main() { Foo f; Bar *b; b = new (&f) Bar(); b->test(); return 0; }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45580