From d0cbab5fed627f4cb9fd6fbce64f648454348c80 Mon Sep 17 00:00:00 2001 From: Tim Shen Date: Fri, 2 Jan 2015 22:33:04 +0000 Subject: [PATCH] re PR libstdc++/64475 (FAIL: 28_regex/algorithms/regex_match/ecma/char/backref.cc) PR libstdc++/64475 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the iterator, since the original one shouldn't be mutated. From-SVN: r219151 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/regex_executor.tcc | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 121ac771e64..4c9dc052244 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2015-01-02 Tim Shen + + PR libstdc++/64475 + * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the + iterator, since the original one shouldn't be mutated. + 2015-01-02 Bernd Edlinger PR libstdc++/64422 diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc index 7954d06eb3f..a9736675bf6 100644 --- a/libstdc++-v3/include/bits/regex_executor.tcc +++ b/libstdc++-v3/include/bits/regex_executor.tcc @@ -310,7 +310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (!__submatch.matched) break; auto __last = _M_current; - for (auto& __tmp = __submatch.first; + for (auto __tmp = __submatch.first; __last != _M_end && __tmp != __submatch.second; ++__tmp) ++__last; -- 2.30.2