🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

g++-2.2.2 assertion violation

#181
From: Robert Marshall
Date: Tue, 28 Jul 1992 07:55
76 lines
2844 bytes
leopard-robert-36>gcc-new -v gen_new.cc
Reading specs from /usr/local/gcc/gcc-lib/sparc-sun-sunos4/2.2.2/specs
gcc version 2.2.2
 /usr/local/gcc/gcc-lib/sparc-sun-sunos4/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix gen_new.cc /usr/tmp/cca01986.i
GNU CPP version 2.2.2 (sparc)
 /usr/local/gcc/gcc-lib/sparc-sun-sunos4/2.2.2/cc1plus /usr/tmp/cca01986.i -quiet -dumpbase gen_new.cc -version -o /usr/tmp/cca01986.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
cp-method.c:1256: failed assertion `get_binfo (DECL_CLASS_CONTEXT (cp->function), TREE_TYPE (TREE_TYPE (TREE_VALUE (parmtypes))), 1) == error_mark_node'
gcc-new: Internal compiler error: program cc1plus got fatal signal 6

This is gen_new.cc:
// ------------------------------------------------------------------
typedef union uptr * ptr;
enum ObjectType {a,b,c,d};

ObjectType Kind(const ptr n);

class ITEM;
class OBJECT_ITEM;
 
virtual class Entity {  
public:
  Entity(ObjectType Kind);
};

virtual class NAME_EXP :    public virtual Entity {
public:
  NAME_EXP (ptr Vif_ptr);
};
virtual class OBJ_NAME: public NAME_EXP{
public:
  OBJ_NAME(ptr Vif_ptr);
};

virtual class FORMAL_DESIGNATOR {
public:
  FORMAL_DESIGNATOR(ptr Vif_ptr);
};
virtual class TARGET : public virtual Entity {
public:
  TARGET (ptr Vif_ptr);
};

virtual class IMPORTED_ITEM  : public virtual Entity  {
  public:  
   IMPORTED_ITEM(ptr Vif_ptr);
   const virtual int has_id() const;
};
virtual class ITEM : public IMPORTED_ITEM{
public:
  ITEM (ptr Vif_ptr);
};

virtual class OBJECT_ITEM  : public ITEM,
                             public TARGET {
public:
};

class subp_param_decl: 
    public FORMAL_DESIGNATOR,
    public OBJECT_ITEM,
    public IMPORTED_ITEM {
public:
  subp_param_decl(ptr Vif_ptr);
 ~subp_param_decl();
  const int has_id() const { return IMPORTED_ITEM::has_id();}

};

--
------------------------------------------------------------------
Robert A.J.Marshall,		EMAIL: rmarshall@cs.man.ac.uk
Room 3.08, IT Building, Department of Computer Science,
University of Manchester, Oxford Road, Manchester, M13 9PL, U.K.
Tel: (+44) 61-275 6269          Fax: (+44) 61-275 6280
------------------------------------------------------------------
Technical Details
Message-ID: <ROB.92Jul28085517@leopard.cs.man.ac.uk>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cs.man.ac.UK!rob

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cs.man.ac.UK!rob
From: rob@cs.man.ac.UK (Robert Marshall)
Subject: g++-2.2.2 assertion violation
Message-ID: <ROB.92Jul28085517@leopard.cs.man.ac.uk>
Sender: gnulists@ai.mit.edu
Reply-To: rajm@cs.man.ac.uk
Organization: Department of Computer Science, University of Manchester
Distribution: gnu
Date: Tue, 28 Jul 1992 07:55:17 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 77