https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100731
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- r230324 changed the dependency for std::to_string from _GLIBCXX_USE_C99 to _GLIBCXX_USE_C99_STDIO, which means it's enabled for more targets (you don't need the full C99 math library, for example!) That change is present in GCC 6. And r272186 removed the _GLIBCXX_C99_STDIO dependency for std::to_string, so it's always defined now. That's in GCC 10.