On Mon, Jan 10, 2022 at 3:23 PM Michael Matz <m...@suse.de> wrote: > > Hello, > > On Mon, 20 Dec 2021, Uros Bizjak wrote: > > > > Thanks. > > > I see nobody commented on Micha's post there. > > > > > > Here is a patch that implements it in GCC, i.e. C++ doesn't change ABI > > > (at least > > > not from the past few releases) and C does for GCC: > > > > > > 2021-12-15 Jakub Jelinek <ja...@redhat.com> > > > > > > PR target/102024 > > > * config/i386/i386.c (classify_argument): Add zero_width_bitfields > > > argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD > > > bitfields, > > > always ignore them, when seeing other zero sized bitfields, either > > > set zero_width_bitfields to 1 and ignore it or if equal to 2 > > > process > > > it. Pass it to recursive calls. Add wrapper > > > with old arguments and diagnose ABI differences for C structures > > > with zero width bitfields. Formatting fixes. > > > > > > * gcc.target/i386/pr102024.c: New test. > > > * g++.target/i386/pr102024.C: New test. > > > > Please get a signoff on the ABI change (perhaps HJ can help here), > > I'll approve the implementation after that. > > Christmas came in the way, but I just merged the proposed change > (zero-with bit-fields -> NO_CLASS) into the psABI.
Thanks - LGTM for the patch. Thanks, Uros.