🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #763

g++-1.36.4- segv

#763
From: Paul Vaughan
Date: Mon, 22 Jan 1990 19:20
70 lines
2048 bytes
The following source causes g++-1.36.4- to segv.  This is a new
bug--older versions can compile this cleanly.  Fortunately, I have a
work around (see below).


class Model;
class Simulator;

class SimUnit {
public:
  Model *model;			 
};

class Model : public SimUnit {
};

class Object {
};

class NamedObject: public Object
{
};

class  NameSpaceTable;

class Entity: public  NamedObject {
};

class Behavior : public virtual Entity {
};

class PrimitiveBehavior : public Behavior {
};

class ModelBehavior : public PrimitiveBehavior {
};

class PawsNode : public SimUnit {
};

class IPawsNode : public PrimitiveBehavior {
};

class IModel : public ModelBehavior, public Model {
public:
  IModel();
};

IModel::IModel()  {
  &model;        // line 46, segv here
}

[2.633]puma) g++-1.36.3.test -v cpp.cc
g++ version 1.36.4- (based on GCC 1.36.92)
 /usr/local/gnu/1.36.3/test-lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 cpp.cc /usr/tmp/cca12625.cpp
GNU CPP version 1.36.92
 /usr/local/gnu/1.36.3/test-lib/gcc-cc1plus /usr/tmp/cca12625.cpp -quiet -dumpbase cpp.cc -version -o /usr/tmp/cca12625.s
GNU C++ version 1.36.4- (based on GCC 1.36.92) (68k, MIT syntax) compiled by GNU C version 1.36.92.
default target switches: -m68020 -mc68020 -m68881 -mbitfield
cpp.cc: In method IModel::IModel ():
cpp.cc:46: Segmentation violation
g++-1.36.3.test: Program cc1plus got fatal signal 11.


I can get around this by using 

IModel::IModel()  {
  &(((SimUnit*)this)->model); 
}
Technical Details
Message-ID: <9001221920.AA12639@puma.cad.mcc.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!MCC.COM!vaughan%cadillac.cad.mcc.com

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!MCC.COM!vaughan%cadillac.cad.mcc.com
From: vaughan%cadillac.cad.mcc.com@MCC.COM (Paul Vaughan)
Newsgroups: gnu.g++.bug
Subject: g++-1.36.4- segv
Message-ID: <9001221920.AA12639@puma.cad.mcc.com>
Date: 22 Jan 90 19:20:09 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 70