C++: segfault (compiling QT)
Matthias Urlichs
smurf@noris.de
Thu May 21 15:29:00 GMT 1998
This is egcs-current as of yesterday night.
I was unable to reduce this test case any further.
**************
gcc -v -c qga.cpp
**************
Reading specs from /usr/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.29/specs
gcc version egcs-2.91.29 19980517 (gcc2 ss-980502 experimental)
/usr/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.29/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__pentium__ -D__i586__ -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__pentium__ -D__i586__ qga.cpp /tmp/ccJ1rbzc.ii
GNU CPP version egcs-2.91.29 19980517 (gcc2 ss-980502 experimental) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/include/g++
/usr/lib/g++-include
/usr/local/include
/usr/i586-pc-linux-gnu/include
/usr/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.29/include
/usr/include
End of search list.
/usr/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.29/cc1plus /tmp/ccJ1rbzc.ii -quiet -dumpbase qga.cc -version -o /tmp/ccJ1rbzc.s
GNU C++ version egcs-2.91.29 19980517 (gcc2 ss-980502 experimental) (i586-pc-linux-gnu) compiled by GNU C version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental).
qga.cpp: gcc: Internal compiler error: program cc1plus got fatal signal 11
**************
template<class type> class QIntDictT { };
class QGArray
{
public:
QGArray( int size );
virtual void detach() { }
};
template<class type> class QArrayT : public QGArray
{
public:
QArrayT( int size ) : QGArray(size*sizeof(type)) {}
void detach() { QGArray::detach(); }
};
class QPoint
{
public: bool isNull() const;
};
class QRect
{
};
class QWidget
{
public:
QWidget( QWidget *parent=0, const char *name=0 );
~QWidget();
void setAutoMinimumSize( bool ) {}
const char *iconText() const;
};
class QGList
{
public:
int count() const;
void clear();
};
template<class type> class QListT : public QGList
{
public:
int count() const { return QGList::count(); }
};
class QFrame : public QWidget
{
};
struct WidgetInfo {
QRect geom;
QWidget *widget;
};
typedef QIntDictT <WidgetInfo> wDict;
class QChain
{
public:
QChain() { }
virtual ~QChain() {}
virtual void distribute( wDict&) = 0;
};
class QSerChain : public QChain
{
public:
QSerChain( ) : QChain( ), empty(1) {}
~QSerChain();
void distribute( wDict &);
bool empty;
QListT <QChain> chain;
};
void QSerChain::distribute( wDict & wd )
{
typedef int fixed;
QArrayT <fixed> sizes( chain.count() );
}
**************
--
Matthias Urlichs
noris network GmbH
More information about the Gcc-bugs
mailing list