From d8928f51a31f5d77f3119c813af1b565f22404d9 Mon Sep 17 00:00:00 2001 From: paolo Date: Thu, 15 Nov 2007 22:59:12 +0000 Subject: [PATCH] 2007-11-15 Paolo Carlini * include/bits/istream.tcc (basic_istream<>::sentry:: sentry(basic_istream<>&, bool)): Explicitely convert to bool. * include/bits/locale_facets.tcc (num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): Likewise. * include/std/ostream (basic_ostream<>::sentry::~sentry): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130211 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 8 ++++++++ libstdc++-v3/include/bits/istream.tcc | 2 +- libstdc++-v3/include/bits/locale_facets.tcc | 4 ++-- libstdc++-v3/include/std/ostream | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3165b3e..c4058b2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,13 @@ 2007-11-15 Paolo Carlini + * include/bits/istream.tcc (basic_istream<>::sentry:: + sentry(basic_istream<>&, bool)): Explicitely convert to bool. + * include/bits/locale_facets.tcc (num_put<>::_M_insert_int(_OutIter, + ios_base&, _CharT, _ValueT)): Likewise. + * include/std/ostream (basic_ostream<>::sentry::~sentry): Likewise. + +2007-11-15 Paolo Carlini + PR libstdc++/34105 * include/bits/stl_algobase.h: Do not include . (lexicographical_compare(const unsigned char*, const unsigned char*, diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index 2e65b48..440d234 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -56,7 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { if (__in.tie()) __in.tie()->flush(); - if (!__noskip && (__in.flags() & ios_base::skipws)) + if (!__noskip && bool(__in.flags() & ios_base::skipws)) { const __int_type __eof = traits_type::eof(); __streambuf_type* __sb = __in.rdbuf(); diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 1b714ad..000d6fb 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -876,14 +876,14 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE // Decimal. if (__v > 0) { - if (__flags & ios_base::showpos + if (bool(__flags & ios_base::showpos) && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) *--__cs = __lit[__num_base::_S_oplus], ++__len; } else if (__v) *--__cs = __lit[__num_base::_S_ominus], ++__len; } - else if (__flags & ios_base::showbase && __v) + else if (bool(__flags & ios_base::showbase) && __v) { if (__basefield == ios_base::oct) *--__cs = __lit[__num_base::_S_odigits], ++__len; diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 4fb6d19..db9c911 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -416,7 +416,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ~sentry() { // XXX MT - if (_M_os.flags() & ios_base::unitbuf && !uncaught_exception()) + if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) { // Can't call flush directly or else will get into recursive lock. if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) -- 2.7.4