On Fri, Sep 18, 2020 at 01:49:46PM -0700, Linus Torvalds wrote: > On Fri, Sep 18, 2020 at 1:41 PM Luc Van Oostenryck > <luc.vanoostenryck@xxxxxxxxx> wrote: > > > > I also have 2 questions here under. > > > > > struct bad { > > > unsigned long long a; > > > char b[]; > > > }; > > ... > > > // The layout is odd > > > // The code does "info->align_size = 0" for unsized arrays, but it > > > still works? > > > int odd(struct bad *a) > > > { > > > return __alignof__(*a); > > > } > > > > This returns 8. What's odd here? > > The fact that it works correctly. For info, it was just a coincidence. The returned value correspond to the value 'max_align' which was not reset. This is now fixed in the series I just posted. Best regards, -- Luc