https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102586
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Seems in the C++ FE it is CLASSTYPE_AS_BASE, so shall clear_padding_type for FIELD_DECLs where DECL_SIZE_UNIT (fld) is smaller than TYPE_SIZE_UNIT (TREE_TYPE (fld)) call some new langhook which for C++ would return CLASSTYPE_AS_BASE? All gimple_fold_builtin calls for BUILT_IN_CLEAR_PADDING should fold the call away, so I'd hope that all the folding happens before IPA.