After extensive discussion, I think the proper thing is for the Ada front end to set TYPE_USER_ALIGN on all (or nearly all) types, but not to set DECL_USER_ALIGN on any decls. However, when I looked, I see that is indeed what it *does* do, so I'm now confused about the problem you are seeing.