From c5a362b4d3d7f73c643ef485105e6e3d274da78a Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 6 Mar 2015 12:05:19 -0500 Subject: [PATCH] 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. --- cmake/std_regex.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/std_regex.cpp b/cmake/std_regex.cpp index 2059a9f0..696f2a26 100644 --- a/cmake/std_regex.cpp +++ b/cmake/std_regex.cpp @@ -2,9 +2,9 @@ #include int main() { const std::string str = "test0159"; - const std::regex re( - "^[a-z]+[0-9]+$", - std::regex_constants::extended | std::regex_constants::nosubs); + std::regex re; + re = std::regex("^[a-z]+[0-9]+$", + std::regex_constants::extended | std::regex_constants::nosubs); return std::regex_search(str, re) ? 0 : -1; }