This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/49424] New: ICE in lhd_set_decl_assembler_name at langhooks.c:158 with '-flto'
- From: "jason.vas.dias at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 15 Jun 2011 14:00:23 +0000
- Subject: [Bug lto/49424] New: ICE in lhd_set_decl_assembler_name at langhooks.c:158 with '-flto'
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: jason.vas.dias@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