[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-bugs
Subject:    internal compiler error (egcs-1.1.1 & egcs-1.1.2), cc1
From:       Paul Lai <plai () Lynx ! COM>
Date:       1999-03-30 19:39:49
[Download RAW message or body]

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)?

["t.c" (text/plain)]

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 ;
	}
}


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic