This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Internal Compiler error with C++


Hello,

We use the cygnus C++ compiler for PowerPC in the Tornado environnement of
WindRiver System compagny.

We have an "Internal compiler error" with the compiler used in Tornado2.
This problem does not exists in Tornado1.
Here enclosed you can find an example of C++ code which generates the problem.

The 2 versions of compiler are
for Tornado2 (with problem)
Reading specs from /bt2vobs/tools/WRS5/tornado/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/cygnus-2.7.2-960126/specs
gcc driver version cygnus-2.7.2-960126 egcs-971225 tornado 2.0 executing gcc version cygnus-2.7.2-960126
for Tornado1
Reading specs from /bt2vobs/tools/WRS5/tornado/host/sun4-solaris2/lib/gcc-lib/powerpc-wrs-vxworks/cygnus-2.7.2-960126/specs
gcc version cygnus-2.7.2-960126

It is difficult to get information from WindRiver about this problem, which is critical for us.
Do you know this problem ?
Is it fixed and solved in a new release of the compiler ?
Is there a workaround ?

It will be very hepful to us to have any information about this problem.
Thanks for your answer.
Regards,
Olivier Bonningues
 

-- 
Olivier BONNINGUES
Nortel Networks
BTS SYSTEM & SOFTWARE - O&M
   


//
// ccppc -c -o compiler_error.o                                   compiler_error.cc
// ccppc -c -o compiler_error.o                 -DWITH_DESTRUCTOR compiler_error.cc
// ccppc -c -o compiler_error.o -DWITH_PUT_NAME -DWITH_DESTRUCTOR compiler_error.cc
// ccppc -c -o compiler_error.o -DWITH_PUT_NAME                   compiler_error.cc
//


struct OmkConfigExtData
  {
  unsigned char Tei;
  unsigned char Cell;
  }
;



class RTEncoding
{
public:  
    virtual int putName( const char * ) = 0;
    RTEncoding( const RTEncoding & );
};


class RTDataWrapper_char
{
public:
    RTDataWrapper_char( char = ' ' );
    virtual int put( RTEncoding & )const;
#if WITH_DESTRUCTOR
    virtual ~RTDataWrapper_char( void );
#endif
};


class RTDataWrapper_OmkConfigExtData
{
public:
    void * v;
    virtual int put( RTEncoding &coding ) const;
};  


int RTDataWrapper_OmkConfigExtData::put( RTEncoding &coding ) const
{
	const OmkConfigExtData * pv = (const OmkConfigExtData *)v;

#if WITH_PUT_NAME
	return (coding.putName( "ABCD" )
		&& RTDataWrapper_char( pv->Tei ).put( coding )
		&& RTDataWrapper_char( pv->Cell ).put( coding )
	);
#else
	return (RTDataWrapper_char( pv->Tei ).put( coding )
		&& RTDataWrapper_char( pv->Cell ).put( coding )
	);
#endif
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]