C9112004: C1001: newcode.c, Line 650

ID Number: Q79153

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: C9112004

SYMPTOMS

The Microsoft C Compiler versions 6.0, 6.0a, and 6.0ax, may produce

the following error messages when the sample program below is

compiled if the keyword ptr is missing in an inline assembly

statement.

file.c(5) : warning C4403: illegal PTR operator

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

(compiler file '@(#)newcode.c:1.89', line 650)

Contact Microsoft Product Support Services

CAUSE

The intended statement has the form:

jmp far ptr <label>

RESOLUTION

To eliminate the C4403 warning and the C1001 error, correct the

inline assembly statement by placing ptr after the far and

before the label.

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 version 7.0.

More Information:

Sample Code

-----------

/* Compile options needed: none

*/

void ( _interrupt far *func )( );

void _interrupt far routine( void )

{

_asm jmp far func

}

Additional reference words: 6.00 6.00a 6.00ax