ID Number: Q82282
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: C9203004
SYMPTOMS
Microsoft C versions 6.0, 6.0a, and 6.0ax generate an internal
compiler error when the sample code below is compiled with
optimizations disabled (/Od).
With C 6.0a and C 6.0ax the following error is produced:
file.c(19) : fatal error C1001: Internal Compiler Error
(compiler file '@(#)main.c:1.177', line 807)
Contact Microsoft Product Support Services
With C 6.0, the following error is generated:
file.c(19) : fatal error C1001: Internal Compiler Error
(compiler file '@(#)main.c:1.176', line 807)
Contact Microsoft Product Support Services
RESOLUTION
To avoid this problem, do one of the following:
1. Enable any optimizations. This can be done on the command line
or by using a pragma to control the optimization for specific
blocks of code.
-or-
2. Compile using the quick compile (/qc) option.
STATUS
Microsoft has confirmed this to be a problem in Microsoft C
versions 6.0, 6.0a, and 6.0ax. This problem was corrected in
Microsoft C/C++ version 7.0.
More Information:
Sample Code
-----------
/* Compile options needed: /Od
*/
void _far Terminate( void );
struct termination{
char mov_ax;
int data;
int int21h;
} kill = { 0x0B8, 0x4C00, 0x0CD21 };
void _far Terminate( void ) {
_asm {
mov bx, bp
mov [bx+2], SEG kill
mov [bx+4], OFFSET kill
}
}
Additional reference words: 6.00 6.00a 6.00ax