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