ICE in build_insn_chain for mips64-elf

Gavin Romig-Koch gavin@cygnus.com
Fri Oct 8 11:54:00 GMT 1999


ICE in build_insn_chain for mips64-elf

$ /sam/gavin/actual-chains/gcc3.x-mips64/build/gcc/xgcc -B/sam/gavin/actual-chains/gcc3.x-mips64/build/gcc/ /sam/gavin/actual-chains/gcc3.x-mips64/src/gcc/testsuite/gcc.c-torture/compile/990801-1.c -w -O2 -c -I/sam/gavin/actual-chains/gcc3.x-mips64/build/mips64-elf//newlib/targ-include -I/sam/gavin/actual-chains/gcc3.x-mips64/src/newlib/libc/include -o /sam/gavin/actual-chains/gcc3.x-mips64/build/gcc/testsuite/990801-1.o
/sam/gavin/actual-chains/gcc3.x-mips64/src/gcc/testsuite/gcc.c-torture/compile/990801-1.c: In function `token':
/sam/gavin/actual-chains/gcc3.x-mips64/src/gcc/testsuite/gcc.c-torture/compile/990801-1.c:25: Internal compiler error in `build_insn_chain', at global.c:1758
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.

The actual insn it's complaining about is: 

(jump_insn 90 89 91 (addr_vec:SI[ 
            (label_ref:SI 33)
            (label_ref:SI 70)
            (label_ref:SI 70)
            (label_ref:SI 36)
            (label_ref:SI 36)
            (label_ref:SI 44)
            (label_ref:SI 65)
        ] ) -1 (nil)
    (nil))

But right off I can't tell if the abort test is wrong, or if the
jump table is supposed to be inside a basic block.

                                               -gavin...

The .i follows for convenience:

# 1 "/sam/gavin/actual-chains/gcc3.x-mips64/src/gcc/testsuite/gcc.c-torture/compile/990801-1.c"
extern int getch();
extern int class();

int
token()
{
    int state = 1;

    while (1) {
	int c=0;
	c = getch();
	switch (state) {
	case 1: break;
	case 4: break;
	case 5: break;
	case 6: 
            {
	        switch (class(c)) {
	        default: break;
	        }
	    } break;
	case 7:	break;
	}
    }
}






More information about the Gcc-bugs mailing list