_far16 Generated by Mistake for Huge with /Zg

ID Number: Q66651

6.00 | 6.00

MS-DOS | OS/2

buglist6.00 fixlist6.00a

Summary:

If the /Zg switch is used with the Microsoft C version 6.00 compiler,

it will erroneously generate _far16 where huge is required.

Microsoft has confirmed this to be a problem with the C version 6.00

compiler. This problem has been corrected in the version 6.00a

maintenance release.

More Information:

The /Zg switch causes the compiler to generate prototypes for all the

functions in the module. If a function is declared as

char huge * foo( char huge *){}

the compiler will generate the following prototype:

char _far16 * foo (char _far16 *);

Upon subsequent compiling with the generated prototype, the compiler

will fail with various syntax errors because _far16 is an unknown

keyword.