http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49424
Summary: ICE in lhd_set_decl_assembler_name at langhooks.c:158 with '-flto' Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: jason.vas.d...@gmail.com When building qt-4.7.1 (from git: git://anongit.kde.org/qt-kde.git ) with GCC 4.6.0, built unmodified source in gcc-4.6.0.tar.bz2, on a Linux x86_64 platform ( binutils: 2.21.51.20110407 glibc:2.13 kernel: 2.38.8.8) g++ suffers an internal compiler error when compiling Qt's qt-kde/src/3rdparty/javascriptcore/JavaScriptCore/API/JSStringRef.cpp : ... /usr/bin/g++ -c -march=x86-64 -mtune=k8 -O2 -g -pipe -flto -Wall -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -fno-stack-protector -g -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -fPIC ... ....src/3rdparty/javascriptcore/JavaScriptCore/API/JSStringRef.cpp /usr/x/kde/4.1/KDE/qt-kde/src/3rdparty/javascriptcore/JavaScriptCore/API/JSStringRef.cpp: In function 'JSStringGetUTF8CString': /usr/x/kde/4.1/KDE/qt-kde/src/3rdparty/javascriptcore/JavaScriptCore/API/JSStringRef.cpp:112:1: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:158 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. When I remove the '-flto' option, this ICE does not occur and the compilation succeeds . Line 112 of that source file is the "end of file" : bool JSStringIsEqualToUTF8CString(JSStringRef a, const char* b) { JSStringRef bBuf = JSStringCreateWithUTF8CString(b); bool result = JSStringIsEqual(a, bBuf); JSStringRelease(bBuf); return result; } // this is line 112 // FILE ENDS If you need any more info here, let me know. Thanks & Regards, Jason