http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60965
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Jan Hubicka from comment #6) > It is a bit > questionable on how precisely define what type transitions are allowed by > placement new. This is quite conservative definition except for the > requirement that type needs to be large enough to contain the newly built > type. We don't need to handle all non-PODs; arrays of (unsigned) char are special under the aliasing rules, so that you can construct any type of object in a char array and access the object representation of any type via a char pointer. You can't randomly change the object stored in a buffer of any other type.