Compiler Limits
5-16
5.9 Compiler Limits
Due to the variety of host systems that the TMS320C2x/C2xx/C5x C compiler
supports and the limitations of some of these systems, the compiler might not
be able to successfully compile source files that are excessively large or com-
plex. Most of these conditions are detected by the parser. When the parser
detects such a condition, it issues a code-I diagnostic message indicating the
condition that caused the failure. Usually, the message also specifies the max-
imum value for whatever limit was exceeded. The code generator also has
compilation limits, but fewer than the parser.
In general, exceeding any compiler limit prevents continued compilation, so
the compiler aborts immediately after printing the error message. Simplify the
program to avoid exceeding a compiler limit.
Many compiler tables have no absolute limits and are limited only by the
amount of memory available in the host system. Table 5
that are absolute. All of the absolute limits equal or exceed those required by
the ANSI C standard.
On smaller host systems such as PCs, the optimizer may run out of memory.
If this occurs, the optimizer terminates and the shell continues compiling the
file with the code generator. This results in a file compiled with no optimization.
The optimizer compiles one function at a time, so the most likely cause of this
is a large or extremely complex function in your source module. To correct the
problem, your options are:
-
Do not optimize the module in question.
-
Identify the function that caused the problem and break it down into
smaller functions.
-
Extract the function from the module and place it in a separate module that
can be compiled without optimization so that the remaining functions can
be optimized.
Summary of Contents for TMS320C2x
Page 8: ...viii...
Page 69: ...2 47 C Compiler Description...
Page 159: ...6 36...
Page 226: ...8 6...