blob: 738018ba73757d1b8f9f8b5fdd56a453bc8864ef [file] [log] [blame]
Jan Beulich6299fee2009-12-05 20:20:50 +00001/* ANSI-C code produced by gperf version 3.0.4 */
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -04002/* Command-line: gperf -t --output-file scripts/genksyms/keywords.hash.c_shipped -a -C -E -g -k '1,3,$' -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
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -040031#line 4 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +010032
Josh Tripletted9df092009-10-15 12:58:40 -070033struct resword;
34static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -040035#line 8 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -070036struct resword { const char *name; int token; };
Jan Beulichdc533242014-04-03 14:46:37 -070037/* maximum key range = 98, 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 {
Jan Beulichdc533242014-04-03 14:46:37 -070051 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
52 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
53 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
54 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
55 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
56 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
57 101, 101, 101, 101, 101, 101, 101, 101, 101, 0,
58 101, 101, 101, 101, 101, 101, 15, 101, 101, 101,
59 0, 101, 101, 101, 101, 101, 101, 101, 101, 101,
Michal Marek7e441fe2016-11-29 15:57:40 +010060 101, 101, 101, 101, 101, 0, 101, 0, 0, 5,
Jan Beulichdc533242014-04-03 14:46:37 -070061 25, 20, 55, 30, 101, 15, 101, 101, 10, 0,
62 10, 40, 10, 101, 10, 5, 0, 10, 15, 101,
63 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
64 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
65 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
66 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
67 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
68 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
69 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
70 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
71 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
72 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
73 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
74 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
75 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
76 101, 101, 101, 101, 101, 101
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
Jan Beulich6299fee2009-12-05 20:20:50 +000083#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
Josh Tripletted9df092009-10-15 12:58:40 -070084__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 {
Michal Marek7e441fe2016-11-29 15:57:40 +010092 TOTAL_KEYWORDS = 47,
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,
Jan Beulichdc533242014-04-03 14:46:37 -070096 MAX_HASH_VALUE = 100
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 };
98
99 static const struct resword wordlist[] =
100 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {""}, {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100102#line 36 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100103 {"asm", ASM_KEYW},
104 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400105#line 15 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100106 {"__asm", ASM_KEYW},
107 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400108#line 16 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 {"__asm__", ASM_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200110 {""}, {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700111#line 27 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200113 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400114#line 19 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000115 {"__const", CONST_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400116#line 18 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000117 {"__attribute__", ATTRIBUTE_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400118#line 20 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000119 {"__const__", CONST_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400120#line 25 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000121 {"__signed__", SIGNED_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700122#line 54 "scripts/genksyms/keywords.gperf"
Michal Marek7e441fe2016-11-29 15:57:40 +0100123 {"static", STATIC_KEYW},
124#line 30 "scripts/genksyms/keywords.gperf"
125 {"__builtin_va_list", VA_LIST_KEYW},
126#line 49 "scripts/genksyms/keywords.gperf"
127 {"int", INT_KEYW},
128#line 42 "scripts/genksyms/keywords.gperf"
129 {"char", CHAR_KEYW},
130#line 43 "scripts/genksyms/keywords.gperf"
131 {"const", CONST_KEYW},
132#line 55 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000133 {"struct", STRUCT_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700134#line 34 "scripts/genksyms/keywords.gperf"
Michal Marek7e441fe2016-11-29 15:57:40 +0100135 {"__restrict__", RESTRICT_KEYW},
136#line 35 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000137 {"restrict", RESTRICT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400138#line 12 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100139 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400140#line 23 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000141 {"__inline__", INLINE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100142 {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700143#line 29 "scripts/genksyms/keywords.gperf"
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400144 {"__volatile__", VOLATILE_KEYW},
145#line 10 "scripts/genksyms/keywords.gperf"
146 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100147#line 33 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000148 {"_restrict", RESTRICT_KEYW},
149 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400150#line 17 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000151 {"__attribute", ATTRIBUTE_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400152#line 11 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000153 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400154#line 21 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000155 {"__extension__", EXTENSION_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100156#line 45 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000157 {"enum", ENUM_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400158#line 13 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000159 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100160#line 46 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000161 {"extern", EXTERN_KEYW},
162 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400163#line 24 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000164 {"__signed", SIGNED_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400165#line 14 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000166 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100167#line 58 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000168 {"union", UNION_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700169 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400170#line 22 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000171 {"__inline", INLINE_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100172#line 41 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000173 {"auto", AUTO_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700174#line 28 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000175 {"__volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100176 {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100177#line 59 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000178 {"unsigned", UNSIGNED_KEYW},
179 {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100180#line 52 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000181 {"short", SHORT_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100182#line 48 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000183 {"inline", INLINE_KEYW},
184 {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100185#line 61 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000186 {"volatile", VOLATILE_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100187#line 50 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000188 {"long", LONG_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100189#line 32 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000190 {"_Bool", BOOL_KEYW},
191 {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100192#line 51 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700193 {"register", REGISTER_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100194#line 60 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700195 {"void", VOID_KEYW},
196 {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100197#line 44 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700198 {"double", DOUBLE_KEYW},
199 {""},
200#line 26 "scripts/genksyms/keywords.gperf"
201 {"__typeof", TYPEOF_KEYW},
202 {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100203#line 53 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700204 {"signed", SIGNED_KEYW},
205 {""}, {""}, {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100206#line 57 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700207 {"typeof", TYPEOF_KEYW},
Michal Marek7e441fe2016-11-29 15:57:40 +0100208#line 56 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700209 {"typedef", TYPEDEF_KEYW},
210 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
211 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
212 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
Michal Marek7e441fe2016-11-29 15:57:40 +0100213#line 47 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700214 {"float", FLOAT_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215 };
216
217 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
218 {
219 register int key = is_reserved_hash (str, len);
220
221 if (key <= MAX_HASH_VALUE && key >= 0)
222 {
223 register const char *s = wordlist[key].name;
224
225 if (*str == *s && !strcmp (str + 1, s + 1))
226 return &wordlist[key];
227 }
228 }
229 return 0;
230}