https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70147
--- Comment #19 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- (In reply to Jakub Jelinek from comment #18) > (In reply to Bernd Edlinger from comment #17) > > > > Do you see a way, how to conditionalize the clobber on the in_charge? > > Very easily, by wrapping the CLOBBER into an conditional testing > current_in_charge_parm if that is non-NULL or something similar. > Or by using a different CLOBBER for the subobject ctors (e.g. one that does > clobber just the data fields and not the vtable pointers in there, whatever). Great. I am not at all concerned about the vtables, they will be written again in the base object constructor, even if it throws something, the virtual base destructor will first initialize the vtable again. I am really concerned about the rest of the base object, because the constructor is only called once, and only in the in_charge ctor. We should not wait for a test case IMHO.