aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2015-03-06 12:05:19 -0500
committerEric Fiselier <eric@efcs.ca>2015-03-06 12:05:19 -0500
commitc5a362b4d3d7f73c643ef485105e6e3d274da78a (patch)
tree4482679e150473cbd79a24b44889ccefb621fad4 /cmake
parent056a008afa5eec012f9b8264b3d2facc96cafd9c (diff)
downloadgoogle-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.cpp6
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;
}