Thread View: gnu.gcc.bug
2 messages
2 total messages
Started by Mike Stump
Wed, 15 Apr 1992 22:16
Re: GCC (C++) 2.01 - additional info
Author: Mike Stump
Date: Wed, 15 Apr 1992 22:16
Date: Wed, 15 Apr 1992 22:16
67 lines
2564 bytes
2564 bytes
This is not a problem with gcc, but rather g++, so the report should not
go to the bug-gcc list, but rather the
bug-g++@prep.ai.mit.edu
list.
I will answer for now anyways, the problem has been fixed, the next release
of gcc should be better.
> Date: Tue, 14 Apr 92 13:21:55 EDT
> From: keith@thinkage.on.ca (Keith Dorken)
> Message-Id: <9204141721.AA13968@sabre.Thinkage.On.CA>
> To: bug-gcc@prep.ai.mit.edu
> Subject: GCC (C++) 2.01 - additional info
> Resent-From: bug-gcc-request@prep.ai.mit.edu
> The bug in GCC that causes the compiler to go into an infinite loop
> during parsing has been isolated even further in the following
> (smaller!) sample code. You can eliminate any one section of the
> code surrounded by BUG, BUG1 or BUG2, and the parsing problem goes
> away. Any known fixes would be appreciated..
> This is the .h header file. To reproduce, put everything below
> "SAMPLE" into a bug.h file, create a bug.cc file with '#include
> "bug.h"' in it, and compile with c++ -c bug.cc
> This problem is for the compiler identified by
> Reading specs from /n/server/usr/local/languages/gnu-compilers/lib/gcc-lib/sun4os4/2.1/specs
> gcc version 2.1
> /n/server/usr/local/languages/gnu-compilers/lib/gcc-lib/sun4os4/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 junk.cc /usr/tmp/cca13962.i
> GNU CPP version 2.1 (sparc)
> ---------- SAMPLE ----------
> #define BUG // remove either BUG
> #define BUG1 // or BUG1
> #define BUG2 // or BUG2 and the parsing problem goes away.
> class Unsigned36
> {
> protected:
> char* rep;
> public:
> Unsigned36();
> #ifdef BUG2
> Unsigned36(int);
> #endif
> operator int();
> #ifdef BUG
> friend
> #endif
> int operator == (const Unsigned36&, const Unsigned36&);
> };
> int operator ! (const Unsigned36& x);
> inline Unsigned36::Unsigned36() : rep( (char *)0 )
> {
> }
> inline unsigned int Unsigned36::operator int()
> {
> return ( rep[0] );
> }
> inline int operator ! ( Unsigned36& x )
> {
> #ifdef BUG1
> return( x == 0 );
> #endif
> }
Re: GCC (C++) 2.01 - additional info
Author: Keith Dorken
Date: Thu, 16 Apr 1992 12:26
Date: Thu, 16 Apr 1992 12:26
13 lines
989 bytes
989 bytes
I received a message containing a patch (a patch by Mike Tiemann) to fix this problem. I haven't yet installed it, but it looks like the solution to my problem. The info file for GCC should be updated to indicate that bug reports for G++ should be sent to bug-g++@... (is this correct)?) [ yes -len, aka bug-gcc-request@prep.ai.mit.edu ] now that G++ is integrated with GCC; i used the reporting method that came with the package I was installing (GCC 2.01). I guess I should have realized it was wrong. Thanks for the response.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads