#include <regex>
#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);
  return std::regex_search(str, re) ? 0 : -1;
}


#include <regex>
#include <string>
int main() {
  const std::string str = "test0159";
  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;
}


Change std::regex detection test to detect bug in libstdc++.
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.
