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 ) );
}
}