https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98723
--- Comment #10 from Luca Bacci <luca.bacci at outlook dot com> --- There's another report for Solaris which is essentially a duplicate: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85824. > the regex compilation will be affected by current locale even if > std::regex::collate is not set Yes, std::regex ends up calling strxfrm even when std::regex::collate is not set, but that's not an issue. std::regex::collate only determines if character ranges [a-b] will be locale sensitive; on the other hand, things like equivalence classes [=a=] have to work regardless of the collate flag. For equivalence classes you need locale data. The C++ standard delegates locale-sensitive processing to std::regex_traits, and that will be used regardless of the std::regex::collate flag.