Article: Q68496
Product(s): See article
Version(s): 6.00a | 6.00a
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | buglist6.00a | mspl13_c
Last Modified: 1-FEB-1991
The C version 6.00a compiler produces the following internal compiler
error when the sample program below is compiled with /AL and any of
these optimizations: default, /Oa, /Oc, /Oi, /On, /Op, /Or, /Os, /Ot,
/Ow, or /Oz:
file.c(6) : fatal error C1001: Internal Compiler Error
(compiler file '../grammar.c', line 140)
Contact Microsoft Product Support Services
The following are valid workarounds:
1. Compile with one of the following optimizations:
/Od, /Oe, /Og, /Ol and /Ox
2. Use the optimize pragma to turn off optimizations for the function
in which the error is occurring.
3. Use the /qc (quick compile) compiler option.
Sample Code
-----------
void select( int *x, int d, int *y, int *z)
{
int sx;
if( x != z && sx < 0)
x[0] = (-x[0]); /* this line causes error */
}
Microsoft has confirmed this to be a problem in C version 6.00a. We
are researching this problem and will post new information here as it
becomes available.