🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

2.1 bug - bad error and loops - sun4/4.1.2

#131
From: Robert Collins
Date: Thu, 09 Apr 1992 19:15
59 lines
2587 bytes
configure sun4 on sun4/330 running SunOS4.1.2.

This is a pared down version of some code that I (and previous versions
of g++) think is correct.  2.1 loops, generating an incorrect error
message.  For some reason, it loses its mind about the CM_geometry
class.  I am very anxious for a fix, if someone happens upon the
bug.

Thanks,
rob collins
rjc@cs.ucla.edu

1 castor/cm++ $ cat foo.cc
typedef int CM_geometry_id_t;
typedef int CM_vp_set_id_t;
class CM_vp_set;

class CM_geometry {
  public:
    CM_geometry(const CM_geometry&);
    operator CM_geometry_id_t() const;
};

class CM_storage {
  public:
    CM_storage(const CM_vp_set* vp, const unsigned max = 64);
};

class CM_vp_set : public CM_geometry, public CM_storage {
    const CM_vp_set_id_t the_vp_set_id_t;
  public:
    CM_vp_set(const CM_geometry& g,
	      const CM_vp_set_id_t v,
	      const unsigned max = 64);
};

CM_vp_set::CM_vp_set(const CM_geometry& g,
		     const CM_vp_set_id_t v,
		     const unsigned max) :
    CM_geometry(g),
    CM_storage(this, max),
    the_vp_set_id_t(v)
{   
}
2 castor/cm++ $ gcc -v foo.cc
Reading specs from /usr/local/gnu/lib/gcc-lib/sun4/2.1/specs
gcc version 2.1
 /usr/local/gnu/lib/gcc-lib/sun4/2.1/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 foo.cc /usr/tmp/cca06276.i
GNU CPP version 2.1 (sparc)
 /usr/local/gnu/lib/gcc-lib/sun4/2.1/cc1plus /usr/tmp/cca06276.i -quiet -dumpbase foo.cc -version -o /usr/tmp/cca06276.s
GNU C++ version 2.1 (sparc) compiled by GNU C version 2.0.
foo.cc: In method `CM_vp_set::CM_vp_set (const class CM_geometry&, int, unsigned int (=  64 ))':
foo.cc:30: bad argument 0 for function `CM_geometry::CM_geometry (const class CM_geometry&)' (type was int )
foo.cc:30: in conversion to type `CM_geometry'
foo.cc:30: bad argument 0 for function `CM_geometry::CM_geometry (const class CM_geometry&)' (type was int )
foo.cc:30: in conversion to type `CM_geometry'
foo.cc:30: bad argument 0 for function `CM_geometry::CM_geometry (const class CM_geometry&)' (type was int )

[ killed with ^C ]
Technical Details
Message-ID: <9204091915.AA06296@castor.cognet.ucla.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cognet.ucla.edu!rjc

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!cognet.ucla.edu!rjc
From: rjc@cognet.ucla.edu (Robert Collins)
Subject: 2.1 bug - bad error and loops - sun4/4.1.2
Message-ID: <9204091915.AA06296@castor.cognet.ucla.edu>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 9 Apr 1992 19:15:43 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 60