Hi,
We have a mathematical function in C generated by the Maple computer algebra system. When I try to build it with the TI ARM compiler (5.1.8) it fails with this error:
"c:/ti/ccsv6/tools/compiler/arm_5.1.8/bin/armcl" -mv7A8 --code_state=16 --float_support=VFPv3 --abi=eabi -me -O2 --fp_mode=relaxed --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.8/include" --include_path="../../../include/starterware/armv7a/am335x" --include_path="../../../include/starterware/armv7a" --include_path="../../../include/starterware" --include_path="../../../include/starterware/hw" --gcc --display_error_number --diag_warning=225 --diag_wrap=off -mt --preproc_with_compile --preproc_dependency="test.pp" "../test.c"
>> ../test.c, line 3420: INTERNAL ERROR: Number of virtual registers
beyond limit. Reduce function size
This may be a serious problem. Please contact customer support with a
description of this problem and a sample of the source files that caused this
INTERNAL ERROR message to appear.
Cannot continue compilation - ABORTING!
GCC and the Microsoft compilers cope with this function, so it is not inherently broken. We are unwilling to go about breaking it into smaller functions because we would like a straight path from the generated code to the embedded implementation - we would rather switch compilers.
I can supply the source file but not in a public post.
Thanks,
Gordon