c++: Treat unnamed bitfields as padding for __has_unique_object_representations ...
authorJakub Jelinek <jakub@redhat.com>
Tue, 14 Mar 2023 15:17:32 +0000 (16:17 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 14 Mar 2023 15:17:32 +0000 (16:17 +0100)
commitc35cf160a0ed81570cff6600dba465cf95fa80fa
tree81d3ab44a48fc02958b1c4af22d7b1943cfcb8a1
parent0e6f87835ccabfe84afe412583544ff6e6292352
c++: Treat unnamed bitfields as padding for __has_unique_object_representations [PR109096]

As reported in the PR, for __has_unique_object_representations we
were treating unnamed bitfields as named ones, which is wrong, they
are actually padding.

THe following patch fixes that.

2023-03-14  Jakub Jelinek  <jakub@redhat.com>

PR c++/109096
* tree.cc (record_has_unique_obj_representations): Ignore unnamed
bitfields.

* g++.dg/cpp1z/has-unique-obj-representations3.C: New test.
gcc/cp/tree.cc
gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations3.C [new file with mode: 0644]