C9102000: C1001: regMD.c, Lines 3881 and 3837

ID Number: Q69224

6.00 6.00a 6.00ax | 6.00 6.00a

MS-DOS | OS/2

buglist6.00 buglist6.00a buglist6.00ax fixlist7.00

Summary:

SYMPTOMS

The Microsoft C Compiler versions 6.0, 6.0a, and 6.0ax produce the

following internal compiler errors when the sample program below is

compiled with intrinsic optimization (/Oi):

With C 6.0a and 6.0ax

---------------------

file.c(11) : fatal error C1001: Internal Compiler Error

(compiler file '@(#)regMD.c:1.110', line 3881)

Contact Microsoft Product Support Services

With C 6.0

----------

file.c(11) : fatal error C1001: Internal Compiler Error

(compiler file '@(#)regMD.c:1.110', line 3837)

Contact Microsoft Product Support Services

CAUSE

The problem is related to the intrinsic version of strlen().

RESOLUTION

Using the function version of strlen() eliminates the problem.

STATUS

Microsoft has confirmed this to be a problem in C versions 6.0,

6.0a, and 6.0ax. This problem was corrected in C/C++ version 7.0.

More Information:

Sample Code

-----------

/* Compile options needed: /Oi

*/

#include <stdio.h>

void main(void)

{

char * string;

int j;

j = 8 * (strlen(string) + 1);

}

Additional reference words: 6.00 6.00a 6.00ax