------- Comment #7 from jakub at gcc dot gnu dot org 2005-11-11 09:39 ------- Or broadcast both flags to all type variants similarly how layout_type->finalize_type_size broadcasts type size etc. I.e. - TYPE_NEEDS_CONSTRUCTING (type) - = TYPE_NEEDS_CONSTRUCTING (TYPE_MAIN_VARIANT (t)); - TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type) - = TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TYPE_MAIN_VARIANT (t)); + unsigned need_constructing = TYPE_NEEDS_CONSTRUCTING (TYPE_MAIN_VARIANT (t)); + unsigned nontriv_destructor = TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TYPE_MAIN_VARIANT (t)); + for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t)) + { + TYPE_NEEDS_CONSTRUCTING (t) = need_constructing; + TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) = nontriv_destructor; + }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24780