https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114529
--- Comment #3 from Gaius Mulley <gaius at gcc dot gnu.org> --- As an aid memoir the configure flags are: ../configure --prefix=$HOME/opt --enable-bootstrap --with-build-config="bootstrap-O3 bootstrap-lto" --enable-languages=c,c++,m2,lto which provoke the odr violation. m2/gm2-compiler-boot/M2Error.c:421:8: warning: type ‘struct DynamicStrings_Contents_r’ violates the C++ One Definition Rule [-Wodr] 421 | struct DynamicStrings_Contents_r { | ^ m2/gm2-compiler-boot/M2GCCDeclare.c:708:8: note: a different type is defined in another translation unit 708 | struct DynamicStrings_Contents_r { | ^ m2/gm2-compiler-boot/M2Error.c:422:55: note: the first difference of corresponding definitions is field ‘buf’ 422 | DynamicStrings__T5 buf;