ID Number: Q65330
6.00 6.00a 6.00ax | 6.00 6.00a
MS-DOS | OS/2
buglist6.00 buglist6.00a buglist6.00ax
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 /Oe:
fatal error C1001: Internal Compiler Error
(compiler file '@(#)newcode.c:1.87', line 535)
Contact Microsoft Product Support Services
RESOLUTION
To work around this error, disable the /Oe optimization.
STATUS
Microsoft has confirmed this to be a problem in C versions 6.0, 6.0a,
and 6.0ax. We are researching this problem and will post new
information here as it becomes available.
More Information:
Sample Code
-----------
/* Compile options needed: /Oe
*/
#include <stdlib.h>
#pragma intrinsic (_rotl)
void _cdecl ink(unsigned row, int nlines, unsigned char _huge *buff)
{
_segment seg;
unsigned char _based(seg) *next_row;
union
{
unsigned char _based(seg) *ptr;
unsigned _based(seg) *iptr;
}p;
do
{
*p.ptr++ &= _rotl(*p.iptr,1) & *next_row++;
if ((int)p.ptr > 0xc000)
seg += 0xc000;
}while(1);
}
Additional reference words: 6.00 6.00a 6.00ax