Annotation of coherent/b/bin/c/h/var.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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