ID Number: Q76952
6.00ax
MS-DOS
buglist6.00ax fixlist7.00
Summary:
PROBLEM ID: C9110002
SYMPTOMS
Very large functions compiled with /Oe and /EM may cause the
Microsoft C Compiler version 6.0ax to generate a CL1319 error and
terminate, or may cause the compiler to enter an infinite loop,
which prints CL1319 errors to the screen.
If the compiler can't globally optimize a function, the following
error messages may be produced:
C4203: function too large for global optimization
CL1319: Error: Internal error - unrecoverable fault
RESOLUTION
The following are valid workarounds:
1. Do not specify /Oe (enable global register allocation) when
compiling.
-or-
2. Disable the global register allocation optimization with the
#pragma optimize directive for the function that cannot be
optimized. For example:
#pragma optimize("e",off)
void too_big(void)
{
/* ... */
}
#pragma optimize("e",on)
STATUS
Microsoft has confirmed this to be a problem in C version 6.0ax. This
problem was corrected in C/C++ version 7.0.
Additional reference words: 6.00ax