https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97943
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > I think the only viable route is to _not_ clear the "padding" covered by > flexarray members. We may never ever clear actual values and they, as you > say, > could be actual values. > > But ... can we even do a atomic operation on such "incomplete" type? So, > isn't there a complete type w/o flexarray always available? > > So ... sorry () here and reject an attempt to clear padding in an incomplete > type? > > Which raises the question what to do for the real-world case which won't > use char b[] since that's not C++ but would use char b[1] ... To answer my own question, array_at_struct_end_p () covered padding must not be cleared.