Annotation of gcc/cp-hash.h, revision 1.1

1.1     ! root        1: /* C code produced by gperf version 2.5 (GNU C++ version) */
        !             2: /* Command-line: gperf -p -j1 -g -o -t -N is_reserved_word -k1,4,7,$ ./gplus.gperf  */
        !             3: /* Command-line: gperf -p -j1 -g -o -t -N is_reserved_word -k1,4,$ gplus.gperf  */
        !             4: struct resword { char *name; short token; enum rid rid;};
        !             5: 
        !             6: #define TOTAL_KEYWORDS 79
        !             7: #define MIN_WORD_LENGTH 2
        !             8: #define MAX_WORD_LENGTH 13
        !             9: #define MIN_HASH_VALUE 4
        !            10: #define MAX_HASH_VALUE 183
        !            11: /* maximum key range = 180, duplicates = 0 */
        !            12: 
        !            13: #ifdef __GNUC__
        !            14: inline
        !            15: #endif
        !            16: static unsigned int
        !            17: hash (str, len)
        !            18:      register char *str;
        !            19:      register int unsigned len;
        !            20: {
        !            21:   static unsigned char asso_values[] =
        !            22:     {
        !            23:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            24:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            25:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            26:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            27:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            28:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            29:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            30:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            31:      184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
        !            32:      184, 184, 184, 184, 184,   0, 184,  22,   2,  61,
        !            33:       32,   0,  14,  25,  16,  47, 184,   3,   2,   4,
        !            34:       35,   1,  26, 184,  38,   0,   4,  20,   4,  39,
        !            35:      184,  11, 184, 184, 184, 184, 184, 184,
        !            36:     };
        !            37:   register int hval = len;
        !            38: 
        !            39:   switch (hval)
        !            40:     {
        !            41:       default:
        !            42:       case 7:
        !            43:         hval += asso_values[str[6]];
        !            44:       case 6:
        !            45:       case 5:
        !            46:       case 4:
        !            47:         hval += asso_values[str[3]];
        !            48:       case 3:
        !            49:       case 2:
        !            50:       case 1:
        !            51:         hval += asso_values[str[0]];
        !            52:     }
        !            53:   return hval + asso_values[str[len - 1]];
        !            54: }
        !            55: 
        !            56: #ifdef __GNUC__
        !            57: inline
        !            58: #endif
        !            59: struct resword *
        !            60: is_reserved_word (str, len)
        !            61:      register char *str;
        !            62:      register unsigned int len;
        !            63: {
        !            64:   static struct resword wordlist[] =
        !            65:     {
        !            66:       {"",}, {"",}, {"",}, {"",}, 
        !            67:       {"else",  ELSE, NORID,},
        !            68:       {"",}, {"",}, 
        !            69:       {"__asm__",  ASM, NORID},
        !            70:       {"this",  THIS, NORID,},
        !            71:       {"__asm",  ASM, NORID},
        !            72:       {"except",  EXCEPT, NORID                /* Extension */,},
        !            73:       {"__headof__",  HEADOF, NORID},
        !            74:       {"enum",  ENUM, NORID,},
        !            75:       {"__classof__",  CLASSOF, NORID},
        !            76:       {"__const__",  TYPE_QUAL, RID_CONST},
        !            77:       {"__volatile",  TYPE_QUAL, RID_VOLATILE},
        !            78:       {"__const",  TYPE_QUAL, RID_CONST},
        !            79:       {"__volatile__",  TYPE_QUAL, RID_VOLATILE},
        !            80:       {"try",  TRY, NORID                      /* Extension */,},
        !            81:       {"virtual",  SCSPEC, RID_VIRTUAL,},
        !            82:       {"sizeof",  SIZEOF, NORID,},
        !            83:       {"",}, 
        !            84:       {"__typeof__",  TYPEOF, NORID},
        !            85:       {"__headof",  HEADOF, NORID},
        !            86:       {"typeof",  TYPEOF, NORID,},
        !            87:       {"__classof",  CLASSOF, NORID},
        !            88:       {"switch",  SWITCH, NORID,},
        !            89:       {"all",  ALL, NORID                      /* Extension */,},
        !            90:       {"auto",  SCSPEC, RID_AUTO,},
        !            91:       {"asm",  ASM, NORID,},
        !            92:       {"struct",  AGGR, RID_RECORD,},
        !            93:       {"goto",  GOTO, NORID,},
        !            94:       {"break",  BREAK, NORID,},
        !            95:       {"",}, 
        !            96:       {"__typeof",  TYPEOF, NORID},
        !            97:       {"do",  DO, NORID,},
        !            98:       {"volatile",  TYPE_QUAL, RID_VOLATILE,},
        !            99:       {"private",  VISSPEC, RID_PRIVATE,},
        !           100:       {"delete",  DELETE, NORID,},
        !           101:       {"typedef",  SCSPEC, RID_TYPEDEF,},
        !           102:       {"double",  TYPESPEC, RID_DOUBLE,},
        !           103:       {"extern",  SCSPEC, RID_EXTERN,},
        !           104:       {"template",  TEMPLATE, NORID,},
        !           105:       {"raise",  RAISE, NORID          /* Extension */,},
        !           106:       {"raises",  RAISES, NORID                /* Extension */,},
        !           107:       {"float",  TYPESPEC, RID_FLOAT,},
        !           108:       {"while",  WHILE, NORID,},
        !           109:       {"short",  TYPESPEC, RID_SHORT,},
        !           110:       {"__alignof__",  ALIGNOF, NORID},
        !           111:       {"throw",  THROW, NORID          /* Extension */,},
        !           112:       {"",}, {"",}, 
        !           113:       {"friend",  SCSPEC, RID_FRIEND,},
        !           114:       {"",}, 
        !           115:       {"int",  TYPESPEC, RID_INT,},
        !           116:       {"for",  FOR, NORID,},
        !           117:       {"long",  TYPESPEC, RID_LONG,},
        !           118:       {"__signed__",  TYPESPEC, RID_SIGNED},
        !           119:       {"",}, {"",}, 
        !           120:       {"__alignof",  ALIGNOF, NORID},
        !           121:       {"union",  AGGR, RID_UNION,},
        !           122:       {"__attribute",  ATTRIBUTE, NORID},
        !           123:       {"if",  IF, NORID,},
        !           124:       {"__attribute__",  ATTRIBUTE, NORID},
        !           125:       {"case",  CASE, NORID,},
        !           126:       {"class",  AGGR, RID_CLASS,},
        !           127:       {"reraise",  RERAISE, NORID              /* Extension */,},
        !           128:       {"headof",  HEADOF, NORID,},
        !           129:       {"default",  DEFAULT, NORID,},
        !           130:       {"const",  TYPE_QUAL, RID_CONST,},
        !           131:       {"static",  SCSPEC, RID_STATIC,},
        !           132:       {"void",  TYPESPEC, RID_VOID,},
        !           133:       {"signed",  TYPESPEC, RID_SIGNED,},
        !           134:       {"",}, 
        !           135:       {"protected",  VISSPEC, RID_PROTECTED,},
        !           136:       {"",}, 
        !           137:       {"new",  NEW, NORID,},
        !           138:       {"__inline",  SCSPEC, RID_INLINE},
        !           139:       {"",}, 
        !           140:       {"__inline__",  SCSPEC, RID_INLINE},
        !           141:       {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           142:       {"operator",  OPERATOR, NORID,},
        !           143:       {"__signed",  TYPESPEC, RID_SIGNED},
        !           144:       {"",}, {"",}, {"",}, 
        !           145:       {"exception",  AGGR, RID_EXCEPTION       /* Extension */,},
        !           146:       {"",}, 
        !           147:       {"continue",  CONTINUE, NORID,},
        !           148:       {"",}, 
        !           149:       {"public",  VISSPEC, RID_PUBLIC,},
        !           150:       {"classof",  CLASSOF, NORID,},
        !           151:       {"",}, {"",}, 
        !           152:       {"return",  RETURN, NORID,},
        !           153:       {"inline",  SCSPEC, RID_INLINE,},
        !           154:       {"overload",  OVERLOAD, NORID,},
        !           155:       {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           156:       {"unsigned",  TYPESPEC, RID_UNSIGNED,},
        !           157:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           158:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           159:       {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           160:       {"register",  SCSPEC, RID_REGISTER,},
        !           161:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           162:       {"char",  TYPESPEC, RID_CHAR,},
        !           163:       {"",}, 
        !           164:       {"catch",  CATCH, NORID,},
        !           165:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           166:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           167:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           168:       {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, 
        !           169:       {"",}, {"",}, {"",}, {"dynamic",  DYNAMIC, NORID,},
        !           170:     };
        !           171: 
        !           172:   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
        !           173:     {
        !           174:       register int key = hash (str, len);
        !           175: 
        !           176:       if (key <= MAX_HASH_VALUE && key >= 0)
        !           177:         {
        !           178:           register char *s = wordlist[key].name;
        !           179: 
        !           180:           if (*s == *str && !strcmp (str + 1, s + 1))
        !           181:             return &wordlist[key];
        !           182:         }
        !           183:     }
        !           184:   return 0;
        !           185: }

unix.superglobalmegacorp.com

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