blob: 287467a2e8c7afe3334105e6adf61afbe75a87cb [file] [log] [blame]
Josh Tripletted9df092009-10-15 12:58:40 -07001/* ANSI-C code produced by gperf version 3.0.3 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
Sam Ravnborgc40f5642005-12-26 22:53:25 +01003
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27/* The character set is not based on ISO-646. */
28#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29#endif
30
31#line 1 "scripts/genksyms/keywords.gperf"
32
Josh Tripletted9df092009-10-15 12:58:40 -070033struct resword;
34static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
35#line 5 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -070036struct resword { const char *name; int token; };
Sam Ravnborg2ea03892009-01-14 21:38:20 +010037/* maximum key range = 62, duplicates = 0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
39#ifdef __GNUC__
40__inline
41#else
42#ifdef __cplusplus
43inline
44#endif
45#endif
46static unsigned int
47is_reserved_hash (register const char *str, register unsigned int len)
48{
49 static const unsigned char asso_values[] =
50 {
Sam Ravnborg2ea03892009-01-14 21:38:20 +010051 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
52 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
53 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
54 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
55 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
56 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
57 65, 65, 65, 65, 65, 65, 65, 65, 65, 5,
58 65, 65, 65, 65, 65, 65, 35, 65, 65, 65,
59 0, 65, 65, 65, 65, 65, 65, 65, 65, 65,
60 65, 65, 65, 65, 65, 0, 65, 0, 65, 5,
61 20, 15, 10, 30, 65, 15, 65, 65, 20, 0,
62 10, 35, 20, 65, 10, 5, 0, 10, 5, 65,
63 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
64 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
66 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
67 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
68 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
69 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
70 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
71 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
72 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
73 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
74 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
75 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
76 65, 65, 65, 65, 65, 65
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 };
78 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
79}
80
81#ifdef __GNUC__
82__inline
Josh Tripletted9df092009-10-15 12:58:40 -070083#ifdef __GNUC_STDC_INLINE__
84__attribute__ ((__gnu_inline__))
85#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070086#endif
87const struct resword *
88is_reserved_word (register const char *str, register unsigned int len)
89{
90 enum
91 {
Sam Ravnborg2ea03892009-01-14 21:38:20 +010092 TOTAL_KEYWORDS = 43,
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 MIN_WORD_LENGTH = 3,
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -080094 MAX_WORD_LENGTH = 24,
Sam Ravnborgc40f5642005-12-26 22:53:25 +010095 MIN_HASH_VALUE = 3,
Sam Ravnborg2ea03892009-01-14 21:38:20 +010096 MAX_HASH_VALUE = 64
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 };
98
99 static const struct resword wordlist[] =
100 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {""}, {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700102#line 28 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100103 {"asm", ASM_KEYW},
104 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700105#line 10 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100106 {"__asm", ASM_KEYW},
107 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700108#line 11 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 {"__asm__", ASM_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200110 {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700111#line 54 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200113 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700114#line 14 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100115 {"__const", CONST_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100116#line 13 "scripts/genksyms/keywords.gperf"
Josh Tripletted9df092009-10-15 12:58:40 -0700117 {"__attribute__", ATTRIBUTE_KEYW},
118#line 15 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100119 {"__const__", CONST_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100120#line 20 "scripts/genksyms/keywords.gperf"
Josh Tripletted9df092009-10-15 12:58:40 -0700121 {"__signed__", SIGNED_KEYW},
122#line 46 "scripts/genksyms/keywords.gperf"
123 {"static", STATIC_KEYW},
124#line 22 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100125 {"__volatile__", VOLATILE_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700126#line 41 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100127 {"int", INT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700128#line 34 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100129 {"char", CHAR_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700130#line 35 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100131 {"const", CONST_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700132#line 47 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100133 {"struct", STRUCT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700134#line 26 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100135 {"__restrict__", RESTRICT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700136#line 27 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100137 {"restrict", RESTRICT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700138#line 25 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100139 {"_restrict", RESTRICT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700140#line 18 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100141 {"__inline__", INLINE_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700142#line 12 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100143 {"__attribute", ATTRIBUTE_KEYW},
144 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700145#line 16 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000146 {"__extension__", EXTENSION_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700147#line 37 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000148 {"enum", ENUM_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700149#line 21 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100150 {"__volatile", VOLATILE_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700151#line 38 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000152 {"extern", EXTERN_KEYW},
153 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700154#line 19 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100155 {"__signed", SIGNED_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700156#line 9 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100157 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
158 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700159#line 53 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100160 {"typeof", TYPEOF_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700161#line 48 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100162 {"typedef", TYPEDEF_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700163#line 17 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000164 {"__inline", INLINE_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700165#line 33 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000166 {"auto", AUTO_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700167#line 49 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100168 {"union", UNION_KEYW},
169 {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700170#line 50 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100171 {"unsigned", UNSIGNED_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700172#line 51 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100173 {"void", VOID_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700174#line 44 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100175 {"short", SHORT_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200176 {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700177#line 52 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000178 {"volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100179 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700180#line 39 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000181 {"float", FLOAT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700182#line 36 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000183 {"double", DOUBLE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100184 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700185#line 7 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100186 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
187 {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700188#line 40 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100189 {"inline", INLINE_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700190#line 8 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100191 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700192#line 43 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100193 {"register", REGISTER_KEYW},
194 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700195#line 24 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100196 {"_Bool", BOOL_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700197#line 45 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100198 {"signed", SIGNED_KEYW},
199 {""}, {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700200#line 42 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100201 {"long", LONG_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 };
203
204 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
205 {
206 register int key = is_reserved_hash (str, len);
207
208 if (key <= MAX_HASH_VALUE && key >= 0)
209 {
210 register const char *s = wordlist[key].name;
211
212 if (*str == *s && !strcmp (str + 1, s + 1))
213 return &wordlist[key];
214 }
215 }
216 return 0;
217}