Article: Q64021
Product(s): See article
Version(s): 6.00 | 6.00
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | | mspl13_c
Last Modified: 30-AUG-1990
The code below, when compiled with Microsoft C 6.00, produces the
following error message:
fatal error C1001: Internal Compiler Error
(compiler file '../grammar.c', line 140)
Contact Microsoft Product Support Services
Sample Code
-----------
struct x
{
int a;
int *b;
double **c;
};
typedef struct x TEST;
void function (TEST *pTEST)
{
double xx = 0;
int i,j;
for (i=0;i<pTEST->a;i++)
for(j=0;j<pTEST->b[i];j++)
if (pTEST->c[i][j]>xx) // Fails here...
pTEST->b[i]=j;
}
Compiling this code with one of the following options will produce
the internal compiler error mentioned above:
/Ot /Oi /Oit
The following are some possible solutions:
1. Use /Oe, /Ol, /Ox, /Oet, or /Olt when compiling.
2. Put the typedef and struct x definitions together.
Microsoft has confirmed this to be a problem in C version 6.00. We are
researching this problem and will post new information here as it
becomes available.