C9006000: C1001: grammar.c, Line 140

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