Annotation of coherent/d/bin/cc/c/h/var.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * The function of the compiler may be modified by the high/low
        !             3:  *     setting of variant bits.
        !             4:  * This header file defines:
        !             5:  *     the machine independent variant bits,
        !             6:  *     the base of the machine dependent variant bits,
        !             7:  *     the maximum number of variant bits,
        !             8:  *     the typedef of the variant array,
        !             9:  *     and a macro to access the variant bits.
        !            10:  * The variants are passed to the compiler phases as a string of
        !            11:  *     hexidecimal digits.
        !            12:  */
        !            13: #ifndef        YATC
        !            14: #define YATC   0
        !            15: #endif
        !            16: #define VMBASE 32              /* Base of machine dependent variants */
        !            17: #define VMAXIM 48              /* Least non-inclusive upper bound */
        !            18: #define VGRANU 8               /* 8 bits per slot */
        !            19: #define isvariant(x)   ((variant[(x)/VGRANU]&(1<<((x)%VGRANU))) != 0)
        !            20: #define notvariant(x)  ((variant[(x)/VGRANU]&(1<<((x)%VGRANU))) == 0)
        !            21: #define setvariant(x)  (variant[(x)/VGRANU]|=(1<<((x)%VGRANU)))
        !            22: #define clrvariant(x)  (variant[(x)/VGRANU]&=~(1<<((x)%VGRANU)))
        !            23: #define chgvariant(x)  (variant[(x)/VGRANU]^=(1<<((x)%VGRANU)))
        !            24: typedef char VARIANT[VMAXIM/VGRANU];
        !            25: #if    !YATC
        !            26: extern VARIANT variant;
        !            27: #endif
        !            28: 
        !            29: /* Strict checking */
        !            30: #define        VSUREG  0               /* Unused registers */
        !            31: #define        VSUVAR  1               /* Unused variables */
        !            32: #define        VSNREG  2               /* Declared register but auto */
        !            33: #define        VSRTVC  3               /* Risky things in truth contexts */
        !            34: #define        VSMEMB  4               /* Strict member checking */
        !            35: #define        VSBOOK  5               /* Only things in K and R */
        !            36: #define        VSLCON  6               /* Long constants */
        !            37: #define VSPVAL 7               /* Pointer value truncated */
        !            38: #define VSCCON 8               /* Constant conditional */
        !            39: 
        !            40: #define        VSTAT   10              /* Statistics */
        !            41: #define VWIDEN 11              /* Widened parameter or function value */
        !            42: #define VPEEP  12              /* Enable peephole code */
        !            43: #define VCOMM  13              /* Permit .comm data items */
        !            44: #define VQUIET 14              /* No messages */
        !            45: #define        VPSTR   15              /* Strings are pure */
        !            46: #define        VROM    16              /* ROM code */
        !            47: #define        VASM    17              /* Output assembly code */
        !            48: 
        !            49: /* Debugging variants */
        !            50: #define        VLINES  18              /* Line # items */
        !            51: #define VTYPES 19              /* Type items */
        !            52: #define VDEBUG 20              /* Static and local symbols */
        !            53: #define VDSYMB 20              /* Preferred synonym for VDEBUG */
        !            54: #define VCALLS 21              /* Parameter types - UNIMPLEMENTED */
        !            55: #define        VLIB    22              /* Suppress typedefs in debug info */
        !            56: 
        !            57: #define        VPROF   23              /* Profile on */
        !            58: #define VALIEN 24              /* Allow calls to/from alien conventions */
        !            59: #define VSINU  25              /* Implement struct-in-union rules, not UCB 
        !            60:                                 * member resolution rules. */
        !            61: #define VNOOPT 26              /* Preserve code order in optimization */
        !            62: #define VCHASM 27              /* C style assembler */
        !            63: #define VCPPE  28              /* run cpp in -E mode */
        !            64: #define VCPP   29              /* run cpp */
        !            65: #define VTPROF 30              /* generate code table profiling */
        !            66: #define V3GRAPH 31             /* translate tri-graphs */

unix.superglobalmegacorp.com

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