[gcc r10-10379] libstdc++: Initialize member in std::match_results [PR103549]

Jonathan Wakely redi@gcc.gnu.org
Wed Jan 5 22:06:54 GMT 2022


https://gcc.gnu.org/g:17af7c1a054c9663e5b353a4fc576522e0cd9a4f

commit r10-10379-g17af7c1a054c9663e5b353a4fc576522e0cd9a4f
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat Dec 4 11:38:25 2021 +0000

    libstdc++: Initialize member in std::match_results [PR103549]
    
    This fixes a -Wuninitialized warning for std::cmatch m1, m2; m1=m2;
    
    Also name the template parameters in the forward declaration, to get rid
    of the <template-parameter-1-1> noise in diagnostics.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/103549
            * include/bits/regex.h (match_results): Give names to template
            parameters in first declaration.
            (match_results::_M_begin): Add default member-initializer.
    
    (cherry picked from commit 87710ec7b213245ecb194b778e97ae3a6790394f)

Diff:
---
 libstdc++-v3/include/bits/regex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index ab09dc76c8a..3fded333d47 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
@@ -35,7 +35,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
   template<typename, typename>
     class basic_regex;
 
-  template<typename, typename>
+  template<typename _Bi_iter, typename _Alloc>
     class match_results;
 
 _GLIBCXX_END_NAMESPACE_CXX11
@@ -2078,7 +2078,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
       _M_suffix()
       { return _Base_type::operator[](_Base_type::size() - 1); }
 
-      _Bi_iter _M_begin;
+      _Bi_iter _M_begin {};
       /// @endcond
     };


More information about the Gcc-cvs mailing list