ID Number: Q69289
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 error when the sample program below is
compiled with default optimization and compact (/AC), large (/AL),
or huge (/AH) memory model:
file.c(4) : fatal error C1001: Internal Compiler Error
(compiler file '@(#)exphelp.c:1.117', line 617)
Contact Microsoft Product Support Services
In addition to default optimization, this error also occurs when
using any one of the optimizations /Oi, /Oa, /Oc, /On, /Op, /Or,
/Os, /Ot, /Ow, or /Oz.
RESOLUTION
The following are three separate workarounds for this problem:
1. Compile without using default optimizations or any of the above
mentioned options.
2. Use the "optimize" pragma to disable optimizations for the
function that is producing the error.
3. Compile with the /qc (quick compile) option.
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: /AL
*/
void func(int *memoryPtr,unsigned long pageLow)
{
if ((*memoryPtr)>0)
pageLow=(unsigned long)memoryPtr>>28;
}
Additional reference words: 6.00 6.00a 6.00ax