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>