x86 C++ ICE in extract_insn, at recog.c:2067

Peter Österlund f90-pos@nada.kth.se
Sun Aug 20 07:50:00 GMT 2000


Recent CVS versions of g++ fails to compile the following simple source
code:

---------------------------------------
ppro:~$ g++ -v
Reading specs from /home/petero/gcc/lib/gcc-lib/i686-pc-linux/2.96/specs
gcc version 2.96 20000819 (experimental)
ppro:~$ cat bug4.C
struct A {
    int a;
    int b[5];
};
struct B {
    int a;
    A b[1];
};

A* f();

void g(B* t, int i)
{
    while (f()->a) {
        A a = t->b[i];
    }
}
ppro:~$ g++ -O bug4.C
bug4.C: In function `void g (B *, int)':
bug4.C:17: Unrecognizable insn:
(insn 79 52 53 (set (reg:SI 4 esi)
        (plus:SI (plus:SI (reg:SI 3 ebx)
                (mem/f:SI (plus:SI (reg:SI 6 ebp)
                        (const_int 8 [0x8])) 0))
            (const_int 4 [0x4]))) -1 (nil)
    (nil))
bug4.C:17: Internal compiler error in extract_insn, at recog.c:2067
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
---------------------------------------

I bootstrapped the compiler with CFLAGS="-g -O2 -Wall -march=pentiumpro
-mpentiumpro -fstrict-aliasing" 

--
Peter Österlund           Email:    peter.osterlund@mailbox.swipnet.se
Sköndalsvägen 35                    f90-pos@nada.kth.se
S-128 66 Sköndal          Homepage: http://home1.swipnet.se/~w-15919
Sweden                    Phone:    +46 8 942647



More information about the Gcc-bugs mailing list