ID Number: Q65328
6.00 | 6.00
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 with default
optimization:
fatal error C1001: Internal Compiler Error
(compiler file '@(#)regMD.c:1.100', line 3837)
RESOLUTION
The only workarounds in this case are as follows:
1. Do not use a static array for an index.
-or-
2. Do not use register variables for indexing.
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: none
*/
static int keyList[10];
struct
{
int fdkey[10];
} fsys[30];
int func1(int i)
{
return;
}
void func2(int fd)
{
register j,k;
int kk;
for (k=0;k<j;k++)
{
func1(fsys[fd].fdkey[keyList[k]]);
}
}
Additional reference words: 6.00