http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46188
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2010-10-26 19:08:37 UTC --- I think this has some undefined code in it. The dynamic type of this->data changes a few times and I don't know the current type when delete[] is called.