https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94707
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Bill Schmidt from comment #8) > If C++17 has added new hidden fields It hasn't. What changed is how G++ represents such types. The code is the same in C++14 and C++17, i.e. there's an empty base class present in the source code, not something introduced by the language. And there's no such thing as a "hidden field" in any version of the C++ standard. C++17 didn't introduce anything here.