M32C C-compiler 4.2.0 stop with this error: ctest.c: In function 'Modbus_Frekvens_Init': ctest.c:44: error: could not split insn (insn 50 49 59 (set (mem/c:QI (plus:PSI (reg/f:PSI 7 fb) (const_int -2 [0xfffffffe])) [0 card+0 S1 A8]) (if_then_else:QI (ne:QI (reg:HI 0 r0 [27]) (const_int 0 [0x0])) (const_int 2 [0x2]) (const_int 1 [0x1]))) 151 {movqicc_ne_hi} (insn_list:REG_DEP_TRUE 11 (nil)) (expr_list:REG_DEAD (reg:HI 0 r0 [27]) (nil))) ctest.c:44: internal compiler error: in final_scan_insn, at final.c:2449 Please submit a full bug report, with preprocessed source if appropriate.
Have tried same code with 4.1.1 m32c and h8300 target no problem. Gcc version: m32c-4.2.0/m32c-elf/bin/gcc -v Using built-in specs. Target: m32c-elf Configured with: ../configure --prefix=/Users/bengtwir/GNU/m32c-4.2.0 --target=m32c-elf --program-prefix=m32c-elf- --enable-languages=c --with-gnu-as --with-gnu-ld --disable-nls --with-newlib Thread model: single Source code: ctest.c /* fail m32c-4.2.0/m32c-elf/bin/gcc -O -mcpu=m32c ctest.c m32c-4.2.0/m32c-elf/bin/gcc -O -mcpu=m16c ctest.c OK m32c-4.1.1/m32c-elf/bin/gcc -O -mcpu=m32c ctest.c h8300-4.1.1/h8300-hms/bin/gcc -O ctest.c */ typedef unsigned char Byte; typedef unsigned short UInt16; typedef struct rec { UInt16 size; UInt16 text; }rec; void Modbus_Frekvens_Init(void); Byte b; UInt16 i; rec *rr; void Modbus_Frekvens_Init(void) { Byte card; if (rr->size & 2) card = 0x02; else card = 0x01; if (rr->text == 2) { b = 2; } i = card*0x100 + 0x01; } -- Summary: error: could not split insn, internal compiler error: in final_scan_insn Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bengt at digisign dot se GCC host triplet: Mac OSX 10.4.9 GCC target triplet: m32c-elf 4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31482