C9109002: C1001: regMD.c, Line 1017

ID Number: Q76216

6.00 6.00a 6.00ax | 6.00 6.00a

MS-DOS | OS/2

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

Summary:

PROBLEM ID: C9109002

SYMPTOMS

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

following internal compiler error when the sample program below is

compiled for any memory model with /Oe (global register allocation)

optimization:

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

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

Contact Microsoft Product Support Services

RESOLUTION

This error may be eliminated with the following workarounds:

1. Compile with any optimization that does not include /Oe.

- or -

2. Compile with the /qc (quick compile) option.

- or -

3. Use #pragma optimize( "e", off) around the function that

produces the error.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft C

Compiler 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: /Oe

*/

void far *hmm( void far *, void far *, long);

void func(double far * a, long b, long c, long d)

{

double huge * e, huge * f;

long g;

e = (double huge *)a + d * c;

f = (double huge *)a + (d + 1l) * c;

g = c * (b - 1L - d) * sizeof(double);

hmm(e, f, g);

}

Additional reference words: _huge 6.00 6.00a 6.00ax