Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-791

[gcc 4.3] lots of noise due to -Wparentheses warnings

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 4.2.1
    • 4.2.2
    • Build and Installation
    • None
    • gcc 4.3

    • Compiler Warning

    Description

      The gcc -Wparentheses warning that has been newly introduced into the C++ front end in gcc 4.3 is causing lots of noise in builds. There are 75 of these warnings while building the library alone. Here they are:

      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/codecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<char, char, __mbstate_t>::do_out(__mbstate_t&, const char*, const char*, const char*&, char*, char*, char*&) const':
      $TOPDIR/src/codecvt.cpp:127: warning: suggest parentheses around && within ||
      $TOPDIR/src/codecvt.cpp:128: warning: suggest parentheses around && within ||
      $TOPDIR/src/codecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<char, char, __mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&, char*, char*, char*&) const':
      $TOPDIR/src/codecvt.cpp:183: warning: suggest parentheses around && within ||
      $TOPDIR/src/codecvt.cpp:184: warning: suggest parentheses around && within ||
      $TOPDIR/src/codecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<char, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const':
      $TOPDIR/src/codecvt.cpp:204: warning: suggest parentheses around && within ||
      $TOPDIR/src/codecvt.cpp: In member function 'virtual int std::codecvt<char, char, __mbstate_t>::do_length(__mbstate_t&, const char*, const char*, long unsigned int) const':
      $TOPDIR/src/codecvt.cpp:246: warning: suggest parentheses around && within ||
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/facet.cpp:116: warning: suggest parentheses around && within ||
      $TOPDIR/src/facet.cpp: In member function 'const void* __rw::__rw_facet::_C_get_data()':
      $TOPDIR/src/facet.cpp:221: warning: suggest parentheses around && within ||
      $TOPDIR/src/facet.cpp:252: warning: suggest parentheses around && within ||
      $TOPDIR/include/rw/_iosbase.h: In member function '__rw::__rw_fmtflags std::ios_base::setf(__rw::__rw_fmtflags, __rw::__rw_fmtflags)':
      $TOPDIR/include/rw/_iosbase.h:242: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/ios.cpp: In member function '__rw::__rw_fmtflags std::ios_base::flags(__rw::__rw_fmtflags)':
      $TOPDIR/src/ios.cpp:105: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/ios.cpp:110: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/ios.cpp:115: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/ios.cpp:120: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/include/rw/_iosbase.h: In member function '__rw::__rw_fmtflags std::ios_base::setf(__rw::__rw_fmtflags, __rw::__rw_fmtflags)':
      $TOPDIR/include/rw/_iosbase.h:242: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/include/rw/_iosbase.h: In member function '__rw::__rw_fmtflags std::ios_base::setf(__rw::__rw_fmtflags, __rw::__rw_fmtflags)':
      $TOPDIR/include/rw/_iosbase.h:242: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/iostore.cpp: In member function 'void std::ios_base::_C_copyfmt(const std::ios_base&, void*, const void*, long unsigned int)':
      $TOPDIR/src/iostore.cpp:335: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/locale_body.cpp: In member function 'bool __rw::__rw_locale::_C_is_managed(int) const':
      $TOPDIR/src/locale_body.cpp:1062: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_body.cpp:1064: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_body.cpp:1066: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_body.cpp:1068: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_body.cpp:1070: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_body.cpp:1072: warning: suggest parentheses around && within ||
      $TOPDIR/src/locale_combine.cpp: In member function 'void __rw::__rw_locale::_C_construct(const __rw::__rw_locale&, const __rw::__rw_locale&, int)':
      $TOPDIR/src/locale_combine.cpp:233: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/locale_combine.cpp:236: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/locale_eq.cpp: In member function 'bool std::locale::operator==(const std::locale&) const':
      $TOPDIR/src/locale_eq.cpp:86: warning: suggest parentheses around && within ||
      $TOPDIR/src/num_get.cpp: In function 'int __rw::__rw_check_grouping(const char*, long unsigned int, const char*, long unsigned int)':
      $TOPDIR/src/num_get.cpp: In function 'int __rw::__rw_get_num(void*, const char*, int, int, const char*, long unsigned int, const char*, long unsigned int)':
      $TOPDIR/src/num_get.cpp:535: warning: suggest parentheses around && within ||
      $TOPDIR/src/num_get.cpp:639: warning: suggest parentheses around && within ||
      $TOPDIR/src/num_get.cpp:718: warning: suggest parentheses around && within ||
      $TOPDIR/src/num_get.cpp:786: warning: suggest parentheses around && within ||
      $TOPDIR/src/num_put.cpp: In function 'long unsigned int __rw::__rw_itoa(char*, __rw::_ULLong, unsigned int)':
      $TOPDIR/src/num_put.cpp: In function 'long unsigned int __rw::__rw_itoa(char*, long unsigned int, unsigned int)':
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/punct.cpp: In function 'const char* __rw::__rw_get_stdio_fmat(char*, int, unsigned int, long int)':
      $TOPDIR/src/string.cpp: In function 'void* __rw::__rw_memcpy(void*, const void*, long unsigned int)':
      $TOPDIR/src/string.cpp:37: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'void* __rw::__rw_memmove(void*, const void*, long unsigned int)':
      $TOPDIR/src/string.cpp:51: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'int __rw::__rw_memcmp(const void*, const void*, long unsigned int)':
      $TOPDIR/src/string.cpp:102: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'long unsigned int __rw::__rw_strlen(const char*)':
      $TOPDIR/src/string.cpp: In function 'wchar_t* __rw::__rw_wmemcpy(wchar_t*, const wchar_t*, long unsigned int)':
      $TOPDIR/src/string.cpp:133: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'wchar_t* __rw::__rw_wmemmove(wchar_t*, const wchar_t*, long unsigned int)':
      $TOPDIR/src/string.cpp:145: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'int __rw::__rw_wmemcmp(const wchar_t*, const wchar_t*, long unsigned int)':
      $TOPDIR/src/string.cpp:189: warning: suggest parentheses around && within ||
      $TOPDIR/src/string.cpp: In function 'long unsigned int __rw::__rw_wcslen(const wchar_t*)':
      $TOPDIR/src/strstream.cpp: In member function 'virtual std::streambuf* std::strstreambuf::setbuf(char*, std::streamsize)':
      $TOPDIR/src/strstream.cpp:248: warning: suggest parentheses around && within ||
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/time_put.cpp: In function 'const __rw::__rw_time_t::era_t* __rw::__rw_get_era(const __rw::__rw_time_t*, const tm*)':
      $TOPDIR/src/time_put.cpp:1850: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:1850: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp: In function 'int __rw::__rw_get_zone_off(const char*, const char**)':
      $TOPDIR/src/time_put.cpp:1887: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp: In function 'int __rw::__rw_get_zone(__rw::__rw_time_put_data&, const char*, int)':
      $TOPDIR/src/time_put.cpp:1983: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2003: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp: In function 'void __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, const __rw::__rw_facet*, const tm*, char, char, bool)':
      $TOPDIR/src/time_put.cpp:2165: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2167: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2500: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2502: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2516: warning: suggest parentheses around && within ||
      $TOPDIR/src/time_put.cpp:2518: warning: suggest parentheses around && within ||
      $TOPDIR/src/tmpbuf.cpp: In function 'long unsigned int __rw::__rw_tmpbuf(void**, long int, long unsigned int)':
      $TOPDIR/src/tmpbuf.cpp:67: warning: suggest parentheses around && within ||
      $TOPDIR/include/algorithm: In function '_InputIter std::find(_InputIter, _InputIter, const _TypeT&)':
      $TOPDIR/include/algorithm: In function '_InputIter std::find_if(_InputIter, _InputIter, _Predicate)':
      $TOPDIR/include/algorithm.cc: In function '_RandomAccessIter std::__unguarded_partition(_RandomAccessIter, _RandomAccessIter, _TypeT, _Compare)':
      $TOPDIR/include/algorithm.cc: In function 'bool std::next_permutation(_BidirIter, _BidirIter, _Compare)':
      $TOPDIR/include/algorithm.cc: In function 'bool std::prev_permutation(_BidirIter, _BidirIter, _Compare)':
      $TOPDIR/include/valarray.cc: In member function 'const std::mask_array<_TypeT>& std::mask_array<_TypeT>::operator=(const std::mask_array<_TypeT>&) const':
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/wcodecvt.cpp: In function 'std::codecvt_base::result __rw::__rw_libc_do_out(__mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&)':
      $TOPDIR/src/wcodecvt.cpp:435: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp:436: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In function 'std::codecvt_base::result __rw::__rw_libstd_do_out(const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&, int, const __rw::__rw_codecvt_t*)':
      $TOPDIR/src/wcodecvt.cpp:784: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_out(__mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const':
      $TOPDIR/src/wcodecvt.cpp:1086: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp:1087: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const':
      $TOPDIR/src/wcodecvt.cpp:1133: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp:1134: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const':
      $TOPDIR/src/wcodecvt.cpp:1166: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual int std::codecvt<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&, const char*, const char*, long unsigned int) const':
      $TOPDIR/src/wcodecvt.cpp:1194: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt_byname<wchar_t, char, __mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const':
      $TOPDIR/src/wcodecvt.cpp:1334: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp:1335: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt_byname<wchar_t, char, __mbstate_t>::do_out(__mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const':
      $TOPDIR/src/wcodecvt.cpp:1424: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp:1425: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual std::codecvt_base::result std::codecvt_byname<wchar_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const':
      $TOPDIR/src/wcodecvt.cpp:1503: warning: suggest parentheses around && within ||
      $TOPDIR/src/wcodecvt.cpp: In member function 'virtual int std::codecvt_byname<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&, const char*, const char*, long unsigned int) const':
      $TOPDIR/src/wcodecvt.cpp:1569: warning: suggest parentheses around && within ||
      $TOPDIR/include/loc/_localedef.h: In function 'const char* __rw::__rw_utf8toucs4(int*, const char*, const char*)':
      $TOPDIR/include/loc/_localedef.h:763: warning: suggest parentheses around arithmetic in operand of |
      $TOPDIR/src/wctype.cpp: In function 'const wchar_t* __rw::__rw_get_mask(__rw::__rw_ctype_t*, const wchar_t*, const wchar_t*, __rw::MaskT, __rw::MaskT*, bool, bool, const char*)':
      $TOPDIR/src/wctype.cpp:108: warning: suggest parentheses around && within ||
      $TOPDIR/src/wctype.cpp:236: warning: suggest parentheses around && within ||
      

      Attachments

        Activity

          People

            sebor Martin Sebor
            sebor Martin Sebor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 4h
                4h
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h
                4h