Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Oct 2012 18:45:32 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r241959 - in head/contrib/libstdc++: include/debug include/ext libsupc++ src
Message-ID:  <201210231845.q9NIjWPZ032640@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Tue Oct 23 18:45:32 2012
New Revision: 241959
URL: http://svn.freebsd.org/changeset/base/241959

Log:
  Fix a number of other clang warnings in libstdc++, which could appear
  when building other C++ software with it.  Also fix one actual bug in
  libsupc++, which was exposed by such a warning.  This latter fix is the
  only functional change.
  
  MFC after:	1 week

Modified:
  head/contrib/libstdc++/include/debug/safe_iterator.tcc
  head/contrib/libstdc++/include/ext/ropeimpl.h
  head/contrib/libstdc++/libsupc++/tinfo.cc
  head/contrib/libstdc++/src/locale.cc
  head/contrib/libstdc++/src/strstream.cc
  head/contrib/libstdc++/src/tree.cc

Modified: head/contrib/libstdc++/include/debug/safe_iterator.tcc
==============================================================================
--- head/contrib/libstdc++/include/debug/safe_iterator.tcc	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/include/debug/safe_iterator.tcc	Tue Oct 23 18:45:32 2012	(r241959)
@@ -54,8 +54,8 @@ namespace __gnu_debug
 	    static_cast<const _Sequence*>(_M_sequence)->begin();
 	  std::pair<difference_type, _Distance_precision> __dist =
 	    this->_M_get_distance(__begin, *this);
-	  bool __ok =  (__dist.second == __dp_exact && __dist.first >= -__n
-			|| __dist.second != __dp_exact && __dist.first > 0);
+	  bool __ok =  ((__dist.second == __dp_exact && __dist.first >= -__n)
+			|| (__dist.second != __dp_exact && __dist.first > 0));
 	  return __ok;
 	}
       else
@@ -64,8 +64,8 @@ namespace __gnu_debug
 	    static_cast<const _Sequence*>(_M_sequence)->end();
 	  std::pair<difference_type, _Distance_precision> __dist =
 	    this->_M_get_distance(*this, __end);
-	  bool __ok = (__dist.second == __dp_exact && __dist.first >= __n
-		       || __dist.second != __dp_exact && __dist.first > 0);
+	  bool __ok = ((__dist.second == __dp_exact && __dist.first >= __n)
+		       || (__dist.second != __dp_exact && __dist.first > 0));
 	  return __ok;
 	}
     }

Modified: head/contrib/libstdc++/include/ext/ropeimpl.h
==============================================================================
--- head/contrib/libstdc++/include/ext/ropeimpl.h	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/include/ext/ropeimpl.h	Tue Oct 23 18:45:32 2012	(r241959)
@@ -1143,7 +1143,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 	}
       else
 	{
-	  char* __kind;
+	  const char* __kind;
 	  
 	  switch (__r->_M_tag)
 	    {

Modified: head/contrib/libstdc++/libsupc++/tinfo.cc
==============================================================================
--- head/contrib/libstdc++/libsupc++/tinfo.cc	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/libsupc++/tinfo.cc	Tue Oct 23 18:45:32 2012	(r241959)
@@ -499,9 +499,9 @@ __do_dyncast (ptrdiff_t src2dst,
           result.whole2dst =
               __sub_kind (result.whole2dst | result2.whole2dst);
         }
-      else if ((result.dst_ptr != 0 & result2.dst_ptr != 0)
-	       || (result.dst_ptr != 0 & result2_ambig)
-	       || (result2.dst_ptr != 0 & result_ambig))
+      else if ((result.dst_ptr != 0 && result2.dst_ptr != 0)
+	       || (result.dst_ptr != 0 && result2_ambig)
+	       || (result2.dst_ptr != 0 && result_ambig))
         {
           // Found two different DST_TYPE bases, or a valid one and a set of
           // ambiguous ones, must disambiguate. See whether SRC_PTR is

Modified: head/contrib/libstdc++/src/locale.cc
==============================================================================
--- head/contrib/libstdc++/src/locale.cc	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/src/locale.cc	Tue Oct 23 18:45:32 2012	(r241959)
@@ -146,7 +146,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
   locale::_S_normalize_category(category __cat) 
   {
     int __ret = 0;
-    if (__cat == none || (__cat & all) && !(__cat & ~all))
+    if (__cat == none || ((__cat & all) && !(__cat & ~all)))
       __ret = __cat;
     else
       {

Modified: head/contrib/libstdc++/src/strstream.cc
==============================================================================
--- head/contrib/libstdc++/src/strstream.cc	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/src/strstream.cc	Tue Oct 23 18:45:32 2012	(r241959)
@@ -311,10 +311,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
   strstreambuf::_M_free(char* p)
   {
     if (p)
-      if (_M_free_fun)
-	_M_free_fun(p);
-      else
-	delete[] p;
+      {
+	if (_M_free_fun)
+	  _M_free_fun(p);
+	else
+	  delete[] p;
+      }
   }
 
   void 

Modified: head/contrib/libstdc++/src/tree.cc
==============================================================================
--- head/contrib/libstdc++/src/tree.cc	Tue Oct 23 18:38:04 2012	(r241958)
+++ head/contrib/libstdc++/src/tree.cc	Tue Oct 23 18:45:32 2012	(r241959)
@@ -316,17 +316,21 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
 	  else
 	    __z->_M_parent->_M_right = __x;
 	if (__leftmost == __z) 
-	  if (__z->_M_right == 0)        // __z->_M_left must be null also
-	    __leftmost = __z->_M_parent;
-	// makes __leftmost == _M_header if __z == __root
-	  else
-	    __leftmost = _Rb_tree_node_base::_S_minimum(__x);
+	  {
+	    if (__z->_M_right == 0)        // __z->_M_left must be null also
+	      __leftmost = __z->_M_parent;
+	    // makes __leftmost == _M_header if __z == __root
+	    else
+	      __leftmost = _Rb_tree_node_base::_S_minimum(__x);
+	  }
 	if (__rightmost == __z)  
-	  if (__z->_M_left == 0)         // __z->_M_right must be null also
-	    __rightmost = __z->_M_parent;  
-	// makes __rightmost == _M_header if __z == __root
-	  else                      // __x == __z->_M_left
-	    __rightmost = _Rb_tree_node_base::_S_maximum(__x);
+	  {
+	    if (__z->_M_left == 0)         // __z->_M_right must be null also
+	      __rightmost = __z->_M_parent;  
+	    // makes __rightmost == _M_header if __z == __root
+	    else                      // __x == __z->_M_left
+	      __rightmost = _Rb_tree_node_base::_S_maximum(__x);
+	  }
       }
     if (__y->_M_color != _S_red) 
       { 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210231845.q9NIjWPZ032640>