re PR libstdc++/64441 (A match_results returns an incorrect sub_match if the sub_match::matched is false)

PR libstdc++/64441
	* include/bits/regex.tcc (__regex_algo_impl): s/auto/auto&/.
	* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.

From-SVN: r219121
This commit is contained in:
Tim Shen 2014-12-31 10:27:41 +00:00 committed by Tim Shen
parent 54ba5c5c67
commit ec5f010299
3 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2014-12-31 Tim Shen <timshen@google.com>
PR libstdc++/64441
* include/bits/regex.tcc (__regex_algo_impl): s/auto/auto&/.
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
2014-12-28 David Edelsohn <dje.gcc@gmail.com>
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:

View File

@ -96,7 +96,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
if (__ret)
{
for (auto __it : __res)
for (auto& __it : __res)
if (!__it.matched)
__it.first = __it.second = __e;
auto& __pre = __res[__res.size()-2];

View File

@ -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;