https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88568

Stephen Kitt <steve at sk2 dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steve at sk2 dot org

--- Comment #14 from Stephen Kitt <steve at sk2 dot org> ---
Created attachment 45890
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45890&action=edit
Pre-processed source producing ICE

This appears to cause an ICE when cross-compiling Qt. To reproduce, download
adn extract
https://download.qt.io/archive/qt/5.12/5.12.1/submodules/qtbase-everywhere-src-5.12.1.tar.xz
then configure as follows:

./configure -release -optimized-tools -platform linux-g++ -opensource
-confirm-license -xplatform win32-g++ -qt-libpng -qt-libjpeg -qt-freetype
-device-option CROSS_COMPILE=i686-w64-mingw32- -no-compile-examples -nomake
examples -nomake tests -opengl dynamic -no-eglfs

Running make will eventually fail (it doesn’t take very long) with a GCC ICE:

i686-w64-mingw32-g++ -c -include .pch/release/qt_pch.h -pipe
-fno-keep-inline-dllexport -msse2 -mstackrealign -mfpmath=sse -O2 -std=c++1z
-fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2
-Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32
-DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601
-DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_USE_SYSTEM_PROXIES
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_NETWORK_LIB
-DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES
-DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT
-DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS
-DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG
-DQT_CORE_LIB -I. -Ikernel -I../../include -I../../include/QtNetwork
-I../../include/QtNetwork/5.12.1 -I../../include/QtNetwork/5.12.1/QtNetwork
-Itmp -I../../include/QtCore/5.12.1 -I../../include/QtCore/5.12.1/QtCore
-I../../include/QtCore -I.moc/release -I../../mkspecs/win32-g++  -o
.obj/release/http2streams.o access/http2/http2streams.cpp
In file included from ../../include/QtCore/qfloat16.h:1,
                 from
../../include/QtCore/../../src/corelib/global/qendian.h:44,
                 from ../../include/QtCore/qendian.h:1,
                 from access/http2/http2frames_p.h:57,
                 from access/http2/http2streams_p.h:54,
                 from access/http2/http2streams.cpp:40:
../../include/QtCore/../../src/corelib/global/qfloat16.h:79:54: internal
compiler error: in make_rtl_for_nonlocal_decl, at cp/decl.c:
6590
     Q_CORE_EXPORT static const quint32 mantissatable[];
                                                      ^
0x7f9fde1a52e0 __libc_start_main
        ../csu/libc-start.c:291
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Makefile.Release:14167: recipe for target '.obj/release/http2streams.o' failed
make[3]: *** [.obj/release/http2streams.o] Error 1

(This is just one of the occurrences, running a parallel build will hit a few —
but they’re all in the same place.)

I’m attaching the pre-processed source. The offending line ends up as

    __attribute__((dllimport)) static const quint32 mantissatable[];

Reply via email to