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[];