I'm getting an internal compiler error on the following test program: void func(int a, int b, int c, int d, int e, int f, int g, short int h) { assert(a < 100); assert(b < 100); assert(c < 100); assert(d < 100); assert(e < 100); assert(f < 100); assert(g < 100); assert((-1000 < h) && (h < 0)); }
Command line and output: $ arm-none-eabi-gcc -mthumb -O2 -c -o test.o test.c test.c: In function 'func': test.c:11:1: internal compiler error: in default_secondary_reload, at targhooks.c:769 Please submit a full bug report, with preprocessed source if appropriate. See <https://support.codesourcery.com/GNUToolchain/> for instructions. This is running on Windows XP. Version information: $ arm-none-eabi-gcc --version arm-none-eabi-gcc.exe (Sourcery G++ Lite 2010.09-51) 4.5.1 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. >From playing around with this, it looks to be some kind of register allocation problem--it needs to have lots of variables active at once, and the error doesn't occur unless I'm compiling for Thumb. Unfortunately I don't have a way to test this on tips, so I can't tell if it's been fixed there or not. Any information on this would be appreciated. Thanks, Matt