From 60c176fb459c7780f9cb711e2427e41dca12a54a Mon Sep 17 00:00:00 2001 From: Tim Shen Date: Mon, 19 Jan 2015 22:56:04 +0000 Subject: re PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error) PR libstdc++/64584 PR libstdc++/64585 * include/bits/regex.h (basic_regex<>::basic_regex, basic_regex<>::assign, basic_regex<>::imbue, basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after imbuing basic_regex; Make assign() transactional against exception. * include/bits/regex_compiler.h (__compile_nfa<>): Add back __compile_nfa SFINAE. * include/std/regex: Adjust include order to avoid __compile_nfa forward declaration. * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. From-SVN: r219865 --- libstdc++-v3/include/std/regex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libstdc++-v3/include/std/regex') diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex index 4d0e93c..3dff372 100644 --- a/libstdc++-v3/include/std/regex +++ b/libstdc++-v3/include/std/regex @@ -56,9 +56,9 @@ #include #include #include -#include #include #include +#include #include #endif // C++11 -- cgit v1.1