------- Comment #5 from pinskia at gcc dot gnu dot org 2006-09-29 17:30 ------- I think we can declare this as invalid code for C and unkown for C++.
For C++, inplacement new is supposed to "fix" the problem with different types as C++ defines aliasing based on the dynamic type but we get a different bug with that being PR 29286. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29272