C1001: Internal Compiler Error: regMD.c, Line 292

ID Number: Q43373

5.10 | 5.10

MS-DOS | OS/2

buglist5.10 fixlist6.00

Summary:

The C version 5.10 compiler produces the following internal compiler

error when the sample program below is compiled with certain

optimizations:

regmd.c(16) : fatal error C1001: Internal Compiler Error

(compiler file '@(#)regMD.c:1.117', line 292)

Contact Microsoft Technical Support

The error will occur if both of the following are true:

1. Intrinsic optimization is being performed.

2. Loop optimization AND alias checking relaxation are NOT being

performed.

No error will be generated if BOTH loop and alias relaxation

optimization are in effect. The program will also compile correctly if

the second dimension of the two-dimensional array of characters is

increased to 33 or more.

Microsoft has confirmed this to be a problem in C version 5.10. This

problem was corrected in C version 6.00.

Sample Code

-----------

#include <string.h>

#include <stdlib.h>

char i[10][32];

char n[128];

void main()

{

int k;

for( k = 0; k < 10; k++ )

{

strcat( strcpy( i[k], "foo" ),

itoa( k, n, 10 ) );

}

}