https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94707
--- Comment #8 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- Thus the compiler is acting as expected in both cases, so far as I can see. If C++17 has added new hidden fields, that seems to have introduced an incompatibility between C++17 and C++14 targeted code for the ELFv2 ABI.