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.
t.c
Description: Binary data