https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109510
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #3) > (In reply to Eric Botcazou from comment #2) > > > Maybe Eric can clarify which type kinds in Ada can have TYPE_USER_ALIGN > > > and > > > _not_ a TYPE_MAIN_VARIANT without. > > > > All of them, TYPE_USER_ALIGN is supposed to be orthogonal to type variants. > > How do you get at the alignment the type would have when the user didn't > specify it? That's what the call ABI is supposed to look at. > > /* 1 if the alignment for this type was requested by "aligned" attribute, > 0 if it is the default for this type. */ > #define TYPE_USER_ALIGN(NODE) (TYPE_CHECK (NODE)->base.u.bits.user_align) > > so what's the "default" alignment? Btw, we're talking about non-aggregate types here.