blob: 82062607e8c05a2d0b51aac33d2d4639ab8f4b30 [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 Beulich6299fee2009-12-05 20:20:50 +000037/* maximum key range = 64, 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 Beulich6299fee2009-12-05 20:20:50 +000051 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
52 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
53 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
54 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
55 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
56 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
57 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
58 67, 67, 67, 67, 67, 67, 15, 67, 67, 67,
59 0, 67, 67, 67, 67, 67, 67, 67, 67, 67,
60 67, 67, 67, 67, 67, 0, 67, 0, 67, 5,
61 25, 20, 15, 30, 67, 15, 67, 67, 10, 0,
62 10, 40, 20, 67, 10, 5, 0, 10, 15, 67,
63 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
64 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
65 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
66 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
67 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
68 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
69 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
70 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
71 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
72 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
73 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
74 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
75 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
76 67, 67, 67, 67, 67, 67
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 Beulich6299fee2009-12-05 20:20:50 +000092 TOTAL_KEYWORDS = 45,
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 Beulich6299fee2009-12-05 20:20:50 +000096 MAX_HASH_VALUE = 66
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 };
98
99 static const struct resword wordlist[] =
100 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {""}, {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400102#line 33 "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 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400111#line 59 "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},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400122#line 51 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000123 {"static", STATIC_KEYW},
Jan Beulich9bb48242008-12-16 11:30:08 +0000124 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400125#line 46 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000126 {"int", INT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400127#line 39 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000128 {"char", CHAR_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400129#line 40 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000130 {"const", CONST_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400131#line 52 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000132 {"struct", STRUCT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400133#line 31 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000134 {"__restrict__", RESTRICT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400135#line 32 "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 Beulich6299fee2009-12-05 20:20:50 +0000142#line 27 "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},
146#line 30 "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},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400155#line 42 "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},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400159#line 43 "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},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400166#line 54 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000167 {"union", UNION_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400168#line 58 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000169 {"typeof", TYPEOF_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400170#line 53 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000171 {"typedef", TYPEDEF_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400172#line 22 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000173 {"__inline", INLINE_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400174#line 38 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000175 {"auto", AUTO_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400176#line 26 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000177 {"__volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100178 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400179#line 55 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000180 {"unsigned", UNSIGNED_KEYW},
181 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400182#line 49 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000183 {"short", SHORT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400184#line 45 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000185 {"inline", INLINE_KEYW},
186 {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400187#line 57 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000188 {"volatile", VOLATILE_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400189#line 47 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000190 {"long", LONG_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400191#line 29 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000192 {"_Bool", BOOL_KEYW},
193 {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400194#line 48 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000195 {"register", REGISTER_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400196#line 56 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000197 {"void", VOID_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400198#line 44 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000199 {"float", FLOAT_KEYW},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400200#line 41 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000201 {"double", DOUBLE_KEYW},
202 {""}, {""}, {""}, {""},
Arnaud Lacombe58ef81c2011-05-23 01:52:59 -0400203#line 50 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000204 {"signed", SIGNED_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700205 };
206
207 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
208 {
209 register int key = is_reserved_hash (str, len);
210
211 if (key <= MAX_HASH_VALUE && key >= 0)
212 {
213 register const char *s = wordlist[key].name;
214
215 if (*str == *s && !strcmp (str + 1, s + 1))
216 return &wordlist[key];
217 }
218 }
219 return 0;
220}