blob: e9452482e198c786074e4572b24cb68e85c7975f [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,
60 101, 101, 101, 101, 101, 0, 101, 0, 101, 5,
61 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 {
Jan Beulichdc533242014-04-03 14:46:37 -070092 TOTAL_KEYWORDS = 46,
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 {""}, {""}, {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700102#line 35 "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 53 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000123 {"static", STATIC_KEYW},
Jan Beulich9bb48242008-12-16 11:30:08 +0000124 {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700125#line 48 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000126 {"int", INT_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700127#line 41 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000128 {"char", CHAR_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700129#line 42 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000130 {"const", CONST_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700131#line 54 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000132 {"struct", STRUCT_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700133#line 33 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000134 {"__restrict__", RESTRICT_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700135#line 34 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000136 {"restrict", RESTRICT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400137#line 12 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100138 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400139#line 23 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000140 {"__inline__", INLINE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100141 {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700142#line 29 "scripts/genksyms/keywords.gperf"
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400143 {"__volatile__", VOLATILE_KEYW},
144#line 10 "scripts/genksyms/keywords.gperf"
145 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700146#line 32 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000147 {"_restrict", RESTRICT_KEYW},
148 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400149#line 17 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000150 {"__attribute", ATTRIBUTE_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400151#line 11 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000152 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400153#line 21 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000154 {"__extension__", EXTENSION_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700155#line 44 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000156 {"enum", ENUM_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400157#line 13 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000158 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700159#line 45 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000160 {"extern", EXTERN_KEYW},
161 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400162#line 24 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000163 {"__signed", SIGNED_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400164#line 14 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000165 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700166#line 57 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000167 {"union", UNION_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700168 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400169#line 22 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000170 {"__inline", INLINE_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700171#line 40 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000172 {"auto", AUTO_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700173#line 28 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000174 {"__volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100175 {""}, {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700176#line 58 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000177 {"unsigned", UNSIGNED_KEYW},
178 {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700179#line 51 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000180 {"short", SHORT_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700181#line 47 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000182 {"inline", INLINE_KEYW},
183 {""},
Jan Beulichdc533242014-04-03 14:46:37 -0700184#line 60 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000185 {"volatile", VOLATILE_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700186#line 49 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000187 {"long", LONG_KEYW},
Jan Beulichdc533242014-04-03 14:46:37 -0700188#line 31 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000189 {"_Bool", BOOL_KEYW},
190 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400191#line 50 "scripts/genksyms/keywords.gperf"
Jan Beulichdc533242014-04-03 14:46:37 -0700192 {"register", REGISTER_KEYW},
193#line 59 "scripts/genksyms/keywords.gperf"
194 {"void", VOID_KEYW},
195 {""},
196#line 43 "scripts/genksyms/keywords.gperf"
197 {"double", DOUBLE_KEYW},
198 {""},
199#line 26 "scripts/genksyms/keywords.gperf"
200 {"__typeof", TYPEOF_KEYW},
201 {""}, {""},
202#line 52 "scripts/genksyms/keywords.gperf"
203 {"signed", SIGNED_KEYW},
204 {""}, {""}, {""}, {""},
205#line 56 "scripts/genksyms/keywords.gperf"
206 {"typeof", TYPEOF_KEYW},
207#line 55 "scripts/genksyms/keywords.gperf"
208 {"typedef", TYPEDEF_KEYW},
209 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
210 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
211 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
212#line 46 "scripts/genksyms/keywords.gperf"
213 {"float", FLOAT_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214 };
215
216 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
217 {
218 register int key = is_reserved_hash (str, len);
219
220 if (key <= MAX_HASH_VALUE && key >= 0)
221 {
222 register const char *s = wordlist[key].name;
223
224 if (*str == *s && !strcmp (str + 1, s + 1))
225 return &wordlist[key];
226 }
227 }
228 return 0;
229}