https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43798
--- Comment #9 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 20 Mar 2019, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43798 > > Jakub Jelinek <jakub at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |jakub at gcc dot gnu.org > > --- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Note, since r105095 - https://gcc.gnu.org/ml/gcc-patches/2005-10/msg00252.html > we reject a subset of this (when the element size is smaller than the element > alignment). > So, either we extend that to also when the element size is not divisible by > the > element size, or silently replace in layout_type? the element type with a > variant > thereof that has smaller alignment. I think we should reject since if the user writes it that way he doesn't expect that UINT192 *ptr = &bid_Kx192[i]; converts between pointed-to types of different alignment. That is, if we fix up we IMHO need to pad. And I do wonder why sizeof (UINT192) is 24 and not 32 (is it?).