Q65331: /G1 Switch Does Not Work As Expected

Article: Q65331
Product(s): See article
Version(s): 6.00   | 6.00
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | buglist6.00 | mspl13_c
Last Modified: 24-OCT-1990

When viewing the .COD file generated by the C 6.00 compiler, the
compiler inserts a .286 and .287 processor specifier when using the
/G1 compiler option, which is supposed to produce .8087 processor
code. As a workaround, use the /G0 switch instead of the /G1 switch.

The C version 5.10 compiler correctly inserts .8087 instead of a .286
or .287 preprocessor specifier.

Sample Code
-----------

void main ()
{
  int a;

  a = 25;
}

The above code, compiled with the /G1 /Fc options, produces the
following .COD file:

;       Static Name Aliases
;
        TITLE   test.c
        .286p               ; Should be blank line
        .287                ; Should be .8087
INCLUDELIB      SLIBCE
_TEXT   SEGMENT  WORD PUBLIC 'CODE'
_TEXT   ENDS
_DATA   SEGMENT  WORD PUBLIC 'DATA'
_DATA   ENDS

Microsoft has confirmed this to be a problem with C version 6.00. We
are researching this problem and will post new information here as it
becomes available.