Bugzilla – Bug 517
[llvm-gcc] Crash compiling bitfield <-> aggregate assignment
Last modified: 2005-02-19 01:28:07
You need to log in before you can comment on or make changes to this bug.
manyoso@shiva:~/dev/qt4/src/gui> llvm-g++ -c -pipe -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT_WARNINGS-DQT_HAVE_FREETYPE -DQT_CORE_LIB-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/home/manyoso/dev/qt4/mkspecs/linux-llvm -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I../3rdparty/opentype -I/usr/X11R6/include -I/usr/include/freetype2 -I.moc/debug-shared -I. -o .obj/debug-shared/qlineedit.o widgets/qlineedit.cpp <command line>:8:12: warning: ISO C requires whitespace after the macro name widgets/qlineedit_p.h: In constructor `QLineEditPrivate::Command::Command(QLineEditPrivate::CommandType, int, QChar)': widgets/qlineedit_p.h:129: internal compiler error: Segmentation fault Attaching the preprocessed source.
Created an attachment (id=205) [details] gzip of processed source of qlineedit
Here's a reduced testcase: struct QChar {unsigned short X; QChar(unsigned short); } ; struct Command { Command(QChar c) : c(c) {} unsigned int type : 4; QChar c; }; Command X(QChar('c')); This is an interaction between bitfields and structures. I think I know the fix. -Chris
Fixed, testcase here: Regression/C++Frontend/2005-02-19-BitfieldStructCrash.cpp Patch here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050214/024182.html -Chris