diff options
Diffstat (limited to 'meta-fsl-extras')
-rw-r--r-- | meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch | 1360 | ||||
-rw-r--r-- | meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend | 5 |
2 files changed, 1365 insertions, 0 deletions
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch b/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch new file mode 100644 index 0000000..6c2b553 --- /dev/null +++ b/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch | |||
@@ -0,0 +1,1360 @@ | |||
1 | From dc53324060f324e8af6867f57bf4891c13c6ef18 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Beulich <JBeulich@suse.com> | ||
3 | Date: Thu, 3 Apr 2014 14:46:37 -0700 | ||
4 | Subject: [PATCH] genksyms: fix typeof() handling | ||
5 | |||
6 | Recent increased use of typeof() throughout the tree resulted in a | ||
7 | number of symbols (25 in a typical distro config of ours) not getting a | ||
8 | proper CRC calculated for them anymore, due to the parser in genksyms | ||
9 | not coping with several of these uses (interestingly in the majority of | ||
10 | [if not all] cases the problem is due to the use of typeof() in code | ||
11 | preceding a certain export, not in the declaration/definition of the | ||
12 | exported function/object itself; I wasn't able to find a way to address | ||
13 | this more general parser shortcoming). | ||
14 | |||
15 | The use of parameter_declaration is a little more relaxed than would be | ||
16 | ideal (permitting not just a bare type specification, but also one with | ||
17 | identifier), but since the same code is being passed through an actual | ||
18 | compiler, there's no apparent risk of allowing through any broken code. | ||
19 | |||
20 | Otoh using parameter_declaration instead of the ad hoc | ||
21 | "decl_specifier_seq '*'" / "decl_specifier_seq" pair allows all types to | ||
22 | be handled rather than just plain ones and pointers to plain ones. | ||
23 | |||
24 | Signed-off-by: Jan Beulich <jbeulich@suse.com> | ||
25 | Cc: Michal Marek <mmarek@suse.cz> | ||
26 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
27 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
28 | --- | ||
29 | scripts/genksyms/keywords.gperf | 5 +- | ||
30 | scripts/genksyms/keywords.hash.c_shipped | 133 +++---- | ||
31 | scripts/genksyms/lex.l | 51 ++- | ||
32 | scripts/genksyms/lex.lex.c_shipped | 51 ++- | ||
33 | scripts/genksyms/parse.tab.c_shipped | 608 ++++++++++++++++--------------- | ||
34 | scripts/genksyms/parse.tab.h_shipped | 29 +- | ||
35 | scripts/genksyms/parse.y | 5 +- | ||
36 | 7 files changed, 498 insertions(+), 384 deletions(-) | ||
37 | |||
38 | diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf | ||
39 | index 3e77a943e7b7..a9096d993172 100644 | ||
40 | --- a/scripts/genksyms/keywords.gperf | ||
41 | +++ b/scripts/genksyms/keywords.gperf | ||
42 | @@ -23,6 +23,8 @@ __inline, INLINE_KEYW | ||
43 | __inline__, INLINE_KEYW | ||
44 | __signed, SIGNED_KEYW | ||
45 | __signed__, SIGNED_KEYW | ||
46 | +__typeof, TYPEOF_KEYW | ||
47 | +__typeof__, TYPEOF_KEYW | ||
48 | __volatile, VOLATILE_KEYW | ||
49 | __volatile__, VOLATILE_KEYW | ||
50 | # According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO | ||
51 | @@ -51,9 +53,8 @@ signed, SIGNED_KEYW | ||
52 | static, STATIC_KEYW | ||
53 | struct, STRUCT_KEYW | ||
54 | typedef, TYPEDEF_KEYW | ||
55 | +typeof, TYPEOF_KEYW | ||
56 | union, UNION_KEYW | ||
57 | unsigned, UNSIGNED_KEYW | ||
58 | void, VOID_KEYW | ||
59 | volatile, VOLATILE_KEYW | ||
60 | -typeof, TYPEOF_KEYW | ||
61 | -__typeof__, TYPEOF_KEYW | ||
62 | diff --git a/scripts/genksyms/keywords.hash.c_shipped b/scripts/genksyms/keywords.hash.c_shipped | ||
63 | index 82062607e8c0..e9452482e198 100644 | ||
64 | --- a/scripts/genksyms/keywords.hash.c_shipped | ||
65 | +++ b/scripts/genksyms/keywords.hash.c_shipped | ||
66 | @@ -34,7 +34,7 @@ struct resword; | ||
67 | static const struct resword *is_reserved_word(register const char *str, register unsigned int len); | ||
68 | #line 8 "scripts/genksyms/keywords.gperf" | ||
69 | struct resword { const char *name; int token; }; | ||
70 | -/* maximum key range = 64, duplicates = 0 */ | ||
71 | +/* maximum key range = 98, duplicates = 0 */ | ||
72 | |||
73 | #ifdef __GNUC__ | ||
74 | __inline | ||
75 | @@ -48,32 +48,32 @@ is_reserved_hash (register const char *str, register unsigned int len) | ||
76 | { | ||
77 | static const unsigned char asso_values[] = | ||
78 | { | ||
79 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
80 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
81 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
82 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
83 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
84 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
85 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, | ||
86 | - 67, 67, 67, 67, 67, 67, 15, 67, 67, 67, | ||
87 | - 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
88 | - 67, 67, 67, 67, 67, 0, 67, 0, 67, 5, | ||
89 | - 25, 20, 15, 30, 67, 15, 67, 67, 10, 0, | ||
90 | - 10, 40, 20, 67, 10, 5, 0, 10, 15, 67, | ||
91 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
92 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
93 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
94 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
95 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
96 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
97 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
98 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
99 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
100 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
101 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
102 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
103 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
104 | - 67, 67, 67, 67, 67, 67 | ||
105 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
106 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
107 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
108 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
109 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
110 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
111 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, | ||
112 | + 101, 101, 101, 101, 101, 101, 15, 101, 101, 101, | ||
113 | + 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
114 | + 101, 101, 101, 101, 101, 0, 101, 0, 101, 5, | ||
115 | + 25, 20, 55, 30, 101, 15, 101, 101, 10, 0, | ||
116 | + 10, 40, 10, 101, 10, 5, 0, 10, 15, 101, | ||
117 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
118 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
119 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
120 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
121 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
122 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
123 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
124 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
125 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
126 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
127 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
128 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
129 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
130 | + 101, 101, 101, 101, 101, 101 | ||
131 | }; | ||
132 | return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; | ||
133 | } | ||
134 | @@ -89,17 +89,17 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
135 | { | ||
136 | enum | ||
137 | { | ||
138 | - TOTAL_KEYWORDS = 45, | ||
139 | + TOTAL_KEYWORDS = 46, | ||
140 | MIN_WORD_LENGTH = 3, | ||
141 | MAX_WORD_LENGTH = 24, | ||
142 | MIN_HASH_VALUE = 3, | ||
143 | - MAX_HASH_VALUE = 66 | ||
144 | + MAX_HASH_VALUE = 100 | ||
145 | }; | ||
146 | |||
147 | static const struct resword wordlist[] = | ||
148 | { | ||
149 | {""}, {""}, {""}, | ||
150 | -#line 33 "scripts/genksyms/keywords.gperf" | ||
151 | +#line 35 "scripts/genksyms/keywords.gperf" | ||
152 | {"asm", ASM_KEYW}, | ||
153 | {""}, | ||
154 | #line 15 "scripts/genksyms/keywords.gperf" | ||
155 | @@ -108,7 +108,7 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
156 | #line 16 "scripts/genksyms/keywords.gperf" | ||
157 | {"__asm__", ASM_KEYW}, | ||
158 | {""}, {""}, | ||
159 | -#line 59 "scripts/genksyms/keywords.gperf" | ||
160 | +#line 27 "scripts/genksyms/keywords.gperf" | ||
161 | {"__typeof__", TYPEOF_KEYW}, | ||
162 | {""}, | ||
163 | #line 19 "scripts/genksyms/keywords.gperf" | ||
164 | @@ -119,31 +119,31 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
165 | {"__const__", CONST_KEYW}, | ||
166 | #line 25 "scripts/genksyms/keywords.gperf" | ||
167 | {"__signed__", SIGNED_KEYW}, | ||
168 | -#line 51 "scripts/genksyms/keywords.gperf" | ||
169 | +#line 53 "scripts/genksyms/keywords.gperf" | ||
170 | {"static", STATIC_KEYW}, | ||
171 | {""}, | ||
172 | -#line 46 "scripts/genksyms/keywords.gperf" | ||
173 | +#line 48 "scripts/genksyms/keywords.gperf" | ||
174 | {"int", INT_KEYW}, | ||
175 | -#line 39 "scripts/genksyms/keywords.gperf" | ||
176 | +#line 41 "scripts/genksyms/keywords.gperf" | ||
177 | {"char", CHAR_KEYW}, | ||
178 | -#line 40 "scripts/genksyms/keywords.gperf" | ||
179 | +#line 42 "scripts/genksyms/keywords.gperf" | ||
180 | {"const", CONST_KEYW}, | ||
181 | -#line 52 "scripts/genksyms/keywords.gperf" | ||
182 | +#line 54 "scripts/genksyms/keywords.gperf" | ||
183 | {"struct", STRUCT_KEYW}, | ||
184 | -#line 31 "scripts/genksyms/keywords.gperf" | ||
185 | +#line 33 "scripts/genksyms/keywords.gperf" | ||
186 | {"__restrict__", RESTRICT_KEYW}, | ||
187 | -#line 32 "scripts/genksyms/keywords.gperf" | ||
188 | +#line 34 "scripts/genksyms/keywords.gperf" | ||
189 | {"restrict", RESTRICT_KEYW}, | ||
190 | #line 12 "scripts/genksyms/keywords.gperf" | ||
191 | {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, | ||
192 | #line 23 "scripts/genksyms/keywords.gperf" | ||
193 | {"__inline__", INLINE_KEYW}, | ||
194 | {""}, | ||
195 | -#line 27 "scripts/genksyms/keywords.gperf" | ||
196 | +#line 29 "scripts/genksyms/keywords.gperf" | ||
197 | {"__volatile__", VOLATILE_KEYW}, | ||
198 | #line 10 "scripts/genksyms/keywords.gperf" | ||
199 | {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, | ||
200 | -#line 30 "scripts/genksyms/keywords.gperf" | ||
201 | +#line 32 "scripts/genksyms/keywords.gperf" | ||
202 | {"_restrict", RESTRICT_KEYW}, | ||
203 | {""}, | ||
204 | #line 17 "scripts/genksyms/keywords.gperf" | ||
205 | @@ -152,56 +152,65 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
206 | {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | ||
207 | #line 21 "scripts/genksyms/keywords.gperf" | ||
208 | {"__extension__", EXTENSION_KEYW}, | ||
209 | -#line 42 "scripts/genksyms/keywords.gperf" | ||
210 | +#line 44 "scripts/genksyms/keywords.gperf" | ||
211 | {"enum", ENUM_KEYW}, | ||
212 | #line 13 "scripts/genksyms/keywords.gperf" | ||
213 | {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW}, | ||
214 | -#line 43 "scripts/genksyms/keywords.gperf" | ||
215 | +#line 45 "scripts/genksyms/keywords.gperf" | ||
216 | {"extern", EXTERN_KEYW}, | ||
217 | {""}, | ||
218 | #line 24 "scripts/genksyms/keywords.gperf" | ||
219 | {"__signed", SIGNED_KEYW}, | ||
220 | #line 14 "scripts/genksyms/keywords.gperf" | ||
221 | {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | ||
222 | -#line 54 "scripts/genksyms/keywords.gperf" | ||
223 | +#line 57 "scripts/genksyms/keywords.gperf" | ||
224 | {"union", UNION_KEYW}, | ||
225 | -#line 58 "scripts/genksyms/keywords.gperf" | ||
226 | - {"typeof", TYPEOF_KEYW}, | ||
227 | -#line 53 "scripts/genksyms/keywords.gperf" | ||
228 | - {"typedef", TYPEDEF_KEYW}, | ||
229 | + {""}, {""}, | ||
230 | #line 22 "scripts/genksyms/keywords.gperf" | ||
231 | {"__inline", INLINE_KEYW}, | ||
232 | -#line 38 "scripts/genksyms/keywords.gperf" | ||
233 | +#line 40 "scripts/genksyms/keywords.gperf" | ||
234 | {"auto", AUTO_KEYW}, | ||
235 | -#line 26 "scripts/genksyms/keywords.gperf" | ||
236 | +#line 28 "scripts/genksyms/keywords.gperf" | ||
237 | {"__volatile", VOLATILE_KEYW}, | ||
238 | {""}, {""}, | ||
239 | -#line 55 "scripts/genksyms/keywords.gperf" | ||
240 | +#line 58 "scripts/genksyms/keywords.gperf" | ||
241 | {"unsigned", UNSIGNED_KEYW}, | ||
242 | {""}, | ||
243 | -#line 49 "scripts/genksyms/keywords.gperf" | ||
244 | +#line 51 "scripts/genksyms/keywords.gperf" | ||
245 | {"short", SHORT_KEYW}, | ||
246 | -#line 45 "scripts/genksyms/keywords.gperf" | ||
247 | +#line 47 "scripts/genksyms/keywords.gperf" | ||
248 | {"inline", INLINE_KEYW}, | ||
249 | {""}, | ||
250 | -#line 57 "scripts/genksyms/keywords.gperf" | ||
251 | +#line 60 "scripts/genksyms/keywords.gperf" | ||
252 | {"volatile", VOLATILE_KEYW}, | ||
253 | -#line 47 "scripts/genksyms/keywords.gperf" | ||
254 | +#line 49 "scripts/genksyms/keywords.gperf" | ||
255 | {"long", LONG_KEYW}, | ||
256 | -#line 29 "scripts/genksyms/keywords.gperf" | ||
257 | +#line 31 "scripts/genksyms/keywords.gperf" | ||
258 | {"_Bool", BOOL_KEYW}, | ||
259 | {""}, {""}, | ||
260 | -#line 48 "scripts/genksyms/keywords.gperf" | ||
261 | +#line 50 "scripts/genksyms/keywords.gperf" | ||
262 | {"register", REGISTER_KEYW}, | ||
263 | -#line 56 "scripts/genksyms/keywords.gperf" | ||
264 | +#line 59 "scripts/genksyms/keywords.gperf" | ||
265 | {"void", VOID_KEYW}, | ||
266 | -#line 44 "scripts/genksyms/keywords.gperf" | ||
267 | - {"float", FLOAT_KEYW}, | ||
268 | -#line 41 "scripts/genksyms/keywords.gperf" | ||
269 | + {""}, | ||
270 | +#line 43 "scripts/genksyms/keywords.gperf" | ||
271 | {"double", DOUBLE_KEYW}, | ||
272 | + {""}, | ||
273 | +#line 26 "scripts/genksyms/keywords.gperf" | ||
274 | + {"__typeof", TYPEOF_KEYW}, | ||
275 | + {""}, {""}, | ||
276 | +#line 52 "scripts/genksyms/keywords.gperf" | ||
277 | + {"signed", SIGNED_KEYW}, | ||
278 | {""}, {""}, {""}, {""}, | ||
279 | -#line 50 "scripts/genksyms/keywords.gperf" | ||
280 | - {"signed", SIGNED_KEYW} | ||
281 | +#line 56 "scripts/genksyms/keywords.gperf" | ||
282 | + {"typeof", TYPEOF_KEYW}, | ||
283 | +#line 55 "scripts/genksyms/keywords.gperf" | ||
284 | + {"typedef", TYPEDEF_KEYW}, | ||
285 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
286 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
287 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
288 | +#line 46 "scripts/genksyms/keywords.gperf" | ||
289 | + {"float", FLOAT_KEYW} | ||
290 | }; | ||
291 | |||
292 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) | ||
293 | diff --git a/scripts/genksyms/lex.l b/scripts/genksyms/lex.l | ||
294 | index f770071719cb..e583565f2011 100644 | ||
295 | --- a/scripts/genksyms/lex.l | ||
296 | +++ b/scripts/genksyms/lex.l | ||
297 | @@ -129,8 +129,9 @@ int | ||
298 | yylex(void) | ||
299 | { | ||
300 | static enum { | ||
301 | - ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE, | ||
302 | - ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
303 | + ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1, | ||
304 | + ST_BRACKET, ST_BRACE, ST_EXPRESSION, | ||
305 | + ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
306 | ST_TABLE_5, ST_TABLE_6 | ||
307 | } lexstate = ST_NOTSTARTED; | ||
308 | |||
309 | @@ -198,6 +199,10 @@ repeat: | ||
310 | lexstate = ST_ASM; | ||
311 | count = 0; | ||
312 | goto repeat; | ||
313 | + case TYPEOF_KEYW: | ||
314 | + lexstate = ST_TYPEOF; | ||
315 | + count = 0; | ||
316 | + goto repeat; | ||
317 | |||
318 | case STRUCT_KEYW: | ||
319 | case UNION_KEYW: | ||
320 | @@ -284,6 +289,48 @@ repeat: | ||
321 | } | ||
322 | break; | ||
323 | |||
324 | + case ST_TYPEOF: | ||
325 | + switch (token) | ||
326 | + { | ||
327 | + case '(': | ||
328 | + if ( ++count == 1 ) | ||
329 | + lexstate = ST_TYPEOF_1; | ||
330 | + else | ||
331 | + APP; | ||
332 | + goto repeat; | ||
333 | + case ')': | ||
334 | + APP; | ||
335 | + if (--count == 0) | ||
336 | + { | ||
337 | + lexstate = ST_NORMAL; | ||
338 | + token = TYPEOF_PHRASE; | ||
339 | + break; | ||
340 | + } | ||
341 | + goto repeat; | ||
342 | + default: | ||
343 | + APP; | ||
344 | + goto repeat; | ||
345 | + } | ||
346 | + break; | ||
347 | + | ||
348 | + case ST_TYPEOF_1: | ||
349 | + if (token == IDENT) | ||
350 | + { | ||
351 | + if (is_reserved_word(yytext, yyleng) | ||
352 | + || find_symbol(yytext, SYM_TYPEDEF, 1)) | ||
353 | + { | ||
354 | + yyless(0); | ||
355 | + unput('('); | ||
356 | + lexstate = ST_NORMAL; | ||
357 | + token = TYPEOF_KEYW; | ||
358 | + break; | ||
359 | + } | ||
360 | + _APP("(", 1); | ||
361 | + } | ||
362 | + APP; | ||
363 | + lexstate = ST_TYPEOF; | ||
364 | + goto repeat; | ||
365 | + | ||
366 | case ST_BRACKET: | ||
367 | APP; | ||
368 | switch (token) | ||
369 | diff --git a/scripts/genksyms/lex.lex.c_shipped b/scripts/genksyms/lex.lex.c_shipped | ||
370 | index 0bf4157e6161..f82740a69b85 100644 | ||
371 | --- a/scripts/genksyms/lex.lex.c_shipped | ||
372 | +++ b/scripts/genksyms/lex.lex.c_shipped | ||
373 | @@ -1938,8 +1938,9 @@ int | ||
374 | yylex(void) | ||
375 | { | ||
376 | static enum { | ||
377 | - ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE, | ||
378 | - ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
379 | + ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1, | ||
380 | + ST_BRACKET, ST_BRACE, ST_EXPRESSION, | ||
381 | + ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
382 | ST_TABLE_5, ST_TABLE_6 | ||
383 | } lexstate = ST_NOTSTARTED; | ||
384 | |||
385 | @@ -2007,6 +2008,10 @@ repeat: | ||
386 | lexstate = ST_ASM; | ||
387 | count = 0; | ||
388 | goto repeat; | ||
389 | + case TYPEOF_KEYW: | ||
390 | + lexstate = ST_TYPEOF; | ||
391 | + count = 0; | ||
392 | + goto repeat; | ||
393 | |||
394 | case STRUCT_KEYW: | ||
395 | case UNION_KEYW: | ||
396 | @@ -2093,6 +2098,48 @@ repeat: | ||
397 | } | ||
398 | break; | ||
399 | |||
400 | + case ST_TYPEOF: | ||
401 | + switch (token) | ||
402 | + { | ||
403 | + case '(': | ||
404 | + if ( ++count == 1 ) | ||
405 | + lexstate = ST_TYPEOF_1; | ||
406 | + else | ||
407 | + APP; | ||
408 | + goto repeat; | ||
409 | + case ')': | ||
410 | + APP; | ||
411 | + if (--count == 0) | ||
412 | + { | ||
413 | + lexstate = ST_NORMAL; | ||
414 | + token = TYPEOF_PHRASE; | ||
415 | + break; | ||
416 | + } | ||
417 | + goto repeat; | ||
418 | + default: | ||
419 | + APP; | ||
420 | + goto repeat; | ||
421 | + } | ||
422 | + break; | ||
423 | + | ||
424 | + case ST_TYPEOF_1: | ||
425 | + if (token == IDENT) | ||
426 | + { | ||
427 | + if (is_reserved_word(yytext, yyleng) | ||
428 | + || find_symbol(yytext, SYM_TYPEDEF, 1)) | ||
429 | + { | ||
430 | + yyless(0); | ||
431 | + unput('('); | ||
432 | + lexstate = ST_NORMAL; | ||
433 | + token = TYPEOF_KEYW; | ||
434 | + break; | ||
435 | + } | ||
436 | + _APP("(", 1); | ||
437 | + } | ||
438 | + APP; | ||
439 | + lexstate = ST_TYPEOF; | ||
440 | + goto repeat; | ||
441 | + | ||
442 | case ST_BRACKET: | ||
443 | APP; | ||
444 | switch (token) | ||
445 | diff --git a/scripts/genksyms/parse.tab.c_shipped b/scripts/genksyms/parse.tab.c_shipped | ||
446 | index ece53c79bb59..c9f0f0ce82ff 100644 | ||
447 | --- a/scripts/genksyms/parse.tab.c_shipped | ||
448 | +++ b/scripts/genksyms/parse.tab.c_shipped | ||
449 | @@ -1,8 +1,8 @@ | ||
450 | -/* A Bison parser, made by GNU Bison 2.5. */ | ||
451 | +/* A Bison parser, made by GNU Bison 2.5.1. */ | ||
452 | |||
453 | /* Bison implementation for Yacc-like parsers in C | ||
454 | |||
455 | - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. | ||
456 | + Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. | ||
457 | |||
458 | This program is free software: you can redistribute it and/or modify | ||
459 | it under the terms of the GNU General Public License as published by | ||
460 | @@ -44,7 +44,7 @@ | ||
461 | #define YYBISON 1 | ||
462 | |||
463 | /* Bison version. */ | ||
464 | -#define YYBISON_VERSION "2.5" | ||
465 | +#define YYBISON_VERSION "2.5.1" | ||
466 | |||
467 | /* Skeleton name. */ | ||
468 | #define YYSKELETON_NAME "yacc.c" | ||
469 | @@ -117,6 +117,14 @@ static void record_compound(struct string_list **keyw, | ||
470 | |||
471 | |||
472 | |||
473 | +# ifndef YY_NULL | ||
474 | +# if defined __cplusplus && 201103L <= __cplusplus | ||
475 | +# define YY_NULL nullptr | ||
476 | +# else | ||
477 | +# define YY_NULL 0 | ||
478 | +# endif | ||
479 | +# endif | ||
480 | + | ||
481 | /* Enabling traces. */ | ||
482 | #ifndef YYDEBUG | ||
483 | # define YYDEBUG 1 | ||
484 | @@ -171,18 +179,19 @@ static void record_compound(struct string_list **keyw, | ||
485 | EXPORT_SYMBOL_KEYW = 284, | ||
486 | ASM_PHRASE = 285, | ||
487 | ATTRIBUTE_PHRASE = 286, | ||
488 | - BRACE_PHRASE = 287, | ||
489 | - BRACKET_PHRASE = 288, | ||
490 | - EXPRESSION_PHRASE = 289, | ||
491 | - CHAR = 290, | ||
492 | - DOTS = 291, | ||
493 | - IDENT = 292, | ||
494 | - INT = 293, | ||
495 | - REAL = 294, | ||
496 | - STRING = 295, | ||
497 | - TYPE = 296, | ||
498 | - OTHER = 297, | ||
499 | - FILENAME = 298 | ||
500 | + TYPEOF_PHRASE = 287, | ||
501 | + BRACE_PHRASE = 288, | ||
502 | + BRACKET_PHRASE = 289, | ||
503 | + EXPRESSION_PHRASE = 290, | ||
504 | + CHAR = 291, | ||
505 | + DOTS = 292, | ||
506 | + IDENT = 293, | ||
507 | + INT = 294, | ||
508 | + REAL = 295, | ||
509 | + STRING = 296, | ||
510 | + TYPE = 297, | ||
511 | + OTHER = 298, | ||
512 | + FILENAME = 299 | ||
513 | }; | ||
514 | #endif | ||
515 | |||
516 | @@ -304,6 +313,7 @@ YYID (yyi) | ||
517 | # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ | ||
518 | || defined __cplusplus || defined _MSC_VER) | ||
519 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | ||
520 | + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ | ||
521 | # ifndef EXIT_SUCCESS | ||
522 | # define EXIT_SUCCESS 0 | ||
523 | # endif | ||
524 | @@ -395,20 +405,20 @@ union yyalloc | ||
525 | #endif | ||
526 | |||
527 | #if defined YYCOPY_NEEDED && YYCOPY_NEEDED | ||
528 | -/* Copy COUNT objects from FROM to TO. The source and destination do | ||
529 | +/* Copy COUNT objects from SRC to DST. The source and destination do | ||
530 | not overlap. */ | ||
531 | # ifndef YYCOPY | ||
532 | # if defined __GNUC__ && 1 < __GNUC__ | ||
533 | -# define YYCOPY(To, From, Count) \ | ||
534 | - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) | ||
535 | +# define YYCOPY(Dst, Src, Count) \ | ||
536 | + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) | ||
537 | # else | ||
538 | -# define YYCOPY(To, From, Count) \ | ||
539 | - do \ | ||
540 | - { \ | ||
541 | - YYSIZE_T yyi; \ | ||
542 | - for (yyi = 0; yyi < (Count); yyi++) \ | ||
543 | - (To)[yyi] = (From)[yyi]; \ | ||
544 | - } \ | ||
545 | +# define YYCOPY(Dst, Src, Count) \ | ||
546 | + do \ | ||
547 | + { \ | ||
548 | + YYSIZE_T yyi; \ | ||
549 | + for (yyi = 0; yyi < (Count); yyi++) \ | ||
550 | + (Dst)[yyi] = (Src)[yyi]; \ | ||
551 | + } \ | ||
552 | while (YYID (0)) | ||
553 | # endif | ||
554 | # endif | ||
555 | @@ -417,20 +427,20 @@ union yyalloc | ||
556 | /* YYFINAL -- State number of the termination state. */ | ||
557 | #define YYFINAL 4 | ||
558 | /* YYLAST -- Last index in YYTABLE. */ | ||
559 | -#define YYLAST 532 | ||
560 | +#define YYLAST 514 | ||
561 | |||
562 | /* YYNTOKENS -- Number of terminals. */ | ||
563 | -#define YYNTOKENS 53 | ||
564 | +#define YYNTOKENS 54 | ||
565 | /* YYNNTS -- Number of nonterminals. */ | ||
566 | #define YYNNTS 49 | ||
567 | /* YYNRULES -- Number of rules. */ | ||
568 | #define YYNRULES 132 | ||
569 | /* YYNRULES -- Number of states. */ | ||
570 | -#define YYNSTATES 188 | ||
571 | +#define YYNSTATES 187 | ||
572 | |||
573 | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | ||
574 | #define YYUNDEFTOK 2 | ||
575 | -#define YYMAXUTOK 298 | ||
576 | +#define YYMAXUTOK 299 | ||
577 | |||
578 | #define YYTRANSLATE(YYX) \ | ||
579 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | ||
580 | @@ -442,15 +452,15 @@ static const yytype_uint8 yytranslate[] = | ||
581 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
582 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
583 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
584 | - 47, 49, 48, 2, 46, 2, 2, 2, 2, 2, | ||
585 | - 2, 2, 2, 2, 2, 2, 2, 2, 52, 44, | ||
586 | - 2, 50, 2, 2, 2, 2, 2, 2, 2, 2, | ||
587 | + 48, 49, 50, 2, 47, 2, 2, 2, 2, 2, | ||
588 | + 2, 2, 2, 2, 2, 2, 2, 2, 53, 45, | ||
589 | + 2, 51, 2, 2, 2, 2, 2, 2, 2, 2, | ||
590 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
591 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
592 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
593 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
594 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
595 | - 2, 2, 2, 51, 2, 45, 2, 2, 2, 2, | ||
596 | + 2, 2, 2, 52, 2, 46, 2, 2, 2, 2, | ||
597 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
598 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
599 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
600 | @@ -467,7 +477,7 @@ static const yytype_uint8 yytranslate[] = | ||
601 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | ||
602 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
603 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | ||
604 | - 35, 36, 37, 38, 39, 40, 41, 42, 43 | ||
605 | + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 | ||
606 | }; | ||
607 | |||
608 | #if YYDEBUG | ||
609 | @@ -478,78 +488,77 @@ static const yytype_uint16 yyprhs[] = | ||
610 | 0, 0, 3, 5, 8, 9, 12, 13, 18, 19, | ||
611 | 23, 25, 27, 29, 31, 34, 37, 41, 42, 44, | ||
612 | 46, 50, 55, 56, 58, 60, 63, 65, 67, 69, | ||
613 | - 71, 73, 75, 77, 79, 81, 87, 92, 95, 98, | ||
614 | - 101, 105, 109, 113, 116, 119, 122, 124, 126, 128, | ||
615 | - 130, 132, 134, 136, 138, 140, 142, 144, 147, 148, | ||
616 | - 150, 152, 155, 157, 159, 161, 163, 166, 168, 170, | ||
617 | - 175, 180, 183, 187, 191, 194, 196, 198, 200, 205, | ||
618 | - 210, 213, 217, 221, 224, 226, 230, 231, 233, 235, | ||
619 | - 239, 242, 245, 247, 248, 250, 252, 257, 262, 265, | ||
620 | - 269, 273, 277, 278, 280, 283, 287, 291, 292, 294, | ||
621 | - 296, 299, 303, 306, 307, 309, 311, 315, 318, 321, | ||
622 | - 323, 326, 327, 330, 334, 339, 341, 345, 347, 351, | ||
623 | - 354, 355, 357 | ||
624 | + 71, 73, 75, 77, 79, 81, 86, 88, 91, 94, | ||
625 | + 97, 101, 105, 109, 112, 115, 118, 120, 122, 124, | ||
626 | + 126, 128, 130, 132, 134, 136, 138, 140, 143, 144, | ||
627 | + 146, 148, 151, 153, 155, 157, 159, 162, 164, 166, | ||
628 | + 171, 176, 179, 183, 187, 190, 192, 194, 196, 201, | ||
629 | + 206, 209, 213, 217, 220, 222, 226, 227, 229, 231, | ||
630 | + 235, 238, 241, 243, 244, 246, 248, 253, 258, 261, | ||
631 | + 265, 269, 273, 274, 276, 279, 283, 287, 288, 290, | ||
632 | + 292, 295, 299, 302, 303, 305, 307, 311, 314, 317, | ||
633 | + 319, 322, 323, 326, 330, 335, 337, 341, 343, 347, | ||
634 | + 350, 351, 353 | ||
635 | }; | ||
636 | |||
637 | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | ||
638 | static const yytype_int8 yyrhs[] = | ||
639 | { | ||
640 | - 54, 0, -1, 55, -1, 54, 55, -1, -1, 56, | ||
641 | - 57, -1, -1, 12, 23, 58, 60, -1, -1, 23, | ||
642 | - 59, 60, -1, 60, -1, 84, -1, 99, -1, 101, | ||
643 | - -1, 1, 44, -1, 1, 45, -1, 64, 61, 44, | ||
644 | - -1, -1, 62, -1, 63, -1, 62, 46, 63, -1, | ||
645 | - 74, 100, 95, 85, -1, -1, 65, -1, 66, -1, | ||
646 | - 65, 66, -1, 67, -1, 68, -1, 5, -1, 17, | ||
647 | - -1, 21, -1, 11, -1, 14, -1, 69, -1, 73, | ||
648 | - -1, 28, 47, 65, 48, 49, -1, 28, 47, 65, | ||
649 | - 49, -1, 22, 37, -1, 24, 37, -1, 10, 37, | ||
650 | - -1, 22, 37, 87, -1, 24, 37, 87, -1, 10, | ||
651 | - 37, 96, -1, 10, 96, -1, 22, 87, -1, 24, | ||
652 | - 87, -1, 7, -1, 19, -1, 15, -1, 16, -1, | ||
653 | - 20, -1, 25, -1, 13, -1, 9, -1, 26, -1, | ||
654 | - 6, -1, 41, -1, 48, 71, -1, -1, 72, -1, | ||
655 | - 73, -1, 72, 73, -1, 8, -1, 27, -1, 31, | ||
656 | - -1, 18, -1, 70, 74, -1, 75, -1, 37, -1, | ||
657 | - 75, 47, 78, 49, -1, 75, 47, 1, 49, -1, | ||
658 | - 75, 33, -1, 47, 74, 49, -1, 47, 1, 49, | ||
659 | - -1, 70, 76, -1, 77, -1, 37, -1, 41, -1, | ||
660 | - 77, 47, 78, 49, -1, 77, 47, 1, 49, -1, | ||
661 | - 77, 33, -1, 47, 76, 49, -1, 47, 1, 49, | ||
662 | - -1, 79, 36, -1, 79, -1, 80, 46, 36, -1, | ||
663 | - -1, 80, -1, 81, -1, 80, 46, 81, -1, 65, | ||
664 | - 82, -1, 70, 82, -1, 83, -1, -1, 37, -1, | ||
665 | - 41, -1, 83, 47, 78, 49, -1, 83, 47, 1, | ||
666 | - 49, -1, 83, 33, -1, 47, 82, 49, -1, 47, | ||
667 | - 1, 49, -1, 64, 74, 32, -1, -1, 86, -1, | ||
668 | - 50, 34, -1, 51, 88, 45, -1, 51, 1, 45, | ||
669 | - -1, -1, 89, -1, 90, -1, 89, 90, -1, 64, | ||
670 | - 91, 44, -1, 1, 44, -1, -1, 92, -1, 93, | ||
671 | - -1, 92, 46, 93, -1, 76, 95, -1, 37, 94, | ||
672 | - -1, 94, -1, 52, 34, -1, -1, 95, 31, -1, | ||
673 | - 51, 97, 45, -1, 51, 97, 46, 45, -1, 98, | ||
674 | - -1, 97, 46, 98, -1, 37, -1, 37, 50, 34, | ||
675 | - -1, 30, 44, -1, -1, 30, -1, 29, 47, 37, | ||
676 | - 49, 44, -1 | ||
677 | + 55, 0, -1, 56, -1, 55, 56, -1, -1, 57, | ||
678 | + 58, -1, -1, 12, 23, 59, 61, -1, -1, 23, | ||
679 | + 60, 61, -1, 61, -1, 85, -1, 100, -1, 102, | ||
680 | + -1, 1, 45, -1, 1, 46, -1, 65, 62, 45, | ||
681 | + -1, -1, 63, -1, 64, -1, 63, 47, 64, -1, | ||
682 | + 75, 101, 96, 86, -1, -1, 66, -1, 67, -1, | ||
683 | + 66, 67, -1, 68, -1, 69, -1, 5, -1, 17, | ||
684 | + -1, 21, -1, 11, -1, 14, -1, 70, -1, 74, | ||
685 | + -1, 28, 48, 82, 49, -1, 32, -1, 22, 38, | ||
686 | + -1, 24, 38, -1, 10, 38, -1, 22, 38, 88, | ||
687 | + -1, 24, 38, 88, -1, 10, 38, 97, -1, 10, | ||
688 | + 97, -1, 22, 88, -1, 24, 88, -1, 7, -1, | ||
689 | + 19, -1, 15, -1, 16, -1, 20, -1, 25, -1, | ||
690 | + 13, -1, 9, -1, 26, -1, 6, -1, 42, -1, | ||
691 | + 50, 72, -1, -1, 73, -1, 74, -1, 73, 74, | ||
692 | + -1, 8, -1, 27, -1, 31, -1, 18, -1, 71, | ||
693 | + 75, -1, 76, -1, 38, -1, 76, 48, 79, 49, | ||
694 | + -1, 76, 48, 1, 49, -1, 76, 34, -1, 48, | ||
695 | + 75, 49, -1, 48, 1, 49, -1, 71, 77, -1, | ||
696 | + 78, -1, 38, -1, 42, -1, 78, 48, 79, 49, | ||
697 | + -1, 78, 48, 1, 49, -1, 78, 34, -1, 48, | ||
698 | + 77, 49, -1, 48, 1, 49, -1, 80, 37, -1, | ||
699 | + 80, -1, 81, 47, 37, -1, -1, 81, -1, 82, | ||
700 | + -1, 81, 47, 82, -1, 66, 83, -1, 71, 83, | ||
701 | + -1, 84, -1, -1, 38, -1, 42, -1, 84, 48, | ||
702 | + 79, 49, -1, 84, 48, 1, 49, -1, 84, 34, | ||
703 | + -1, 48, 83, 49, -1, 48, 1, 49, -1, 65, | ||
704 | + 75, 33, -1, -1, 87, -1, 51, 35, -1, 52, | ||
705 | + 89, 46, -1, 52, 1, 46, -1, -1, 90, -1, | ||
706 | + 91, -1, 90, 91, -1, 65, 92, 45, -1, 1, | ||
707 | + 45, -1, -1, 93, -1, 94, -1, 93, 47, 94, | ||
708 | + -1, 77, 96, -1, 38, 95, -1, 95, -1, 53, | ||
709 | + 35, -1, -1, 96, 31, -1, 52, 98, 46, -1, | ||
710 | + 52, 98, 47, 46, -1, 99, -1, 98, 47, 99, | ||
711 | + -1, 38, -1, 38, 51, 35, -1, 30, 45, -1, | ||
712 | + -1, 30, -1, 29, 48, 38, 49, 45, -1 | ||
713 | }; | ||
714 | |||
715 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ | ||
716 | static const yytype_uint16 yyrline[] = | ||
717 | { | ||
718 | - 0, 123, 123, 124, 128, 128, 134, 134, 136, 136, | ||
719 | - 138, 139, 140, 141, 142, 143, 147, 161, 162, 166, | ||
720 | - 174, 187, 193, 194, 198, 199, 203, 209, 213, 214, | ||
721 | - 215, 216, 217, 221, 222, 223, 224, 228, 230, 232, | ||
722 | - 236, 238, 240, 245, 248, 249, 253, 254, 255, 256, | ||
723 | - 257, 258, 259, 260, 261, 262, 263, 267, 272, 273, | ||
724 | - 277, 278, 282, 282, 282, 283, 291, 292, 296, 305, | ||
725 | - 307, 309, 311, 313, 320, 321, 325, 326, 327, 329, | ||
726 | - 331, 333, 335, 340, 341, 342, 346, 347, 351, 352, | ||
727 | - 357, 362, 364, 368, 369, 377, 381, 383, 385, 387, | ||
728 | - 389, 394, 403, 404, 409, 414, 415, 419, 420, 424, | ||
729 | - 425, 429, 431, 436, 437, 441, 442, 446, 447, 448, | ||
730 | - 452, 456, 457, 461, 462, 466, 467, 470, 475, 483, | ||
731 | - 487, 488, 492 | ||
732 | + 0, 124, 124, 125, 129, 129, 135, 135, 137, 137, | ||
733 | + 139, 140, 141, 142, 143, 144, 148, 162, 163, 167, | ||
734 | + 175, 188, 194, 195, 199, 200, 204, 210, 214, 215, | ||
735 | + 216, 217, 218, 222, 223, 224, 225, 229, 231, 233, | ||
736 | + 237, 239, 241, 246, 249, 250, 254, 255, 256, 257, | ||
737 | + 258, 259, 260, 261, 262, 263, 264, 268, 273, 274, | ||
738 | + 278, 279, 283, 283, 283, 284, 292, 293, 297, 306, | ||
739 | + 308, 310, 312, 314, 321, 322, 326, 327, 328, 330, | ||
740 | + 332, 334, 336, 341, 342, 343, 347, 348, 352, 353, | ||
741 | + 358, 363, 365, 369, 370, 378, 382, 384, 386, 388, | ||
742 | + 390, 395, 404, 405, 410, 415, 416, 420, 421, 425, | ||
743 | + 426, 430, 432, 437, 438, 442, 443, 447, 448, 449, | ||
744 | + 453, 457, 458, 462, 463, 467, 468, 471, 476, 484, | ||
745 | + 488, 489, 493 | ||
746 | }; | ||
747 | #endif | ||
748 | |||
749 | @@ -565,9 +574,9 @@ static const char *const yytname[] = | ||
750 | "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW", | ||
751 | "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW", | ||
752 | "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE", | ||
753 | - "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", | ||
754 | + "ATTRIBUTE_PHRASE", "TYPEOF_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", | ||
755 | "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING", | ||
756 | - "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'", | ||
757 | + "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "')'", "'*'", | ||
758 | "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1", | ||
759 | "declaration1", "$@2", "$@3", "simple_declaration", | ||
760 | "init_declarator_list_opt", "init_declarator_list", "init_declarator", | ||
761 | @@ -584,7 +593,7 @@ static const char *const yytname[] = | ||
762 | "member_declarator_list_opt", "member_declarator_list", | ||
763 | "member_declarator", "member_bitfield_declarator", "attribute_opt", | ||
764 | "enum_body", "enumerator_list", "enumerator", "asm_definition", | ||
765 | - "asm_phrase_opt", "export_definition", 0 | ||
766 | + "asm_phrase_opt", "export_definition", YY_NULL | ||
767 | }; | ||
768 | #endif | ||
769 | |||
770 | @@ -597,28 +606,28 @@ static const yytype_uint16 yytoknum[] = | ||
771 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | ||
772 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, | ||
773 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, | ||
774 | - 295, 296, 297, 298, 59, 125, 44, 40, 42, 41, | ||
775 | - 61, 123, 58 | ||
776 | + 295, 296, 297, 298, 299, 59, 125, 44, 40, 41, | ||
777 | + 42, 61, 123, 58 | ||
778 | }; | ||
779 | # endif | ||
780 | |||
781 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | ||
782 | static const yytype_uint8 yyr1[] = | ||
783 | { | ||
784 | - 0, 53, 54, 54, 56, 55, 58, 57, 59, 57, | ||
785 | - 57, 57, 57, 57, 57, 57, 60, 61, 61, 62, | ||
786 | - 62, 63, 64, 64, 65, 65, 66, 66, 67, 67, | ||
787 | - 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, | ||
788 | - 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, | ||
789 | - 69, 69, 69, 69, 69, 69, 69, 70, 71, 71, | ||
790 | - 72, 72, 73, 73, 73, 73, 74, 74, 75, 75, | ||
791 | - 75, 75, 75, 75, 76, 76, 77, 77, 77, 77, | ||
792 | - 77, 77, 77, 78, 78, 78, 79, 79, 80, 80, | ||
793 | - 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, | ||
794 | - 83, 84, 85, 85, 86, 87, 87, 88, 88, 89, | ||
795 | - 89, 90, 90, 91, 91, 92, 92, 93, 93, 93, | ||
796 | - 94, 95, 95, 96, 96, 97, 97, 98, 98, 99, | ||
797 | - 100, 100, 101 | ||
798 | + 0, 54, 55, 55, 57, 56, 59, 58, 60, 58, | ||
799 | + 58, 58, 58, 58, 58, 58, 61, 62, 62, 63, | ||
800 | + 63, 64, 65, 65, 66, 66, 67, 67, 68, 68, | ||
801 | + 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, | ||
802 | + 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, | ||
803 | + 70, 70, 70, 70, 70, 70, 70, 71, 72, 72, | ||
804 | + 73, 73, 74, 74, 74, 74, 75, 75, 76, 76, | ||
805 | + 76, 76, 76, 76, 77, 77, 78, 78, 78, 78, | ||
806 | + 78, 78, 78, 79, 79, 79, 80, 80, 81, 81, | ||
807 | + 82, 83, 83, 84, 84, 84, 84, 84, 84, 84, | ||
808 | + 84, 85, 86, 86, 87, 88, 88, 89, 89, 90, | ||
809 | + 90, 91, 91, 92, 92, 93, 93, 94, 94, 94, | ||
810 | + 95, 96, 96, 97, 97, 98, 98, 99, 99, 100, | ||
811 | + 101, 101, 102 | ||
812 | }; | ||
813 | |||
814 | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ | ||
815 | @@ -627,7 +636,7 @@ static const yytype_uint8 yyr2[] = | ||
816 | 0, 2, 1, 2, 0, 2, 0, 4, 0, 3, | ||
817 | 1, 1, 1, 1, 2, 2, 3, 0, 1, 1, | ||
818 | 3, 4, 0, 1, 1, 2, 1, 1, 1, 1, | ||
819 | - 1, 1, 1, 1, 1, 5, 4, 2, 2, 2, | ||
820 | + 1, 1, 1, 1, 1, 4, 1, 2, 2, 2, | ||
821 | 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, | ||
822 | 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, | ||
823 | 1, 2, 1, 1, 1, 1, 2, 1, 1, 4, | ||
824 | @@ -648,68 +657,68 @@ static const yytype_uint8 yydefact[] = | ||
825 | 4, 4, 2, 0, 1, 3, 0, 28, 55, 46, | ||
826 | 62, 53, 0, 31, 0, 52, 32, 48, 49, 29, | ||
827 | 65, 47, 50, 30, 0, 8, 0, 51, 54, 63, | ||
828 | - 0, 0, 0, 64, 56, 5, 10, 17, 23, 24, | ||
829 | - 26, 27, 33, 34, 11, 12, 13, 14, 15, 39, | ||
830 | - 0, 43, 6, 37, 0, 44, 22, 38, 45, 0, | ||
831 | - 0, 129, 68, 0, 58, 0, 18, 19, 0, 130, | ||
832 | - 67, 25, 42, 127, 0, 125, 22, 40, 0, 113, | ||
833 | - 0, 0, 109, 9, 17, 41, 0, 0, 0, 0, | ||
834 | - 57, 59, 60, 16, 0, 66, 131, 101, 121, 71, | ||
835 | - 0, 0, 123, 0, 7, 112, 106, 76, 77, 0, | ||
836 | - 0, 0, 121, 75, 0, 114, 115, 119, 105, 0, | ||
837 | - 110, 130, 0, 36, 0, 73, 72, 61, 20, 102, | ||
838 | - 0, 93, 0, 84, 87, 88, 128, 124, 126, 118, | ||
839 | - 0, 76, 0, 120, 74, 117, 80, 0, 111, 0, | ||
840 | - 35, 132, 122, 0, 21, 103, 70, 94, 56, 0, | ||
841 | - 93, 90, 92, 69, 83, 0, 82, 81, 0, 0, | ||
842 | - 116, 104, 0, 95, 0, 91, 98, 0, 85, 89, | ||
843 | - 79, 78, 100, 99, 0, 0, 97, 96 | ||
844 | + 0, 0, 0, 64, 36, 56, 5, 10, 17, 23, | ||
845 | + 24, 26, 27, 33, 34, 11, 12, 13, 14, 15, | ||
846 | + 39, 0, 43, 6, 37, 0, 44, 22, 38, 45, | ||
847 | + 0, 0, 129, 68, 0, 58, 0, 18, 19, 0, | ||
848 | + 130, 67, 25, 42, 127, 0, 125, 22, 40, 0, | ||
849 | + 113, 0, 0, 109, 9, 17, 41, 93, 0, 0, | ||
850 | + 0, 0, 57, 59, 60, 16, 0, 66, 131, 101, | ||
851 | + 121, 71, 0, 0, 123, 0, 7, 112, 106, 76, | ||
852 | + 77, 0, 0, 0, 121, 75, 0, 114, 115, 119, | ||
853 | + 105, 0, 110, 130, 94, 56, 0, 93, 90, 92, | ||
854 | + 35, 0, 73, 72, 61, 20, 102, 0, 0, 84, | ||
855 | + 87, 88, 128, 124, 126, 118, 0, 76, 0, 120, | ||
856 | + 74, 117, 80, 0, 111, 0, 0, 95, 0, 91, | ||
857 | + 98, 0, 132, 122, 0, 21, 103, 70, 69, 83, | ||
858 | + 0, 82, 81, 0, 0, 116, 100, 99, 0, 0, | ||
859 | + 104, 85, 89, 79, 78, 97, 96 | ||
860 | }; | ||
861 | |||
862 | /* YYDEFGOTO[NTERM-NUM]. */ | ||
863 | static const yytype_int16 yydefgoto[] = | ||
864 | { | ||
865 | - -1, 1, 2, 3, 35, 76, 56, 36, 65, 66, | ||
866 | - 67, 79, 38, 39, 40, 41, 42, 68, 90, 91, | ||
867 | - 43, 121, 70, 112, 113, 132, 133, 134, 135, 161, | ||
868 | - 162, 44, 154, 155, 55, 80, 81, 82, 114, 115, | ||
869 | - 116, 117, 129, 51, 74, 75, 45, 98, 46 | ||
870 | + -1, 1, 2, 3, 36, 77, 57, 37, 66, 67, | ||
871 | + 68, 80, 39, 40, 41, 42, 43, 69, 92, 93, | ||
872 | + 44, 123, 71, 114, 115, 138, 139, 140, 141, 128, | ||
873 | + 129, 45, 165, 166, 56, 81, 82, 83, 116, 117, | ||
874 | + 118, 119, 136, 52, 75, 76, 46, 100, 47 | ||
875 | }; | ||
876 | |||
877 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | ||
878 | STATE-NUM. */ | ||
879 | -#define YYPACT_NINF -135 | ||
880 | +#define YYPACT_NINF -140 | ||
881 | static const yytype_int16 yypact[] = | ||
882 | { | ||
883 | - -135, 20, -135, 321, -135, -135, 30, -135, -135, -135, | ||
884 | - -135, -135, -28, -135, 2, -135, -135, -135, -135, -135, | ||
885 | - -135, -135, -135, -135, -6, -135, 9, -135, -135, -135, | ||
886 | - -5, 15, -17, -135, -135, -135, -135, 18, 491, -135, | ||
887 | - -135, -135, -135, -135, -135, -135, -135, -135, -135, -22, | ||
888 | - 31, -135, -135, 19, 106, -135, 491, 19, -135, 491, | ||
889 | - 50, -135, -135, 11, -3, 51, 57, -135, 18, -14, | ||
890 | - 14, -135, -135, 48, 46, -135, 491, -135, 33, 32, | ||
891 | - 59, 154, -135, -135, 18, -135, 365, 56, 60, 61, | ||
892 | - -135, -3, -135, -135, 18, -135, -135, -135, -135, -135, | ||
893 | - 202, 74, -135, -23, -135, -135, -135, 77, -135, 16, | ||
894 | - 101, 49, -135, 34, 92, 93, -135, -135, -135, 94, | ||
895 | - -135, 110, 95, -135, 97, -135, -135, -135, -135, -20, | ||
896 | - 96, 410, 99, 113, 100, -135, -135, -135, -135, -135, | ||
897 | - 103, -135, 107, -135, -135, 111, -135, 239, -135, 32, | ||
898 | - -135, -135, -135, 123, -135, -135, -135, -135, -135, 3, | ||
899 | - 52, -135, 38, -135, -135, 454, -135, -135, 117, 128, | ||
900 | - -135, -135, 134, -135, 135, -135, -135, 276, -135, -135, | ||
901 | - -135, -135, -135, -135, 137, 138, -135, -135 | ||
902 | + -140, 29, -140, 207, -140, -140, 40, -140, -140, -140, | ||
903 | + -140, -140, -27, -140, 44, -140, -140, -140, -140, -140, | ||
904 | + -140, -140, -140, -140, -22, -140, -18, -140, -140, -140, | ||
905 | + -9, 22, 28, -140, -140, -140, -140, -140, 42, 472, | ||
906 | + -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, | ||
907 | + 46, 43, -140, -140, 47, 107, -140, 472, 47, -140, | ||
908 | + 472, 62, -140, -140, 16, -3, 57, 56, -140, 42, | ||
909 | + 35, -11, -140, -140, 53, 48, -140, 472, -140, 51, | ||
910 | + 21, 59, 157, -140, -140, 42, -140, 388, 58, 60, | ||
911 | + 70, 81, -140, -3, -140, -140, 42, -140, -140, -140, | ||
912 | + -140, -140, 253, 71, -140, -20, -140, -140, -140, 83, | ||
913 | + -140, 5, 102, 34, -140, 12, 95, 94, -140, -140, | ||
914 | + -140, 97, -140, 113, -140, -140, 2, 41, -140, 27, | ||
915 | + -140, 99, -140, -140, -140, -140, -24, 98, 101, 109, | ||
916 | + 104, -140, -140, -140, -140, -140, 105, -140, 110, -140, | ||
917 | + -140, 117, -140, 298, -140, 21, 112, -140, 120, -140, | ||
918 | + -140, 343, -140, -140, 121, -140, -140, -140, -140, -140, | ||
919 | + 434, -140, -140, 131, 137, -140, -140, -140, 138, 141, | ||
920 | + -140, -140, -140, -140, -140, -140, -140 | ||
921 | }; | ||
922 | |||
923 | /* YYPGOTO[NTERM-NUM]. */ | ||
924 | static const yytype_int16 yypgoto[] = | ||
925 | { | ||
926 | - -135, -135, 187, -135, -135, -135, -135, -50, -135, -135, | ||
927 | - 98, 0, -59, -37, -135, -135, -135, -77, -135, -135, | ||
928 | - -54, -30, -135, -90, -135, -134, -135, -135, 24, -58, | ||
929 | - -135, -135, -135, -135, -18, -135, -135, 109, -135, -135, | ||
930 | - 44, 87, 84, 148, -135, 102, -135, -135, -135 | ||
931 | + -140, -140, 190, -140, -140, -140, -140, -45, -140, -140, | ||
932 | + 96, 1, -60, -31, -140, -140, -140, -78, -140, -140, | ||
933 | + -55, -7, -140, -92, -140, -139, -140, -140, -59, -39, | ||
934 | + -140, -140, -140, -140, -13, -140, -140, 111, -140, -140, | ||
935 | + 39, 87, 84, 147, -140, 106, -140, -140, -140 | ||
936 | }; | ||
937 | |||
938 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If | ||
939 | @@ -718,149 +727,145 @@ static const yytype_int16 yypgoto[] = | ||
940 | #define YYTABLE_NINF -109 | ||
941 | static const yytype_int16 yytable[] = | ||
942 | { | ||
943 | - 86, 71, 111, 37, 172, 10, 83, 69, 58, 49, | ||
944 | - 92, 152, 88, 169, 73, 20, 96, 140, 97, 142, | ||
945 | - 4, 144, 137, 50, 29, 52, 104, 61, 33, 50, | ||
946 | - 153, 53, 111, 89, 111, 77, -93, 127, 95, 85, | ||
947 | - 157, 131, 59, 185, 173, 54, 57, 99, 62, 71, | ||
948 | - 159, 64, -93, 141, 160, 62, 84, 108, 63, 64, | ||
949 | - 54, 100, 60, 109, 64, 63, 64, 146, 73, 107, | ||
950 | - 54, 176, 111, 108, 47, 48, 84, 105, 106, 109, | ||
951 | - 64, 147, 160, 160, 110, 177, 141, 87, 131, 157, | ||
952 | - 108, 102, 103, 173, 71, 93, 109, 64, 101, 159, | ||
953 | - 64, 174, 175, 94, 118, 124, 131, 78, 136, 125, | ||
954 | - 126, 7, 8, 9, 10, 11, 12, 13, 131, 15, | ||
955 | - 16, 17, 18, 19, 20, 21, 22, 23, 24, 110, | ||
956 | - 26, 27, 28, 29, 30, 143, 148, 33, 105, 149, | ||
957 | - 96, 151, 152, -22, 150, 156, 165, 34, 163, 164, | ||
958 | - -22, -107, 166, -22, -22, 119, 167, 171, -22, 7, | ||
959 | - 8, 9, 10, 11, 12, 13, 180, 15, 16, 17, | ||
960 | - 18, 19, 20, 21, 22, 23, 24, 181, 26, 27, | ||
961 | - 28, 29, 30, 182, 183, 33, 186, 187, 5, 179, | ||
962 | - 120, -22, 128, 170, 139, 34, 145, 72, -22, -108, | ||
963 | - 0, -22, -22, 130, 0, 138, -22, 7, 8, 9, | ||
964 | - 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, | ||
965 | - 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, | ||
966 | - 30, 0, 0, 33, 0, 0, 0, 0, -86, 0, | ||
967 | - 168, 0, 0, 34, 7, 8, 9, 10, 11, 12, | ||
968 | - 13, -86, 15, 16, 17, 18, 19, 20, 21, 22, | ||
969 | - 23, 24, 0, 26, 27, 28, 29, 30, 0, 0, | ||
970 | - 33, 0, 0, 0, 0, -86, 0, 184, 0, 0, | ||
971 | - 34, 7, 8, 9, 10, 11, 12, 13, -86, 15, | ||
972 | - 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, | ||
973 | - 26, 27, 28, 29, 30, 0, 0, 33, 0, 0, | ||
974 | - 0, 0, -86, 0, 0, 0, 0, 34, 0, 0, | ||
975 | - 0, 0, 6, 0, 0, -86, 7, 8, 9, 10, | ||
976 | - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, | ||
977 | - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, | ||
978 | - 31, 32, 33, 0, 0, 0, 0, 0, -22, 0, | ||
979 | - 0, 0, 34, 0, 0, -22, 0, 0, -22, -22, | ||
980 | - 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, | ||
981 | - 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, | ||
982 | - 27, 28, 29, 30, 0, 0, 33, 0, 0, 0, | ||
983 | - 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, | ||
984 | - 0, 0, 0, 122, 123, 7, 8, 9, 10, 11, | ||
985 | - 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, | ||
986 | - 22, 23, 24, 0, 26, 27, 28, 29, 30, 0, | ||
987 | - 0, 33, 0, 0, 0, 0, 0, 157, 0, 0, | ||
988 | - 0, 158, 0, 0, 0, 0, 0, 159, 64, 7, | ||
989 | + 87, 88, 113, 156, 38, 10, 146, 163, 72, 127, | ||
990 | + 94, 50, 84, 59, 174, 20, 54, 90, 74, 148, | ||
991 | + 58, 150, 179, 101, 29, 51, 143, 164, 33, 4, | ||
992 | + 55, 70, 106, 113, 55, 113, -93, 102, 134, 60, | ||
993 | + 124, 78, 87, 147, 157, 86, 152, 110, 127, 127, | ||
994 | + 126, -93, 65, 111, 63, 65, 72, 91, 85, 109, | ||
995 | + 153, 160, 97, 110, 64, 98, 65, 53, 99, 111, | ||
996 | + 61, 65, 147, 62, 112, 161, 110, 113, 85, 124, | ||
997 | + 63, 74, 111, 157, 65, 48, 49, 158, 159, 126, | ||
998 | + 64, 65, 65, 87, 104, 105, 107, 108, 51, 55, | ||
999 | + 89, 87, 95, 96, 103, 120, 142, 130, 79, 131, | ||
1000 | + 87, 182, 7, 8, 9, 10, 11, 12, 13, 132, | ||
1001 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1002 | + 133, 26, 27, 28, 29, 30, 112, 149, 33, 34, | ||
1003 | + 154, 155, 107, 98, 162, -22, 169, 167, 163, 35, | ||
1004 | + 168, 170, -22, -107, 171, -22, 180, -22, 121, 172, | ||
1005 | + -22, 176, 7, 8, 9, 10, 11, 12, 13, 177, | ||
1006 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1007 | + 183, 26, 27, 28, 29, 30, 184, 185, 33, 34, | ||
1008 | + 186, 5, 135, 122, 175, -22, 145, 73, 151, 35, | ||
1009 | + 0, 0, -22, -108, 0, -22, 0, -22, 6, 0, | ||
1010 | + -22, 144, 7, 8, 9, 10, 11, 12, 13, 14, | ||
1011 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1012 | + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | ||
1013 | + 0, 0, 0, 0, 0, -22, 0, 0, 0, 35, | ||
1014 | + 0, 0, -22, 0, 137, -22, 0, -22, 7, 8, | ||
1015 | + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, | ||
1016 | + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, | ||
1017 | + 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, | ||
1018 | + -86, 0, 0, 0, 0, 35, 0, 0, 0, 173, | ||
1019 | + 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, | ||
1020 | + 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, | ||
1021 | + 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, | ||
1022 | + 34, 0, 0, 0, 0, -86, 0, 0, 0, 0, | ||
1023 | + 35, 0, 0, 0, 178, 0, 0, -86, 7, 8, | ||
1024 | + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, | ||
1025 | + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, | ||
1026 | + 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, | ||
1027 | + -86, 0, 0, 0, 0, 35, 0, 0, 0, 0, | ||
1028 | + 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, | ||
1029 | + 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, | ||
1030 | + 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, | ||
1031 | + 34, 0, 0, 0, 0, 0, 124, 0, 0, 0, | ||
1032 | + 125, 0, 0, 0, 0, 0, 126, 0, 65, 7, | ||
1033 | 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, | ||
1034 | 18, 19, 20, 21, 22, 23, 24, 0, 26, 27, | ||
1035 | - 28, 29, 30, 0, 0, 33, 0, 0, 0, 0, | ||
1036 | - 178, 0, 0, 0, 0, 34, 7, 8, 9, 10, | ||
1037 | - 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, | ||
1038 | - 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, | ||
1039 | - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, | ||
1040 | - 0, 0, 34 | ||
1041 | + 28, 29, 30, 0, 0, 33, 34, 0, 0, 0, | ||
1042 | + 0, 181, 0, 0, 0, 0, 35, 7, 8, 9, | ||
1043 | + 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, | ||
1044 | + 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, | ||
1045 | + 30, 0, 0, 33, 34, 0, 0, 0, 0, 0, | ||
1046 | + 0, 0, 0, 0, 35 | ||
1047 | }; | ||
1048 | |||
1049 | #define yypact_value_is_default(yystate) \ | ||
1050 | - ((yystate) == (-135)) | ||
1051 | + ((yystate) == (-140)) | ||
1052 | |||
1053 | #define yytable_value_is_error(yytable_value) \ | ||
1054 | YYID (0) | ||
1055 | |||
1056 | static const yytype_int16 yycheck[] = | ||
1057 | { | ||
1058 | - 59, 38, 79, 3, 1, 8, 56, 37, 26, 37, | ||
1059 | - 64, 31, 1, 147, 37, 18, 30, 1, 32, 109, | ||
1060 | - 0, 111, 45, 51, 27, 23, 76, 44, 31, 51, | ||
1061 | - 50, 37, 109, 63, 111, 53, 33, 91, 68, 57, | ||
1062 | - 37, 100, 47, 177, 41, 51, 37, 33, 37, 86, | ||
1063 | - 47, 48, 49, 37, 131, 37, 56, 41, 47, 48, | ||
1064 | - 51, 47, 47, 47, 48, 47, 48, 33, 37, 37, | ||
1065 | - 51, 33, 149, 41, 44, 45, 76, 44, 45, 47, | ||
1066 | - 48, 47, 159, 160, 52, 47, 37, 37, 147, 37, | ||
1067 | - 41, 45, 46, 41, 131, 44, 47, 48, 50, 47, | ||
1068 | - 48, 159, 160, 46, 45, 49, 165, 1, 34, 49, | ||
1069 | - 49, 5, 6, 7, 8, 9, 10, 11, 177, 13, | ||
1070 | - 14, 15, 16, 17, 18, 19, 20, 21, 22, 52, | ||
1071 | - 24, 25, 26, 27, 28, 34, 44, 31, 44, 46, | ||
1072 | - 30, 44, 31, 37, 49, 49, 46, 41, 49, 36, | ||
1073 | - 44, 45, 49, 47, 48, 1, 49, 34, 52, 5, | ||
1074 | - 6, 7, 8, 9, 10, 11, 49, 13, 14, 15, | ||
1075 | - 16, 17, 18, 19, 20, 21, 22, 49, 24, 25, | ||
1076 | - 26, 27, 28, 49, 49, 31, 49, 49, 1, 165, | ||
1077 | - 81, 37, 94, 149, 107, 41, 112, 49, 44, 45, | ||
1078 | - -1, 47, 48, 1, -1, 103, 52, 5, 6, 7, | ||
1079 | - 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, | ||
1080 | - 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, | ||
1081 | - 28, -1, -1, 31, -1, -1, -1, -1, 36, -1, | ||
1082 | - 1, -1, -1, 41, 5, 6, 7, 8, 9, 10, | ||
1083 | - 11, 49, 13, 14, 15, 16, 17, 18, 19, 20, | ||
1084 | - 21, 22, -1, 24, 25, 26, 27, 28, -1, -1, | ||
1085 | - 31, -1, -1, -1, -1, 36, -1, 1, -1, -1, | ||
1086 | - 41, 5, 6, 7, 8, 9, 10, 11, 49, 13, | ||
1087 | - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, | ||
1088 | - 24, 25, 26, 27, 28, -1, -1, 31, -1, -1, | ||
1089 | - -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, | ||
1090 | - -1, -1, 1, -1, -1, 49, 5, 6, 7, 8, | ||
1091 | - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, | ||
1092 | - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, | ||
1093 | - 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, | ||
1094 | - -1, -1, 41, -1, -1, 44, -1, -1, 47, 48, | ||
1095 | - 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, | ||
1096 | - 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, | ||
1097 | - 25, 26, 27, 28, -1, -1, 31, -1, -1, -1, | ||
1098 | - -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, | ||
1099 | - -1, -1, -1, 48, 49, 5, 6, 7, 8, 9, | ||
1100 | - 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, | ||
1101 | - 20, 21, 22, -1, 24, 25, 26, 27, 28, -1, | ||
1102 | - -1, 31, -1, -1, -1, -1, -1, 37, -1, -1, | ||
1103 | - -1, 41, -1, -1, -1, -1, -1, 47, 48, 5, | ||
1104 | + 60, 60, 80, 1, 3, 8, 1, 31, 39, 87, | ||
1105 | + 65, 38, 57, 26, 153, 18, 38, 1, 38, 111, | ||
1106 | + 38, 113, 161, 34, 27, 52, 46, 51, 31, 0, | ||
1107 | + 52, 38, 77, 111, 52, 113, 34, 48, 93, 48, | ||
1108 | + 38, 54, 102, 38, 42, 58, 34, 42, 126, 127, | ||
1109 | + 48, 49, 50, 48, 38, 50, 87, 64, 57, 38, | ||
1110 | + 48, 34, 69, 42, 48, 30, 50, 23, 33, 48, | ||
1111 | + 48, 50, 38, 45, 53, 48, 42, 155, 77, 38, | ||
1112 | + 38, 38, 48, 42, 50, 45, 46, 126, 127, 48, | ||
1113 | + 48, 50, 50, 153, 46, 47, 45, 46, 52, 52, | ||
1114 | + 38, 161, 45, 47, 51, 46, 35, 49, 1, 49, | ||
1115 | + 170, 170, 5, 6, 7, 8, 9, 10, 11, 49, | ||
1116 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1117 | + 49, 24, 25, 26, 27, 28, 53, 35, 31, 32, | ||
1118 | + 45, 47, 45, 30, 45, 38, 37, 49, 31, 42, | ||
1119 | + 49, 47, 45, 46, 49, 48, 35, 50, 1, 49, | ||
1120 | + 53, 49, 5, 6, 7, 8, 9, 10, 11, 49, | ||
1121 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1122 | + 49, 24, 25, 26, 27, 28, 49, 49, 31, 32, | ||
1123 | + 49, 1, 96, 82, 155, 38, 109, 50, 114, 42, | ||
1124 | + -1, -1, 45, 46, -1, 48, -1, 50, 1, -1, | ||
1125 | + 53, 105, 5, 6, 7, 8, 9, 10, 11, 12, | ||
1126 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1127 | + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, | ||
1128 | + -1, -1, -1, -1, -1, 38, -1, -1, -1, 42, | ||
1129 | + -1, -1, 45, -1, 1, 48, -1, 50, 5, 6, | ||
1130 | + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, | ||
1131 | + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, | ||
1132 | + 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, | ||
1133 | + 37, -1, -1, -1, -1, 42, -1, -1, -1, 1, | ||
1134 | + -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, | ||
1135 | + -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, | ||
1136 | + 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, | ||
1137 | + 32, -1, -1, -1, -1, 37, -1, -1, -1, -1, | ||
1138 | + 42, -1, -1, -1, 1, -1, -1, 49, 5, 6, | ||
1139 | + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, | ||
1140 | + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, | ||
1141 | + 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, | ||
1142 | + 37, -1, -1, -1, -1, 42, -1, -1, -1, -1, | ||
1143 | + -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, | ||
1144 | + -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, | ||
1145 | + 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, | ||
1146 | + 32, -1, -1, -1, -1, -1, 38, -1, -1, -1, | ||
1147 | + 42, -1, -1, -1, -1, -1, 48, -1, 50, 5, | ||
1148 | 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, | ||
1149 | 16, 17, 18, 19, 20, 21, 22, -1, 24, 25, | ||
1150 | - 26, 27, 28, -1, -1, 31, -1, -1, -1, -1, | ||
1151 | - 36, -1, -1, -1, -1, 41, 5, 6, 7, 8, | ||
1152 | - 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, | ||
1153 | - 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, | ||
1154 | - -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, | ||
1155 | - -1, -1, 41 | ||
1156 | + 26, 27, 28, -1, -1, 31, 32, -1, -1, -1, | ||
1157 | + -1, 37, -1, -1, -1, -1, 42, 5, 6, 7, | ||
1158 | + 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, | ||
1159 | + 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, | ||
1160 | + 28, -1, -1, 31, 32, -1, -1, -1, -1, -1, | ||
1161 | + -1, -1, -1, -1, 42 | ||
1162 | }; | ||
1163 | |||
1164 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | ||
1165 | symbol of state STATE-NUM. */ | ||
1166 | static const yytype_uint8 yystos[] = | ||
1167 | { | ||
1168 | - 0, 54, 55, 56, 0, 55, 1, 5, 6, 7, | ||
1169 | + 0, 55, 56, 57, 0, 56, 1, 5, 6, 7, | ||
1170 | 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, | ||
1171 | 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, | ||
1172 | - 28, 29, 30, 31, 41, 57, 60, 64, 65, 66, | ||
1173 | - 67, 68, 69, 73, 84, 99, 101, 44, 45, 37, | ||
1174 | - 51, 96, 23, 37, 51, 87, 59, 37, 87, 47, | ||
1175 | - 47, 44, 37, 47, 48, 61, 62, 63, 70, 74, | ||
1176 | - 75, 66, 96, 37, 97, 98, 58, 87, 1, 64, | ||
1177 | - 88, 89, 90, 60, 64, 87, 65, 37, 1, 74, | ||
1178 | - 71, 72, 73, 44, 46, 74, 30, 32, 100, 33, | ||
1179 | - 47, 50, 45, 46, 60, 44, 45, 37, 41, 47, | ||
1180 | - 52, 70, 76, 77, 91, 92, 93, 94, 45, 1, | ||
1181 | - 90, 74, 48, 49, 49, 49, 49, 73, 63, 95, | ||
1182 | - 1, 65, 78, 79, 80, 81, 34, 45, 98, 94, | ||
1183 | - 1, 37, 76, 34, 76, 95, 33, 47, 44, 46, | ||
1184 | - 49, 44, 31, 50, 85, 86, 49, 37, 41, 47, | ||
1185 | - 70, 82, 83, 49, 36, 46, 49, 49, 1, 78, | ||
1186 | - 93, 34, 1, 41, 82, 82, 33, 47, 36, 81, | ||
1187 | - 49, 49, 49, 49, 1, 78, 49, 49 | ||
1188 | + 28, 29, 30, 31, 32, 42, 58, 61, 65, 66, | ||
1189 | + 67, 68, 69, 70, 74, 85, 100, 102, 45, 46, | ||
1190 | + 38, 52, 97, 23, 38, 52, 88, 60, 38, 88, | ||
1191 | + 48, 48, 45, 38, 48, 50, 62, 63, 64, 71, | ||
1192 | + 75, 76, 67, 97, 38, 98, 99, 59, 88, 1, | ||
1193 | + 65, 89, 90, 91, 61, 65, 88, 66, 82, 38, | ||
1194 | + 1, 75, 72, 73, 74, 45, 47, 75, 30, 33, | ||
1195 | + 101, 34, 48, 51, 46, 47, 61, 45, 46, 38, | ||
1196 | + 42, 48, 53, 71, 77, 78, 92, 93, 94, 95, | ||
1197 | + 46, 1, 91, 75, 38, 42, 48, 71, 83, 84, | ||
1198 | + 49, 49, 49, 49, 74, 64, 96, 1, 79, 80, | ||
1199 | + 81, 82, 35, 46, 99, 95, 1, 38, 77, 35, | ||
1200 | + 77, 96, 34, 48, 45, 47, 1, 42, 83, 83, | ||
1201 | + 34, 48, 45, 31, 51, 86, 87, 49, 49, 37, | ||
1202 | + 47, 49, 49, 1, 79, 94, 49, 49, 1, 79, | ||
1203 | + 35, 37, 82, 49, 49, 49, 49 | ||
1204 | }; | ||
1205 | |||
1206 | #define yyerrok (yyerrstatus = 0) | ||
1207 | @@ -890,17 +895,18 @@ static const yytype_uint8 yystos[] = | ||
1208 | |||
1209 | #define YYRECOVERING() (!!yyerrstatus) | ||
1210 | |||
1211 | -#define YYBACKUP(Token, Value) \ | ||
1212 | -do \ | ||
1213 | - if (yychar == YYEMPTY && yylen == 1) \ | ||
1214 | - { \ | ||
1215 | - yychar = (Token); \ | ||
1216 | - yylval = (Value); \ | ||
1217 | - YYPOPSTACK (1); \ | ||
1218 | - goto yybackup; \ | ||
1219 | - } \ | ||
1220 | - else \ | ||
1221 | - { \ | ||
1222 | +#define YYBACKUP(Token, Value) \ | ||
1223 | +do \ | ||
1224 | + if (yychar == YYEMPTY) \ | ||
1225 | + { \ | ||
1226 | + yychar = (Token); \ | ||
1227 | + yylval = (Value); \ | ||
1228 | + YYPOPSTACK (yylen); \ | ||
1229 | + yystate = *yyssp; \ | ||
1230 | + goto yybackup; \ | ||
1231 | + } \ | ||
1232 | + else \ | ||
1233 | + { \ | ||
1234 | yyerror (YY_("syntax error: cannot back up")); \ | ||
1235 | YYERROR; \ | ||
1236 | } \ | ||
1237 | @@ -995,6 +1001,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) | ||
1238 | YYSTYPE const * const yyvaluep; | ||
1239 | #endif | ||
1240 | { | ||
1241 | + FILE *yyo = yyoutput; | ||
1242 | + YYUSE (yyo); | ||
1243 | if (!yyvaluep) | ||
1244 | return; | ||
1245 | # ifdef YYPRINT | ||
1246 | @@ -1246,12 +1254,12 @@ static int | ||
1247 | yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | ||
1248 | yytype_int16 *yyssp, int yytoken) | ||
1249 | { | ||
1250 | - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); | ||
1251 | + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); | ||
1252 | YYSIZE_T yysize = yysize0; | ||
1253 | YYSIZE_T yysize1; | ||
1254 | enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; | ||
1255 | /* Internationalized format string. */ | ||
1256 | - const char *yyformat = 0; | ||
1257 | + const char *yyformat = YY_NULL; | ||
1258 | /* Arguments of yyformat. */ | ||
1259 | char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; | ||
1260 | /* Number of reported tokens (one for the "unexpected", one per | ||
1261 | @@ -1311,7 +1319,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | ||
1262 | break; | ||
1263 | } | ||
1264 | yyarg[yycount++] = yytname[yyx]; | ||
1265 | - yysize1 = yysize + yytnamerr (0, yytname[yyx]); | ||
1266 | + yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); | ||
1267 | if (! (yysize <= yysize1 | ||
1268 | && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) | ||
1269 | return 2; | ||
1270 | @@ -1463,7 +1471,7 @@ yyparse () | ||
1271 | `yyss': related to states. | ||
1272 | `yyvs': related to semantic values. | ||
1273 | |||
1274 | - Refer to the stacks thru separate pointers, to allow yyoverflow | ||
1275 | + Refer to the stacks through separate pointers, to allow yyoverflow | ||
1276 | to reallocate them elsewhere. */ | ||
1277 | |||
1278 | /* The state stack. */ | ||
1279 | @@ -2346,7 +2354,7 @@ yyabortlab: | ||
1280 | yyresult = 1; | ||
1281 | goto yyreturn; | ||
1282 | |||
1283 | -#if !defined(yyoverflow) || YYERROR_VERBOSE | ||
1284 | +#if !defined yyoverflow || YYERROR_VERBOSE | ||
1285 | /*-------------------------------------------------. | ||
1286 | | yyexhaustedlab -- memory exhaustion comes here. | | ||
1287 | `-------------------------------------------------*/ | ||
1288 | diff --git a/scripts/genksyms/parse.tab.h_shipped b/scripts/genksyms/parse.tab.h_shipped | ||
1289 | index 93240a3cdecc..a4737dec4532 100644 | ||
1290 | --- a/scripts/genksyms/parse.tab.h_shipped | ||
1291 | +++ b/scripts/genksyms/parse.tab.h_shipped | ||
1292 | @@ -1,8 +1,8 @@ | ||
1293 | -/* A Bison parser, made by GNU Bison 2.5. */ | ||
1294 | +/* A Bison parser, made by GNU Bison 2.5.1. */ | ||
1295 | |||
1296 | /* Bison interface for Yacc-like parsers in C | ||
1297 | |||
1298 | - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. | ||
1299 | + Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. | ||
1300 | |||
1301 | This program is free software: you can redistribute it and/or modify | ||
1302 | it under the terms of the GNU General Public License as published by | ||
1303 | @@ -66,18 +66,19 @@ | ||
1304 | EXPORT_SYMBOL_KEYW = 284, | ||
1305 | ASM_PHRASE = 285, | ||
1306 | ATTRIBUTE_PHRASE = 286, | ||
1307 | - BRACE_PHRASE = 287, | ||
1308 | - BRACKET_PHRASE = 288, | ||
1309 | - EXPRESSION_PHRASE = 289, | ||
1310 | - CHAR = 290, | ||
1311 | - DOTS = 291, | ||
1312 | - IDENT = 292, | ||
1313 | - INT = 293, | ||
1314 | - REAL = 294, | ||
1315 | - STRING = 295, | ||
1316 | - TYPE = 296, | ||
1317 | - OTHER = 297, | ||
1318 | - FILENAME = 298 | ||
1319 | + TYPEOF_PHRASE = 287, | ||
1320 | + BRACE_PHRASE = 288, | ||
1321 | + BRACKET_PHRASE = 289, | ||
1322 | + EXPRESSION_PHRASE = 290, | ||
1323 | + CHAR = 291, | ||
1324 | + DOTS = 292, | ||
1325 | + IDENT = 293, | ||
1326 | + INT = 294, | ||
1327 | + REAL = 295, | ||
1328 | + STRING = 296, | ||
1329 | + TYPE = 297, | ||
1330 | + OTHER = 298, | ||
1331 | + FILENAME = 299 | ||
1332 | }; | ||
1333 | #endif | ||
1334 | |||
1335 | diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y | ||
1336 | index 23c39998ad86..b9f4cf202302 100644 | ||
1337 | --- a/scripts/genksyms/parse.y | ||
1338 | +++ b/scripts/genksyms/parse.y | ||
1339 | @@ -103,6 +103,7 @@ static void record_compound(struct string_list **keyw, | ||
1340 | |||
1341 | %token ASM_PHRASE | ||
1342 | %token ATTRIBUTE_PHRASE | ||
1343 | +%token TYPEOF_PHRASE | ||
1344 | %token BRACE_PHRASE | ||
1345 | %token BRACKET_PHRASE | ||
1346 | %token EXPRESSION_PHRASE | ||
1347 | @@ -220,8 +221,8 @@ storage_class_specifier: | ||
1348 | type_specifier: | ||
1349 | simple_type_specifier | ||
1350 | | cvar_qualifier | ||
1351 | - | TYPEOF_KEYW '(' decl_specifier_seq '*' ')' | ||
1352 | - | TYPEOF_KEYW '(' decl_specifier_seq ')' | ||
1353 | + | TYPEOF_KEYW '(' parameter_declaration ')' | ||
1354 | + | TYPEOF_PHRASE | ||
1355 | |||
1356 | /* References to s/u/e's defined elsewhere. Rearrange things | ||
1357 | so that it is easier to expand the definition fully later. */ | ||
1358 | -- | ||
1359 | 2.11.0 | ||
1360 | |||
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend b/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend index 58c64de..eb6df6c 100644 --- a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend +++ b/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend | |||
@@ -27,6 +27,11 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" | ||
31 | SRC_URI += " \ | ||
32 | file://0001-genksyms-fix-typeof-handling.patch \ | ||
33 | " | ||
34 | |||
30 | # kernel image files are not needed in the image | 35 | # kernel image files are not needed in the image |
31 | RDEPENDS_kernel-base = "" | 36 | RDEPENDS_kernel-base = "" |
32 | 37 | ||