https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64585
--- Comment #1 from Tim Shen <timshen at gcc dot gnu.org> --- Author: timshen Date: Mon Jan 19 22:56:04 2015 New Revision: 219865 URL: https://gcc.gnu.org/viewcvs?rev=219865&root=gcc&view=rev Log: 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. Added: trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/ trunk/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/regex.h trunk/libstdc++-v3/include/bits/regex_compiler.h trunk/libstdc++-v3/include/std/regex trunk/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc