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 (egcs-1.1.1 & egcs-1.1.2), cc1


The attached simple testcase causes an internal compiler error.
egcs-1.1.1 & egcs-1.1.2 are both being tested under i386-pc-linux
(redhat 5.1).
FSF 2.8.1 does not emit an error with this testcase.

The problem appears to be in
    egcs-1.1.2/gcc/expr.c:expand_expr()     lines       6189 -- 6216
    These lines do not appear in FSF 281 and when removed, seem to make
the compiler happier.
    But, what is lost if these lines are removed (besides the compiler
internal error)?
struct fdentry { };
struct pssentry {
	struct fdentry*	fds[64];
	struct fdentry*	ifds[64];
};

foo(int fd)
{
	register struct fdentry *fdp;
	 if (( fd ) < 64 ) { 
		fdp  =  ((struct pssentry *)(0xdb000000  -4096) )->fds[ fd ];
	} else {
		if (  fdp =  ((struct pssentry *)(0xdb000000  -4096) ) ->ifds[(( fd )- 64 ) >> 9 ])
			fdp  += (( fd )- 64 ) & 0x1ff ;
	}
}

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