Annotation of gcl520h/compiler.h, revision 1.1.1.1

1.1       root        1: #ifndef _COMPILER_DOT_H
                      2: #define _COMPILER_DOT_H
                      3: 
                      4: /*
                      5:  * COMPILER.H      5.20A  June 8, 1995
                      6:  *
                      7:  * DESCRIPTION
                      8:  *
                      9:  * This is the header file used by library files to determine
                     10:  * compiler/model dependent information.  The compiler-dependent
                     11:  * information has in the past been found in a file called GF.H,
                     12:  * which also included a few macros, constants, and type definitions.
                     13:  *
                     14:  *  Copyright (C) 1991-1995 Greenleaf Software Inc.  All Rights Reserved.
                     15:  *
                     16:  * MODIFICATIONS
                     17:  *
                     18:  *  December 12, 1992        : Released with CommLib 4.0
                     19:  *  December 1, 1994   5.10A : The usual changes associated with a new release.
                     20:  *  December 13, 1994  5.10A : Added patch 5.00D to this project.
                     21:  *  June 8, 1995       5.20A : Added NT support for Watcom and Symantec
                     22:  *  June 23, 1995      5.20A : Added support for the GF_CON32 macro.  *All*
                     23:  *                             of our BUILD INI files set this explicitly,
                     24:  *                             but we pick up the definition a couple of
                     25:  *                             other ways for users.
                     26:  */
                     27: 
                     28: #ifndef GF_BLANK
                     29: #define GF_BLANK
                     30: #endif
                     31: 
                     32: #if defined(__TURBOC__) && !defined(__BORLANDC__)
                     33:   #if ( __TURBOC__ > 0x201 )
                     34:     #define GF_COMPILER_NAME "Turbo C++"
                     35:     #define GF_TURBO_CPP
                     36:     #define GF_COMPILER_VERSION __TURBOC__
                     37:     #define GF_CDECL cdecl
                     38:     #define GF_CONV GF_BLANK
                     39:     #define ANSI_PROTOTYPES
                     40:     #define GF_INTERRUPT interrupt
                     41:     #define GF_UNUSED_PARAMETER( a ) (void) a
                     42:     #define GF_FAR far
                     43:     #ifdef __SMALL__
                     44:     #endif
                     45:     #ifdef __MEDIUM__
                     46:         #define _LCODE 1
                     47:     #endif
                     48:     #ifdef __COMPACT__
                     49:         #define _LDATA 1
                     50:     #endif
                     51:     #ifdef __LARGE__
                     52:         #define _LCODE 1
                     53:         #define _LDATA 1
                     54:     #endif
                     55:     #ifdef __HUGE__
                     56:         #define _LCODE 1
                     57:         #define _LDATA 2
                     58:         #define _HUGE 1
                     59:     #endif
                     60:   #endif /* __TURBOC__ > 0x201 */
                     61: /* End of Turbo C++ */
                     62: 
                     63: #elif defined(__TURBOC__) && defined(__BORLANDC__)   /* Borland C++ */
                     64:     #define GF_COMPILER_NAME "Borland C++"
                     65:     #define GF_BORLAND_CPP
                     66:     #define GF_COMPILER_VERSION __BORLANDC__
                     67:     #if defined( __CONSOLE__ ) /* Borland turns this on with bcc32 -WC */
                     68:       #define GF_CON32
                     69:     #endif
                     70:     #if defined( _Windows ) && !defined( __DPMI32__ ) && !defined( __DPMI16__ ) && !defined( DOSX386 )
                     71:       #define GF_WINDOWS
                     72:       #if defined( VGFD_DLL ) || defined( GF_DLL )
                     73:         #if defined( __WIN32__ )
                     74:           #define GF_CONV __stdcall
                     75:           #define GF_CDECL _cdecl
                     76:           #define GF_DLL_FAR
                     77:         #else
                     78:           #define GF_CONV _far pascal
                     79:           #define GF_CDECL _far _cdecl
                     80:           #define GF_DLL_FAR _far
                     81:         #endif
                     82:       #else
                     83:         #define GF_CONV _cdecl
                     84:         #define GF_CDECL _cdecl
                     85:       #endif
                     86:     #else
                     87:       #if ( __BORLANDC__ >= 0x300 )
                     88:         #if defined( GF_DLL ) && defined( __WIN32__ )
                     89:           #define GF_CONV __stdcall
                     90:         #else
                     91:           #define GF_CONV _cdecl
                     92:         #endif
                     93:       #else
                     94:           #define GF_CONV GF_BLANK
                     95:       #endif
                     96:       #define GF_CDECL _cdecl
                     97:     #endif
                     98:     #ifdef VGFD
                     99:       #define GF_STANDARD
                    100:     #endif
                    101:     #define ANSI_PROTOTYPES
                    102:     #define GF_INTERRUPT interrupt
                    103:     #define GF_UNUSED_PARAMETER( a ) (void) a
                    104:     #if defined( __WIN32__ )
                    105:       #define GF_WIN32
                    106:       #define GF_FAR
                    107:     #else
                    108:       #define GF_FAR _far
                    109:     #endif
                    110:     #ifdef __SMALL__
                    111:     #endif
                    112:     #ifdef __MEDIUM__
                    113:         #define _LCODE 1
                    114:     #endif
                    115:     #ifdef __COMPACT__
                    116:         #define _LDATA 1
                    117:     #endif
                    118:     #ifdef __LARGE__
                    119:         #define _LCODE 1
                    120:         #define _LDATA 1
                    121:     #endif
                    122:     #ifdef __HUGE__
                    123:         #define _LCODE 1
                    124:         #define _LDATA 2
                    125:         #define _HUGE 1
                    126:     #endif
                    127: /* End of Borland C++ */
                    128: 
                    129: /* I think that just adding the loadds statement will make
                    130:    all my ASM routines work properly with Watcom C */
                    131: 
                    132: #elif defined(__WATCOMC__) && !defined(__386__)
                    133:     #include <stddef.h>
                    134:     #define GF_COMPILER_NAME "Watcom C"
                    135:     #define GF_WATCOM_C
                    136:     #define GF_COMPILER_VERSION 900
                    137:     #define ANSI_PROTOTYPES
                    138:     #define GF_INTERRUPT interrupt _cdecl
                    139:     #define GF_UNUSED_PARAMETER( a ) (void) a
                    140:     #define GF_FAR _far
                    141:     #ifdef __WINDOWS__
                    142:       #define GF_WINDOWS
                    143:       #if defined( VGFD_DLL ) || defined( GF_DLL )
                    144:         #define GF_DLL_FAR _far
                    145:         #define GF_CONV _far pascal
                    146:         #define GF_CDECL _far _cdecl
                    147:       #else
                    148:         #define GF_DLL_FAR
                    149:         #define GF_CONV _cdecl
                    150:         #define GF_CDECL _cdecl
                    151:       #endif
                    152:     #else /* Not windows */
                    153:       #define GF_CDECL _cdecl __loadds
                    154:       #define GF_CONV GF_BLANK
                    155:     #endif
                    156:     #ifdef M_I86SM
                    157:     #endif
                    158:     #ifdef M_I86MM
                    159:         #define _LCODE 1
                    160:     #endif
                    161:     #ifdef M_I86CM
                    162:         #define _LDATA 1
                    163:     #endif
                    164:     #ifdef M_I86LM
                    165:         #define _LCODE 1
                    166:         #define _LDATA 1
                    167:     #endif
                    168: /* End of Watcom C */
                    169: 
                    170: #elif defined(__WATCOMC__) && defined(__386__)
                    171:     #include <stddef.h>
                    172:     #define GF_COMPILER_NAME "Watcom C"
                    173:     #define GF_WATCOM_C_386
                    174:     #define GF_COMPILER_VERSION 950
                    175:     #define GF_CDECL _cdecl
                    176:     #define GF_CONV GF_BLANK
                    177:     #define ANSI_PROTOTYPES
                    178:     #define GF_INTERRUPT __interrupt
                    179:     #define GF_UNUSED_PARAMETER( a ) (void) a
                    180:     #if defined( __WINDOWS_386__ ) || defined( __NT__ )
                    181:       #define GF_WINDOWS
                    182:       #define GF_WIN32
                    183:       #define GF_FAR
                    184:     #else
                    185:       #define GF_FAR far
                    186:     #endif
                    187:     #ifdef M_I86SM
                    188:     #endif
                    189:     #ifdef M_I86MM
                    190:         #define _LCODE 1
                    191:     #endif
                    192:     #ifdef M_I86CM
                    193:         #define _LDATA 1
                    194:     #endif
                    195:     #ifdef M_I86LM
                    196:         #define _LCODE 1
                    197:         #define _LDATA 1
                    198:     #endif
                    199: /* End of Watcom C 386 */
                    200: 
                    201: #elif defined( __SC__ )  /* Symantec C/C++ */
                    202:     #define GF_COMPILER_NAME "Symantec C/C++"
                    203:     #define GF_SYMANTEC_CPP
                    204:     #define GF_COMPILER_VERSION __SC__
                    205:     #define ANSI_PROTOTYPES
                    206:     #define GF_INTERRUPT GF_BLANK
                    207:     #define GF_UNUSED_PARAMETER( a ) (void) a
                    208:     #if defined( __NT__ )
                    209:       #define GF_WIN32
                    210:       #define GF_FAR
                    211:     #else
                    212:       #define GF_FAR _far
                    213:     #endif
                    214:     #define INPUT( port )        inp( port )
                    215:     #define OUTPUT( port, data ) outp( port, data )
                    216:     #define CLI()                int_off()
                    217:     #define STI()                int_on()
                    218:     #ifdef _WINDOWS
                    219:       #define GF_WINDOWS
                    220:       #if (defined( VGFD_DLL ) || defined( GF_DLL )) && !defined( GF_WIN32 )
                    221:         #define GF_DLL_FAR _far
                    222:         #define GF_CONV _far pascal
                    223:         #define GF_CDECL _far cdecl
                    224:       #else
                    225:         #define GF_CONV cdecl
                    226:         #define GF_CDECL cdecl
                    227:       #endif
                    228:     #else
                    229:       #define GF_CONV GF_BLANK
                    230:       #define GF_CDECL cdecl
                    231:     #endif
                    232:     #ifdef VGFD
                    233:       #define GF_STANDARD
                    234:     #endif
                    235:     #ifdef M_I86SM
                    236:     #endif
                    237:     #ifdef __MEDIUM__
                    238:         #define _LCODE 1
                    239:     #endif
                    240:     #ifdef __COMPACT__
                    241:         #define _LDATA 1
                    242:     #endif
                    243:     #ifdef __LARGE__
                    244:         #define _LCODE 1
                    245:         #define _LDATA 1
                    246:     #endif
                    247:     #ifdef _VCM__
                    248:         #define _LCODE 1
                    249:         #define _LDATA 1
                    250:     #endif
                    251: /* End of Symantec C/C++ */
                    252: 
                    253: #elif defined( __ZTC__ )                  /* Zortech C/C++         */
                    254:     #define GF_COMPILER_NAME "Zortech C/C++"
                    255:     #define GF_ZORTECH_CPP
                    256:     #define GF_COMPILER_VERSION __ZTC__
                    257:     #define ANSI_PROTOTYPES
                    258:     #define GF_INTERRUPT GF_BLANK
                    259:     #define GF_UNUSED_PARAMETER( a ) (void) a
                    260:     #define GF_FAR _far
                    261:     #ifdef _WINDOWS
                    262:       #define GF_WINDOWS
                    263:       #if defined( VGFD_DLL ) || defined( GF_DLL )
                    264:         #define GF_DLL_FAR _far
                    265:         #define GF_CONV _far pascal
                    266:         #define GF_CDECL _far cdecl
                    267:       #else
                    268:         #define GF_CONV cdecl
                    269:         #define GF_CDECL cdecl
                    270:       #endif
                    271:     #else
                    272:       #define GF_CONV GF_BLANK
                    273:       #define GF_CDECL cdecl
                    274:     #endif
                    275:     #ifdef VGFD
                    276:       #define GF_STANDARD
                    277:     #endif
                    278:     #ifdef M_I86SM
                    279:     #endif
                    280:     #ifdef M_I86MM
                    281:         #define _LCODE 1
                    282:     #endif
                    283:     #ifdef M_I86CM
                    284:         #define _LDATA 1
                    285:     #endif
                    286:     #ifdef M_I86LM
                    287:         #define _LCODE 1
                    288:         #define _LDATA 1
                    289:     #endif
                    290:     #ifdef M_I86VM
                    291:         #define _LCODE 1
                    292:         #define _LDATA 1
                    293:     #endif
                    294: /* End of Zortech C/C++ */
                    295: 
                    296: #elif defined( __TSC__ )                        /* TopSpeed C */
                    297:     #define GF_COMPILER_NAME  "TopSpeed C"
                    298:     #define GF_TOPSPEED_C
                    299:     #define GF_COMPILER_VERSION __TSC__
                    300:     #define GF_CDECL cdecl
                    301:     #define GF_CONV GF_BLANK
                    302:     #define ANSI_PROTOTYPES
                    303:     #define GF_INTERRUPT interrupt
                    304:     #define GF_UNUSED_PARAMETER( a ) if ( a != a ) a = 0
                    305:     #define GF_FAR far
                    306:     #if defined( M_I86SM )
                    307:     #elif defined( M_I86MM )
                    308:         #define _LCODE 1
                    309:     #elif defined( M_I86CM )
                    310:         #define _LDATA 1
                    311:     #elif defined( M_I86LM )
                    312:         #define _LCODE 1
                    313:         #define _LDATA 1
                    314:     #elif defined( M_I86MTM )
                    315:         #define _LCODE 1
                    316:         #define _LDATA 1
                    317:     #elif defined( M_I86XM )
                    318:         #define _LCODE 1
                    319:         #define _LDATA 1
                    320:         #define _HUGE 1
                    321:     #else
                    322:         #error Unsupported Topspeed memory model!
                    323:     #endif
                    324: /* End of TopSpeed C/C++ */
                    325: 
                    326: #elif defined(M_I86) && defined(MSDOS)
                    327:     #define GF_COMPILER_NAME "Microsoft C"
                    328:     #define GF_MICROSOFT_C
                    329:     #if defined( _CONSOLE ) /* MSC 32 bit environment sets this for Console apps */
                    330:       #define GF_CON32
                    331:     #endif
                    332: /*
                    333:  * MSC generates a warning message on GF_ASSERT when compiling in
                    334:  * release mode.  This turns it off.
                    335:  *
                    336:  * MSC 8.0 generates a warning message when it uses a precompiled header!
                    337:  * I have to turn this off.
                    338:  */
                    339:     #if ( _MSC_VER >= 800 )
                    340:       #pragma warning( disable : 4705 )
                    341:       #pragma warning( disable : 4699 )
                    342:     #endif
                    343:     #if ( _MSC_VER >= 600 )
                    344:         #define GF_COMPILER_VERSION _MSC_VER
                    345: 
                    346:         #ifdef _WINDOWS
                    347:           #define GF_WINDOWS
                    348:           #if defined( VGFD_DLL ) || defined( GF_DLL )
                    349:             #define GF_DLL_FAR _far
                    350:             #define GF_CONV _far pascal
                    351:             #define GF_CDECL _far _cdecl
                    352:           #else
                    353:             #define GF_CONV _cdecl
                    354:             #define GF_CDECL _cdecl
                    355:           #endif
                    356:         #else
                    357:           #define GF_CONV  _fastcall
                    358:           #define GF_CDECL _cdecl
                    359:         #endif
                    360:         #ifdef VGFD
                    361:           #define GF_STANDARD
                    362:         #endif
                    363:         #define ANSI_PROTOTYPES
                    364:         #define GF_INTERRUPT interrupt far
                    365:         #define GF_UNUSED_PARAMETER( a )   (a = a)
                    366:         #define GF_FAR _far
                    367:     #endif
                    368:     #if defined( M_I86SM )
                    369:     #elif defined( M_I86MM )
                    370:         #define _LCODE 1
                    371:     #elif defined( M_I86CM )
                    372:         #define _LDATA 1
                    373:     #elif defined( M_I86LM )
                    374:         #define _LCODE 1
                    375:         #define _LDATA 1
                    376:     #else
                    377:     #error Unsupported Microsoft C memory model!
                    378:     #endif
                    379: #elif defined( _M_IX86 )
                    380:     #define GF_COMPILER_NAME "Visual C++ 32-bit"
                    381:     #define GF_VISUAL_CPP
                    382:     #if ( _MSC_VER >= 800 )
                    383:         #define GF_COMPILER_VERSION _MSC_VER
                    384:         #ifdef _WINDOWS
                    385:           #define GF_WINDOWS
                    386:         #endif
                    387:         #if defined( GF_DLL )
                    388:           #define GF_DLL_FAR
                    389:           #define GF_CONV
                    390:           #define GF_CDECL _cdecl
                    391:         #else
                    392:           #define GF_CONV _fastcall
                    393:           #define GF_CDECL _cdecl
                    394:         #endif
                    395:         #if defined( _WIN32 )
                    396:           #define GF_WIN32
                    397:           #if !defined( WIN32 )
                    398:             #define WIN32
                    399:           #endif
                    400:         #endif
                    401:         #define ANSI_PROTOTYPES
                    402:         #define GF_INTERRUPT
                    403:         #define GF_UNUSED_PARAMETER( a )   (a = a)
                    404:         #define GF_FAR
                    405:         #define _LCODE  0
                    406:         #define _LDATA  0
                    407:         #define _HUGE   0
                    408:     #endif
                    409: #endif                                           /* Microsoft C           */
                    410: 
                    411: #ifndef GF_COMPILER_NAME
                    412: #error This is an unknown compiler!
                    413: #endif
                    414: #ifndef GF_DLL_FAR
                    415: #define GF_DLL_FAR
                    416: #endif
                    417: 
                    418: #endif  /* #ifdef _COMPILER_DOT_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.