ID Number: Q62701
6.00 6.00a | 6.00 6.00a
MS-DOS | OS/2
buglist6.00 fixlist6.00a
Summary:
SYMPTOMS
The Microsoft C Compiler version 6.0 produces the following internal
compiler error when the sample program below is compiled for large
(/AL) or compact (/AC) memory model with default optimization:
file.c(17) : fatal error C1001: Internal Compiler Error
(compiler file '../grammar.c', line 140)
Contact Microsoft Product Support Services
RESOLUTION
The following are several possible workarounds:
1. Enable global register allocation during compilation (/Oe).
2. Disable optimizations globally (/Od).
3. Disable optimizations locally with #pragma ("",off).
4. Simplify the expression through the use of temporary variables.
STATUS
Microsoft has confirmed this to be a problem in C version 6.0. This
problem was corrected in C version 6.0a.
More Information:
Sample Code
-----------
/* Compile options needed: /AL
*/
#include <malloc.h>
int a[2];
void test(void)
{
int b;
char *c;
c=(char *)malloc(100);
b=*(int*)(c+a[0])+*(int *)(c+a[1]);
}
Additional reference words: 6.00 6.00a