From: spb@mahler.clh.icnet.uk
Subject: gcc bug
Organization: GNUs Not Usenet
Distribution: gnu
Date: Mon, 17 Aug 1992 16:18:47 GMT

I have managed to generate an internal
compiler error # 62 when compiling the following
source files. Could you help, please?


make xlims
/usr/local/bin/gcc -I. -I/home/mahler.clh.icnet.uk/oracle6/c/lib -O
-Wall -DOPENLOOK -c specialist.cc
In file included from specialist.cc:5:
specialist.h:25: internal compiler error 62, please report
*** Error code 1
make: Fatal error: Command failed for target `specialist.o'

//specialist.cc
// Copyright 1992 (c) Steve Bryant. All Rights Reserved. 

#ifndef __Specialist__
	#include "specialist.h"
#endif

//=====================================================================
#pragma segment Specialist
String
TSpecialist::Name()
{
	return fName;
}
//=====================================================================
void
TSpecialist::Name(String aName)
{
	strcpy(fName,aName);
}
//=====================================================================
TSpecialist::TSpecialist()
{
	this->fName = new char[kNameLen];
}
//=====================================================================
TSpecialist::~TSpecialist()
{
	delete this->fName;
}
//=====================================================================
ofstream*
TSpecialist::OutStream(void)
{
	return &this->outfile;
}
//=====================================================================


// specialist.h
// Copyright 1992 (c) Stephen P. Bryant. All Rights Reserved.

#ifndef __Specialist__
#define __Specialist__

#include <stdio.h>
#include <strings.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>

class TSpecialist;

#ifndef __BaseObject__
	#include "baseobject.h"
#endif


//=====================================================================
class TSpecialist : public TBaseObject {
public:
	typedef enum {
		kNameLen = 100
	} SpecialistConst;
	virtual	String			Name(void);
	virtual	void			Name(String aName);
	virtual ofstream*		OutStream(void);
	virtual				TSpecialist();
	virtual				~TSpecialist();
private:
	String			fName;
	ofstream		outfile; // For results
};
//=====================================================================

#endif __Specialist__


// baseobject.h
// Copyright 1992 (c) Stephen P. Bryant. All Rights Reserved.

#ifndef __BaseObject__
#define __BaseObject__

#include <stdio.h>
#include <strings.h>
#include <stdlib.h>
#include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#include <strstream.h>

#ifdef MACINTOSH
#ifndef __UMacApp__
	#include <UMacApp.h>
#endif

#ifndef __UDialog__
	#include <UDialog.h>
#endif
#endif

#ifdef OPENLOOK
#ifndef __VIEWS__
	#include "views.h"
#endif
#endif

class TBaseObject;

ostream& operator<< (ostream&, TBaseObject&);

//=====================================================================
class TBaseObject {
public:
        typedef double          extended;
        typedef int             IdType;
        typedef char*           String;
        typedef extended        FreqType;
        typedef int             Integer;
        typedef char            Char;
        typedef int             LengthType;
        typedef short           Small;
        typedef extended        Real;
        typedef double          Double;
        typedef void            Void;
	typedef enum {
        kUndefined = 0
	} DefinedType;
	typedef enum {
	false = 0,
	true = 1
	} BooleanType ;
#ifdef MACINTOSH
	enum {
                kMessage        = 'VW04',
 	};
#endif
	enum {
                 kMessageLen     = 50
	};

	virtual	IdType		Id(void);
	virtual	void		Id(IdType);
	virtual	void		Display(void);
	virtual	void		Capture(void);
	virtual	TView*		View(void);
	virtual	void		View(TView*);
	virtual	void		MessageView(TView*);
	virtual	TView*		MessageView(void);
	virtual	void		Message(void);
	virtual	void		Message(String);
	virtual	ostrstream*	MStream();
				TBaseObject();
	virtual			~TBaseObject();
private:
	IdType		fObjectId;
	TView*		fView;
	TView*		fMessageView;
	char		fMessage[TBaseObject::kMessageLen];
	ostrstream*	fLogFile;
};
//=====================================================================

#endif __BaseObject__


Also, is there an easy way to unmangle the vtable output? ie unresolved
linker references?



Thanks, 

Steve Bryant, Imperial Cancer Research Fund, UK.