diff options
author | Eric Fiselier <eric@efcs.ca> | 2015-03-06 12:05:19 -0500 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2015-03-06 12:05:19 -0500 |
commit | c5a362b4d3d7f73c643ef485105e6e3d274da78a (patch) | |
tree | 4482679e150473cbd79a24b44889ccefb621fad4 /cmake | |
parent | 056a008afa5eec012f9b8264b3d2facc96cafd9c (diff) | |
download | google-benchmark-c5a362b4d3d7f73c643ef485105e6e3d274da78a.tar.gz |
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.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/std_regex.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cmake/std_regex.cpp b/cmake/std_regex.cpp index 2059a9f..696f2a2 100644 --- a/cmake/std_regex.cpp +++ b/cmake/std_regex.cpp @@ -2,9 +2,9 @@ #include <string> 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; } |