[comp.sys.next] Bug in cc++

wheelan@cs.mcgill.ca (Bill HEELAN) (04/23/91)

   The C++ compiler under 2.0 (cc++) dies with an internal error when given
   the following program.  It should give a more helpful warning instead. :-)

                                                        - Bill



Script started on Mon Apr 22 20:42:57 1991
% cc++ -c bug.c
Assertion failed: !integer_zerop (expr), file cplus-cvt.c, line 1124.
cc++: Internal compiler error.  Program cc1++ got fatal signal 6.
% 
% cat bug.c
class Foo {
    int x ; // just to get rid of a compiler warning

public:
    Foo( void ) {}
} ;


class Bar : public Foo {
public:
    Bar( void ) {}
} ;


void zarf( void )
{
    Foo *n ;

    if((n = new Bar()) == (Bar *)0) // ... == (Foo *)0) works.
    {
    }
}
% exit
% 

script done on Mon Apr 22 20:43:19 1991

melling@cs.psu.edu (Michael D Mellinger) (04/23/91)

In article <1991Apr23.020157.21859@cs.mcgill.ca> wheelan@cs.mcgill.ca (Bill HEELAN) writes:

      The C++ compiler under 2.0 (cc++) dies with an internal error when given
      the following program.  It should give a more helpful warning instead. :-)

	[C++ code deleted]

How about posting C++ this bug report to gnu.g++.bug?  That way the
problem gets solved at the source, and other people get to benefit
from the bug fix.

-Mike

miron@fornax.UUCP (Miron Cuperman) (04/23/91)

melling@cs.psu.edu (Michael D Mellinger) writes:
>How about posting C++ this bug report to gnu.g++.bug?  That way the
>problem gets solved at the source, and other people get to benefit
>from the bug fix.

GNU does not support the NeXT version of g++.  Even if they fix it
you still need the sources for the NeXT g++ to incorporate the fix.
(I am still waiting for the sources.  Our university ordered them about
three weeks ago.)

If anybody has a copy of the sources, please drop me a note.

----
        Miron Cuperman <miron@cs.sfu.ca>
	
        Expert Systems Lab,
        Simon Fraser University, Canada