aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorTim Shen <timshen@google.com>2014-12-31 10:27:41 +0000
committerTim Shen <timshen@gcc.gnu.org>2014-12-31 10:27:41 +0000
commitec5f010299aeae689871053d9f2164a9ea7f3a87 (patch)
tree6591e46f0a11de878f6c1ba295dfeb7735e647bd /libstdc++-v3
parent54ba5c5c679c4d9cc1a2c85f92917713a1a3135a (diff)
downloadgcc-ec5f010299aeae689871053d9f2164a9ea7f3a87.zip
gcc-ec5f010299aeae689871053d9f2164a9ea7f3a87.tar.gz
gcc-ec5f010299aeae689871053d9f2164a9ea7f3a87.tar.bz2
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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/regex.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_executor.tcc2
3 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5974731..cb01af0 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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:
diff --git a/libstdc++-v3/include/bits/regex.tcc b/libstdc++-v3/include/bits/regex.tcc
index 0206a6c..b541446 100644
--- a/libstdc++-v3/include/bits/regex.tcc
+++ b/libstdc++-v3/include/bits/regex.tcc
@@ -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];
diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc
index a973667..7954d06 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;