Commit c5a362b4 by Eric Fiselier

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.
parent 056a008a
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
#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;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment