I've just got an "internal compiler error" message while trying to compile
some code.  I had a function that takes 5 byte-sized parameters - whenever I
try to call the function, I get an internal error.  It does not matter if
the function is defined in the module, or declared extern.  I compiled with
just "msp430-gcc -c t.c", but the options don't matter.  The workaround was
pretty simple - declare the arguements as 16-bit wide, so I am not in a
hurry for a fix, but I imagine you would like to fix it anyway.

The gcc version I am using is just before the bitfield definitions of the
ports, compiled from cvs on 5th December on Cygwin.  I note that the file
"recog.c" that is mentioned in the error message is not part of the msp430
patches - could this be a general gcc bug?  I tried compiling using cygwin
gcc (2.95.3-5), and it did not give any error.

mvh.

David




extern void foo(char a, char b, char c, char d, char e);

void test(void)
{
 foo(1, 2, 3, 4, 5);
}


t.c: In function `test':
t.c:7: unrecognizable insn:
(insn 9 4 10 (set (mem/f:QI (pre_modify:HI (reg/f:HI 1 r1)
                (plus:HI (reg/f:HI 1 r1)
                    (const_int -2 [0xfffffffe]))) [0 S1 A8])
        (const_int 5 [0x5])) -1 (nil)
    (nil))
t.c:7: Internal compiler error in extract_insn, at recog.c:2148
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Attachment: t.c
Description: Binary data

Reply via email to