[gnu.g++.bug] Failed assertion

chatty%FRLRI61.BITNET@cunyvm.cuny.edu (10/28/89)

The error messages must mean something to somebody...
That was on a sun4 os4, with g++ 1.36.0- (Oct 17)

class A {
protected :
        void    foo ();
};


class B : public A {
public :
        void    bar ();

};

void
B :: bar ()
{

        B& b = *this;

        foo ();
}

% g++ -c c.cc
Failed assertion get_base_type (DECL_CONTEXT (cp->function), TREE_TYPE (TREE_TYP
E (TREE_VALUE (parmtypes))), 1) == error_mark_node at line 1292 of `cplus-method
.c'.
g++: Program cc1plus got fatal signal 6.


Stephane Chatty         chatty@lri.lri.fr
                        chatty@frlri61.bitnet

joep@tnosoes.UUCP (Joep Mathijssen) (11/14/89)

twilight 388: cat uit.c
char*        str(const char* s, int width = 0);
void foo(str)
{ }

main()
{ }

twilight 389: g++ -v uit.c
gcc version 1.36.1- (based on GCC 1.36)
 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 uit.c /usr/tmp/cca15248.cpp
GNU CPP version 1.36
 /usr/local/lib/gcc-cc1plus /usr/tmp/cca15248.cpp -quiet -dumpbase uit.c -version -o /usr/tmp/cca15248.s
GNU C++ version 1.36.1- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36.
default target switches: -m68020 -mc68020 -m68881 -mbitfield
Failed assertion 0 at line 4606 of `cplus-decl.c'.
g++: Program cc1plus got fatal signal 6.
 
twilight 390: ls -l core
-rw-r--r--  1 joep     251831098 Nov 14 15:06 core

twilight 391: 

===============================================================================
Joep Mathijssen
TNO Institute for Perception
P.O. Box 23				Phone: +31 34 63 562 11
3769 ZG  Soesterberg			E-mail: tnosoes!joep@mcvax.cwi.nl
The Netherlands				    or:	uunet!mcvax!tnosoes!joep
===============================================================================

chatty%FRLRI61.BITNET@CUNYVM.CUNY.EDU (12/09/89)

// The following code causes a failed assertion on sun3os4.
// It is g++ 1.26.2- with all (?) the patches posted Dec 5

class A {
public:
        int     s;

};

class B : public A {
};


class C : public B {
};


int
foo ()
{
        C c;
        return c.s;
}


// g++ -v -c a.cc
// g++ version 1.36.2- (based on GCC 1.36)
//  /usr/local/lib/GNU/cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc
// -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 a.
// /usr/tmp/cca04511.cpp
// GNU CPP version 1.36
//  /usr/local/lib/GNU/cc1plus /usr/tmp/cca04511.cpp -quiet -dumpbase a.cc -vers
//  -o /usr/tmp/cca04511.s
// GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU
// version 1.36.
// default target switches: -m68020 -mc68020 -m68881 -mbitfield
// Failed assertion assoc != NULL_TREE at line 1282 of `cplus-typeck.c'.

// Stephane Chatty              chatty@lri.lri.fr
//                              chatty@frlri61.bitnet