This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
g++ && -fPIC: ICE
- To: gcc-bugs <gcc-bugs at gcc dot gnu dot org>
- Subject: g++ && -fPIC: ICE
- From: Thomas Kunert <kunert at physik dot tu-dresden dot de>
- Date: Mon, 07 Aug 2000 14:57:01 +0200
$ g++ -v
Reading specs from /opt/lib/gcc-lib/i686-pc-linux-gnu/2.96/specs
gcc version 2.96 20000806 (experimental)
$ g++ -O2 -fPIC test.cc
test.cc: In method `void KDialogBase::setButtonStyle (int)':
test.cc:51: Internal compiler error in gen_lowpart, at emit-rtl.c:1084
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
$ cat test.cc
class KDialogBase
{
public:
enum ButtonCode
{
Help = 0x00000001,
Default = 0x00000002,
Ok = 0x00000004,
Apply = 0x00000008,
Try = 0x00000010,
Cancel = 0x00000020,
Close = 0x00000040,
User1 = 0x00000080,
User2 = 0x00000100,
User3 = 0x00000200,
No = 0x00000080,
Yes = 0x00000100,
Stretch = 0x80000000
};
struct SButton
{
int mask;
int style;
};
void setButtonStyle( int style );
private:
SButton mButton;
bool mMessageBoxMode;
};
void KDialogBase::setButtonStyle( int )
{
const int *layout;
static int layoutRule[5][8] =
{
{Help,Default|Stretch,User3,User2,User1,Ok,Apply|Try,Cancel|Close},
{Help,Default|Stretch,User3,User2,User1,Cancel|Close,Apply|Try,Ok},
{Help,Default|Stretch,User3,User2,User1,Apply|Try,Cancel|Close,Ok},
{Ok,Apply|Try,Cancel|Close,User3,User2,User1|Stretch,Default,Help},
{Ok,Cancel|Close,Apply|Try,User3,User2,User1|Stretch,Default,Help},
};
layout = layoutRule[ mButton.style ];
for( unsigned int i=0; i<8; i++ )
if( i>0 && (layout[i-1]&Stretch) && mMessageBoxMode == false )
{ }
}
--
Regards,
Thomas Kunert