DR 1813 PR c++/83374 - __is_standard_layout wrong for a class with repeated bases.
authorMarek Polacek <polacek@redhat.com>
Fri, 5 Jul 2019 14:45:30 +0000 (14:45 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Fri, 5 Jul 2019 14:45:30 +0000 (14:45 +0000)
commit899a199767a1a94812bed0642eca3da0c96c9355
tree7fb69006c6279bfba18f6de72d9f87967861ce4b
parent2bdc7dcbbd2eee4f114c09443933cc37a546dbff
DR 1813 PR c++/83374 - __is_standard_layout wrong for a class with repeated bases.

DR 1813
PR c++/83374 - __is_standard_layout wrong for a class with repeated bases.
* class.c (check_bases): Set CLASSTYPE_NON_STD_LAYOUT for a class if
CLASSTYPE_REPEATED_BASE_P is true.

* g++.dg/ext/is_std_layout3.C: New test.
* g++.dg/ext/is_std_layout4.C: New test.

From-SVN: r273139
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/is_std_layout3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/is_std_layout4.C [new file with mode: 0644]