svn commit: r242347 - in stable/9: contrib/libstdc++/config/os/bsd/freebsd contrib/libstdc++/include/bits contrib/libstdc++/include/debug contrib/libstdc++/include/ext contrib/libstdc++/include/std...
Dimitry Andric
dim at FreeBSD.org
Tue Oct 30 07:51:19 UTC 2012
Author: dim
Date: Tue Oct 30 07:51:18 2012
New Revision: 242347
URL: http://svn.freebsd.org/changeset/base/242347
Log:
MFC r241957:
Fix several clang warnings in libstdc++, which were exposed by the
recent atf import. These changes are purely cosmetic, no functional
change.
MFC r241959:
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 r241960:
For building GNU libstdc++ and libsupc++, filter out libc++-specific and
-std= flags above c++98 or gnu++98 from CXXFLAGS *after* including
bsd.lib.mk, otherwise some additions to CXXFLAGS done in bsd.*.mk might
not be preserved.
Modified:
stable/9/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
stable/9/contrib/libstdc++/include/bits/fstream.tcc
stable/9/contrib/libstdc++/include/bits/locale_facets.h
stable/9/contrib/libstdc++/include/bits/locale_facets.tcc
stable/9/contrib/libstdc++/include/bits/streambuf_iterator.h
stable/9/contrib/libstdc++/include/debug/safe_iterator.tcc
stable/9/contrib/libstdc++/include/ext/ropeimpl.h
stable/9/contrib/libstdc++/include/std/std_sstream.h
stable/9/contrib/libstdc++/libsupc++/tinfo.cc
stable/9/contrib/libstdc++/src/locale.cc
stable/9/contrib/libstdc++/src/strstream.cc
stable/9/contrib/libstdc++/src/tree.cc
stable/9/gnu/lib/libstdc++/Makefile
stable/9/gnu/lib/libsupc++/Makefile
Directory Properties:
stable/9/contrib/libstdc++/ (props changed)
stable/9/gnu/lib/libstdc++/ (props changed)
stable/9/gnu/lib/libsupc++/ (props changed)
Modified: stable/9/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
==============================================================================
--- stable/9/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h Tue Oct 30 07:51:18 2012 (r242347)
@@ -38,8 +38,9 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
- struct ctype_base
+ class ctype_base
{
+ public:
// Non-standard typedefs.
typedef const int* __to_type;
Modified: stable/9/contrib/libstdc++/include/bits/fstream.tcc
==============================================================================
--- stable/9/contrib/libstdc++/include/bits/fstream.tcc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/bits/fstream.tcc Tue Oct 30 07:51:18 2012 (r242347)
@@ -641,21 +641,23 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
setbuf(char_type* __s, streamsize __n)
{
if (!this->is_open())
- if (__s == 0 && __n == 0)
- _M_buf_size = 1;
- else if (__s && __n > 0)
- {
- // This is implementation-defined behavior, and assumes that
- // an external char_type array of length __n exists and has
- // been pre-allocated. If this is not the case, things will
- // quickly blow up. When __n > 1, __n - 1 positions will be
- // used for the get area, __n - 1 for the put area and 1
- // position to host the overflow char of a full put area.
- // When __n == 1, 1 position will be used for the get area
- // and 0 for the put area, as in the unbuffered case above.
- _M_buf = __s;
- _M_buf_size = __n;
- }
+ {
+ if (__s == 0 && __n == 0)
+ _M_buf_size = 1;
+ else if (__s && __n > 0)
+ {
+ // This is implementation-defined behavior, and assumes that
+ // an external char_type array of length __n exists and has
+ // been pre-allocated. If this is not the case, things will
+ // quickly blow up. When __n > 1, __n - 1 positions will be
+ // used for the get area, __n - 1 for the put area and 1
+ // position to host the overflow char of a full put area.
+ // When __n == 1, 1 position will be used for the get area
+ // and 0 for the put area, as in the unbuffered case above.
+ _M_buf = __s;
+ _M_buf_size = __n;
+ }
+ }
return this;
}
Modified: stable/9/contrib/libstdc++/include/bits/locale_facets.h
==============================================================================
--- stable/9/contrib/libstdc++/include/bits/locale_facets.h Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/bits/locale_facets.h Tue Oct 30 07:51:18 2012 (r242347)
@@ -4335,8 +4335,9 @@ _GLIBCXX_END_LDBL_NAMESPACE
/**
* @brief Messages facet base class providing catalog typedef.
*/
- struct messages_base
+ class messages_base
{
+ public:
typedef int catalog;
};
Modified: stable/9/contrib/libstdc++/include/bits/locale_facets.tcc
==============================================================================
--- stable/9/contrib/libstdc++/include/bits/locale_facets.tcc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/bits/locale_facets.tcc Tue Oct 30 07:51:18 2012 (r242347)
@@ -316,7 +316,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
int __sep_pos = 0;
while (!__testeof)
{
- if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
+ if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
|| __c == __lc->_M_decimal_point)
break;
else if (__c == __lit[__num_base::_S_izero])
@@ -558,7 +558,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
int __sep_pos = 0;
while (!__testeof)
{
- if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
+ if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
|| __c == __lc->_M_decimal_point)
break;
else if (__c == __lit[__num_base::_S_izero]
@@ -748,16 +748,20 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
const char_type __c = *__beg;
if (__testf)
- if (__n < __lc->_M_falsename_size)
- __testf = __c == __lc->_M_falsename[__n];
- else
- break;
+ {
+ if (__n < __lc->_M_falsename_size)
+ __testf = __c == __lc->_M_falsename[__n];
+ else
+ break;
+ }
if (__testt)
- if (__n < __lc->_M_truename_size)
- __testt = __c == __lc->_M_truename[__n];
- else
- break;
+ {
+ if (__n < __lc->_M_truename_size)
+ __testt = __c == __lc->_M_truename[__n];
+ else
+ break;
+ }
if (!__testf && !__testt)
break;
@@ -1387,9 +1391,9 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
== money_base::space)))
|| (__i == 2 && ((static_cast<part>(__p.field[3])
== money_base::value)
- || __mandatory_sign
+ || (__mandatory_sign
&& (static_cast<part>(__p.field[3])
- == money_base::sign))))
+ == money_base::sign)))))
{
const size_type __len = __lc->_M_curr_symbol_size;
size_type __j = 0;
Modified: stable/9/contrib/libstdc++/include/bits/streambuf_iterator.h
==============================================================================
--- stable/9/contrib/libstdc++/include/bits/streambuf_iterator.h Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/bits/streambuf_iterator.h Tue Oct 30 07:51:18 2012 (r242347)
@@ -160,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
const bool __thiseof = _M_at_eof();
const bool __beof = __b._M_at_eof();
- return (__thiseof && __beof || (!__thiseof && !__beof));
+ return ((__thiseof && __beof) || (!__thiseof && !__beof));
}
private:
Modified: stable/9/contrib/libstdc++/include/debug/safe_iterator.tcc
==============================================================================
--- stable/9/contrib/libstdc++/include/debug/safe_iterator.tcc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/debug/safe_iterator.tcc Tue Oct 30 07:51:18 2012 (r242347)
@@ -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: stable/9/contrib/libstdc++/include/ext/ropeimpl.h
==============================================================================
--- stable/9/contrib/libstdc++/include/ext/ropeimpl.h Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/ext/ropeimpl.h Tue Oct 30 07:51:18 2012 (r242347)
@@ -1143,7 +1143,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
else
{
- char* __kind;
+ const char* __kind;
switch (__r->_M_tag)
{
Modified: stable/9/contrib/libstdc++/include/std/std_sstream.h
==============================================================================
--- stable/9/contrib/libstdc++/include/std/std_sstream.h Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/include/std/std_sstream.h Tue Oct 30 07:51:18 2012 (r242347)
@@ -240,10 +240,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
const bool __testin = _M_mode & ios_base::in;
if (this->pptr() && this->pptr() > this->egptr())
- if (__testin)
- this->setg(this->eback(), this->gptr(), this->pptr());
- else
- this->setg(this->pptr(), this->pptr(), this->pptr());
+ {
+ if (__testin)
+ this->setg(this->eback(), this->gptr(), this->pptr());
+ else
+ this->setg(this->pptr(), this->pptr(), this->pptr());
+ }
}
};
Modified: stable/9/contrib/libstdc++/libsupc++/tinfo.cc
==============================================================================
--- stable/9/contrib/libstdc++/libsupc++/tinfo.cc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/libsupc++/tinfo.cc Tue Oct 30 07:51:18 2012 (r242347)
@@ -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: stable/9/contrib/libstdc++/src/locale.cc
==============================================================================
--- stable/9/contrib/libstdc++/src/locale.cc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/src/locale.cc Tue Oct 30 07:51:18 2012 (r242347)
@@ -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: stable/9/contrib/libstdc++/src/strstream.cc
==============================================================================
--- stable/9/contrib/libstdc++/src/strstream.cc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/src/strstream.cc Tue Oct 30 07:51:18 2012 (r242347)
@@ -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: stable/9/contrib/libstdc++/src/tree.cc
==============================================================================
--- stable/9/contrib/libstdc++/src/tree.cc Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/contrib/libstdc++/src/tree.cc Tue Oct 30 07:51:18 2012 (r242347)
@@ -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)
{
Modified: stable/9/gnu/lib/libstdc++/Makefile
==============================================================================
--- stable/9/gnu/lib/libstdc++/Makefile Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/gnu/lib/libstdc++/Makefile Tue Oct 30 07:51:18 2012 (r242347)
@@ -22,7 +22,6 @@ CFLAGS+= -I${GCCLIB}/include -I${SRCDIR}
CFLAGS+= -frandom-seed=RepeatabilityConsideredGood
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \
-Wno-deprecated
-CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
PO_CXXFLAGS= ${CXXFLAGS:N-ffunction-sections}
DPADD= ${LIBM}
@@ -626,3 +625,6 @@ ${VERSION_MAP}: ${SRCDIR}/config/abi/pre
CLEANFILES+= ${VERSION_MAP}
.include <bsd.lib.mk>
+
+# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
+CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
Modified: stable/9/gnu/lib/libsupc++/Makefile
==============================================================================
--- stable/9/gnu/lib/libsupc++/Makefile Tue Oct 30 06:36:14 2012 (r242346)
+++ stable/9/gnu/lib/libsupc++/Makefile Tue Oct 30 07:51:18 2012 (r242347)
@@ -24,7 +24,6 @@ CFLAGS+= -I${GCCLIB}/include -I${SRCDIR}
CFLAGS+= -I${.CURDIR}/../libstdc++ -I.
CFLAGS+= -frandom-seed=RepeatabilityConsideredGood
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections
-CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
PO_CXXFLAGS= ${CXXFLAGS:N-ffunction-sections}
HDRS= exception new typeinfo cxxabi.h exception_defines.h
@@ -43,3 +42,6 @@ VERSION_MAP= ${.CURDIR}/Version.map
.include <bsd.lib.mk>
+
+# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
+CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
More information about the svn-src-stable-9
mailing list