This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/64584] basic_regex::assign breaks *this if it throws regex_error
- From: "timshen at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 19 Jan 2015 23:09:40 +0000
- Subject: [Bug libstdc++/64584] basic_regex::assign breaks *this if it throws regex_error
- Auto-submitted: auto-generated
- References: <bug-64584-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64584
--- Comment #2 from Tim Shen <timshen at gcc dot gnu.org> ---
Author: timshen
Date: Mon Jan 19 23:09:07 2015
New Revision: 219868
URL: https://gcc.gnu.org/viewcvs?rev=219868&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.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
Added:
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/imbue/string.cc
Modified:
branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
branches/gcc-4_9-branch/libstdc++-v3/include/bits/regex.h
branches/gcc-4_9-branch/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc