Change std::regex detection test to detect bug in libstdc++.

libstdc++'s std::regex has (or had) a bug in std::regex::operator=(...) that
caused undefined behaviour. Clang will detect this and compile the function so
that it crashes at runtime. This patch tried to detect that bug during
configuration.
This commit is contained in:
Eric Fiselier 2015-03-06 12:05:19 -05:00
parent 056a008afa
commit c5a362b4d3

View file

@ -2,8 +2,8 @@
#include <string> #include <string>
int main() { int main() {
const std::string str = "test0159"; const std::string str = "test0159";
const std::regex re( std::regex re;
"^[a-z]+[0-9]+$", re = std::regex("^[a-z]+[0-9]+$",
std::regex_constants::extended | std::regex_constants::nosubs); std::regex_constants::extended | std::regex_constants::nosubs);
return std::regex_search(str, re) ? 0 : -1; return std::regex_search(str, re) ? 0 : -1;
} }