c++: Skip unnamed bit-fields more
authorMarek Polacek <polacek@redhat.com>
Mon, 8 Nov 2021 17:55:52 +0000 (12:55 -0500)
committerMarek Polacek <polacek@redhat.com>
Tue, 9 Nov 2021 16:36:19 +0000 (11:36 -0500)
commita648acc3b4ce528464ca23ee233de8f320542195
treea8d1d9529b84e9b2fee3b12a96f0dc2b9bb1f651
parent78dd0de956cbc5a021d3c5e3eb39308c3207936e
c++: Skip unnamed bit-fields more

As Jason noticed in
<https://gcc.gnu.org/pipermail/gcc-patches/2021-November/583592.html>,
we shouldn't require an initializer for an unnamed bit-field, because,
as [class.bit] says, they cannot be initialized.

gcc/cp/ChangeLog:

* class.c (default_init_uninitialized_part): Use
next_initializable_field.
* method.c (walk_field_subobs): Skip unnamed bit-fields.

gcc/testsuite/ChangeLog:

* g++.dg/init/bitfield6.C: New test.
gcc/cp/class.c
gcc/cp/method.c
gcc/testsuite/g++.dg/init/bitfield6.C [new file with mode: 0644]