Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-60249

MinGW/gcc 6.2: signed integer overflow in qdebug.h

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • None
    • 5.8.0, 5.11.0 Alpha
    • Core: I/O
    • None
    • MinGW64 x86_64-posix-seh, gcc version 6.2.0 (x86_64-posix-seh-rev1, Built by MinGW-W64 project)

    Description

      I try build Qt 5.8 from MinGW64 x86_64-posix-seh
      gcc version 6.2.0 (x86_64-posix-seh-rev1, Built by MinGW-W64 project)

      Qt was configured with:

      configure -static -debug-and-release -platform win32-g++ \
      -developer-build -c++std c++11 -prefix \
      "e:\Qt\5.8\x86_64_w64_minigw32_posix_6.3.0_static" \
      -opensource -confirm-license -icu -nomake examples -nomake tests \
      -make tools -qml-debug -opengl desktop -system-proxies -make libs \
      -qt-pcre -qt-libpng  -qt-libjpeg -qt-zlib -qt-freetype -qt-sql-sqlite \
      -qt-sql-odbc -qt-sql-mysql -openssl -openssl-linked \
      OPENSSL_LIBS="-luser32 -ladvapi32" \
      OPENSSL_LIBS_RELEASE="-llibcrypto \
      -llibssl" OPENSSL_LIBS_DEBUG="-llibcryptod -llibssld" -l libmysql \
      -I "c:\Lib\include\mysql" -I "d:\Qt\Tools\MinGW\mingw64-x86_64-6.2.0-release-posix-seh-rt_v5-rev1\include" \
      -I "d:\Qt\Tools\MinGW\mingw64-x86_64-6.2.0-release-posix-seh-rt_v5-rev1\x86_64-w64-mingw32\include" \
      -I "d:\Qt\Tools\MinGW\mingw64-x86_64-6.3.0-release-posix-seh-rt_v5-rev1\opt\include" \
      -I "c:\usr\openssl-x64-mingw64\include" \
      -I "c:\usr\openssl-x64-mingw64\include\openssl" -I "d:\opensource\icu\icu_static_release\include" \
      -L "d:\Qt\Tools\MinGW\mingw64-x86_64-6.3.0-release-posix-seh-rt_v5-rev1\lib" \
      -L "d:\Qt\Tools\MinGW\mingw64-x86_64-6.3.0-release-posix-seh-rt_v5-rev1\x86_64-w64-mingw32\lib" \
      -L "d:\Qt\Tools\MinGW\mingw64-x86_64-6.2.0-release-posix-seh-rt_v5-rev1\opt\lib" \
      -L "c:\usr\openssl-x64-mingw64\lib" \
      -L "d:\opensource\icu\icu_static_release\lib" \
      -L "c:\Lib\lib64_VS2015\MySQL"
      

      But make process was failed with:

      gcc -c -pipe -fno-keep-inline-dllexport -O2 -w -DUNICODE -DPCRE_STATIC -DHAVE_CONFIG_H -DQT_NO_DYNAMIC_CAST -DQT_NO_EXCEPT
      IONS -I. -I. -Ic:/Lib/include/mysql -Id:/Qt/Tools/MinGW/mingw64-x86_64-6.2.0-release-posix-seh-rt_v5-rev1/include -Id:/Qt/
      Tools/MinGW/mingw64-x86_64-6.2.0-release-posix-seh-rt_v5-rev1/x86_64-w64-mingw32/include -Id:/Qt/Tools/MinGW/mingw64-x86_6
      4-6.3.0-release-posix-seh-rt_v5-rev1/opt/include -Ic:/usr/openssl-x64-mingw64/include -Ic:/usr/openssl-x64-mingw64/include
      /openssl -Id:/opensource/icu/icu_static_release/include -I../../../mkspecs/win32-g++  -o .obj/release/pcre16_xclass.o pcre
      16_xclass.c
      In file included from ../../../include/QtCore/qdebug.h:1:0,
                       from ../../corelib/global/qlogging.cpp:47:
      ../../../include/QtCore/../../src/corelib/io/qdebug.h: In member function 'void QDebug::Stream::setVerbosity(int)':
      ../../../include/QtCore/../../src/corelib/io/qdebug.h:99:42: error: result of '(7 << 29)' requires 33 bits to represent, b
      ut 'int' only has 32 bits [-Werror=shift-overflow=]
                       flags &= ~(VerbosityMask << VerbosityShift);
                                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      cc1plus.exe: all warnings being treated as errors
      Makefile.Release:1519: recipe for target '.obj/release/qlogging.o' failed
      mingw32-make[4]: *** [.obj/release/qlogging.o] Error 1
      mingw32-make[4]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase/src/tools/bootstrap'
      Makefile:34: recipe for target 'release' failed
      mingw32-make[3]: *** [release] Error 2
      mingw32-make[3]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase/src/tools/bootstrap'
      Makefile:91: recipe for target 'sub-bootstrap-make_first' failed
      mingw32-make[2]: *** [sub-bootstrap-make_first] Error 2
      mingw32-make[2]: *** Waiting for unfinished jobs....
      ar -M < object_script.libqtpcre.Release
      mingw32-make[4]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase/src/3rdparty/pcre'
      mingw32-make[3]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase/src/3rdparty/pcre'
      mingw32-make[2]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase/src'
      Makefile:42: recipe for target 'sub-src-make_first' failed
      mingw32-make[1]: *** [sub-src-make_first] Error 2
      mingw32-make[1]: Leaving directory 'D:/Qt/Build/Src_mingw_posix_static/qtbase'
      Makefile:75: recipe for target 'module-qtbase-make_first' failed
      mingw32-make: *** [module-qtbase-make_first] Error 2
      

      Attachments

        1. qtbug60249.zip
          1 kB
          Friedemann Kleint

        Issue Links

          Activity

            People

              falt Simo Fält
              yamah Yaroslav Belykh
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: