From: Marek Polacek Date: Fri, 5 Apr 2024 17:40:33 +0000 (-0400) Subject: c++: add fixed test [PR91079] X-Git-Tag: basepoints/gcc-15~324 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b2d3a135a43cbafadd8957e0b2543f38c390437;p=thirdparty%2Fgcc.git c++: add fixed test [PR91079] Fixed by r12-2975. PR c++/91079 DR 1881 gcc/testsuite/ChangeLog: * g++.dg/ext/is_std_layout5.C: New test. --- diff --git a/gcc/testsuite/g++.dg/ext/is_std_layout5.C b/gcc/testsuite/g++.dg/ext/is_std_layout5.C new file mode 100644 index 000000000000..875f3c0948d4 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/is_std_layout5.C @@ -0,0 +1,13 @@ +// PR c++/91079 +// DR 1881 - Standard-layout classes and unnamed bit-fields +// { dg-do compile { target c++11 } } + +struct A { int a : 4; }; +struct B : A { int b : 3; }; +static_assert(__is_standard_layout(A), ""); +static_assert(!__is_standard_layout(B), ""); + +struct C { int : 0; }; +struct D : C { int : 0; }; +static_assert(__is_standard_layout(C), ""); +static_assert(!__is_standard_layout(D), "");