https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108846
--- Comment #6 from Jiang An <de34 at live dot cn> --- > For example, assuming both sizeof(B) and sizeof(D) are 8, which means the last > 2 bytes of B are padding (true for common implementations on Itanium ABI): Oh, I forgot the strange design caused by CWG43 - this requires some non-C++98-POD mechanism for B (e.g. an explicitly default default constructor)...