Hi,

tested x86_64-linux, committed mainline and 4_7-branch.

Thanks,
Paolo.

////////////////////////
2012-11-20  Paolo Carlini  <paolo.carl...@oracle.com>

        PR libstdc++/55413
        * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
        __bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
        * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
        dg-error line number.
Index: include/bits/hashtable.h
===================================================================
--- include/bits/hashtable.h    (revision 193662)
+++ include/bits/hashtable.h    (working copy)
@@ -1,7 +1,6 @@
 // hashtable.h header -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
-// Free Software Foundation, Inc.
+// Copyright (C) 2007-2012 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -1679,7 +1678,7 @@
       __bucket_type* __new_buckets = _M_allocate_buckets(__n);
       __node_type* __p = _M_begin();
       _M_before_begin()._M_nxt = nullptr;
-      std::size_t __bbegin_bkt;
+      std::size_t __bbegin_bkt = 0;
       while (__p)
        {
          __node_type* __next = __p->_M_next();
@@ -1720,8 +1719,8 @@
 
       __node_type* __p = _M_begin();
       _M_before_begin()._M_nxt = nullptr;
-      std::size_t __bbegin_bkt;
-      std::size_t __prev_bkt;
+      std::size_t __bbegin_bkt = 0;
+      std::size_t __prev_bkt = 0;
       __node_type* __prev_p = nullptr;
       bool __check_bucket = false;
 
@@ -1749,8 +1748,8 @@
            {
              if (__check_bucket)
                {
-                 // Check if we shall update the next bucket because of 
insertions
-                 // into __prev_bkt bucket.
+                 // Check if we shall update the next bucket because of
+                 // insertions into __prev_bkt bucket.
                  if (__prev_p->_M_nxt)
                    {
                      std::size_t __next_bkt
Index: testsuite/23_containers/unordered_set/instantiation_neg.cc
===================================================================
--- testsuite/23_containers/unordered_set/instantiation_neg.cc  (revision 
193652)
+++ testsuite/23_containers/unordered_set/instantiation_neg.cc  (working copy)
@@ -19,7 +19,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-error "with noexcept" "" { target *-*-* } 248 }
+// { dg-error "with noexcept" "" { target *-*-* } 247 }
 
 #include <unordered_set>
 

Reply via email to