https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78905
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|8.0 |7.0 --- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- GCC 7 now defines _GLIBCXX_RELEASE (with the same value as __GNUC__ has, i.e. the GCC major version, as an integer constant, but defined by the library headers not the compiler). If that macro is present you have a version of libstdc++ that provides a working <regex>. To be really sure you could check it's defined to a value >= 5, in order to handle (hypothetical) unofficial 4.7 or 4.8 builds that have the patch backported.