aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/genksyms
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2011-02-15 10:04:35 -0500
committerMichal Marek <mmarek@suse.cz>2011-03-17 10:13:56 -0400
commit303fc01fb12d95cf9ab88c496df6651c887cef3c (patch)
treebbfc1b170233aeac7f1f2b14f435a41c5d2c9959 /scripts/genksyms
parente37ddb82500393cb417c3ab0fe0726d9a8652372 (diff)
genksyms: Regenerate lexer and parser
Regenerated the parser after "genksyms: Track changes to enum constants". Signed-off-by: Michal Marek <mmarek@suse.cz> Acked-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/genksyms')
-rw-r--r--scripts/genksyms/lex.c_shipped30
-rw-r--r--scripts/genksyms/parse.c_shipped1071
-rw-r--r--scripts/genksyms/parse.h_shipped72
3 files changed, 661 insertions, 512 deletions
diff --git a/scripts/genksyms/lex.c_shipped b/scripts/genksyms/lex.c_shipped
index f231c0810c6..af4939041e4 100644
--- a/scripts/genksyms/lex.c_shipped
+++ b/scripts/genksyms/lex.c_shipped
@@ -2253,12 +2253,23 @@ void yyfree (void * ptr )
2253 2253
2254/* Macros to append to our phrase collection list. */ 2254/* Macros to append to our phrase collection list. */
2255 2255
2256/*
2257 * We mark any token, that that equals to a known enumerator, as
2258 * SYM_ENUM_CONST. The parser will change this for struct and union tags later,
2259 * the only problem is struct and union members:
2260 * enum e { a, b }; struct s { int a, b; }
2261 * but in this case, the only effect will be, that the ABI checksums become
2262 * more volatile, which is acceptable. Also, such collisions are quite rare,
2263 * so far it was only observed in include/linux/telephony.h.
2264 */
2256#define _APP(T,L) do { \ 2265#define _APP(T,L) do { \
2257 cur_node = next_node; \ 2266 cur_node = next_node; \
2258 next_node = xmalloc(sizeof(*next_node)); \ 2267 next_node = xmalloc(sizeof(*next_node)); \
2259 next_node->next = cur_node; \ 2268 next_node->next = cur_node; \
2260 cur_node->string = memcpy(xmalloc(L+1), T, L+1); \ 2269 cur_node->string = memcpy(xmalloc(L+1), T, L+1); \
2261 cur_node->tag = SYM_NORMAL; \ 2270 cur_node->tag = \
2271 find_symbol(cur_node->string, SYM_ENUM_CONST, 1)?\
2272 SYM_ENUM_CONST : SYM_NORMAL ; \
2262 } while (0) 2273 } while (0)
2263 2274
2264#define APP _APP(yytext, yyleng) 2275#define APP _APP(yytext, yyleng)
@@ -2336,8 +2347,8 @@ repeat:
2336 2347
2337 case STRUCT_KEYW: 2348 case STRUCT_KEYW:
2338 case UNION_KEYW: 2349 case UNION_KEYW:
2339 dont_want_brace_phrase = 3;
2340 case ENUM_KEYW: 2350 case ENUM_KEYW:
2351 dont_want_brace_phrase = 3;
2341 suppress_type_lookup = 2; 2352 suppress_type_lookup = 2;
2342 goto fini; 2353 goto fini;
2343 2354
@@ -2466,7 +2477,20 @@ repeat:
2466 ++count; 2477 ++count;
2467 APP; 2478 APP;
2468 goto repeat; 2479 goto repeat;
2469 case ')': case ']': case '}': 2480 case '}':
2481 /* is this the last line of an enum declaration? */
2482 if (count == 0)
2483 {
2484 /* Put back the token we just read so's we can find it again
2485 after registering the expression. */
2486 unput(token);
2487
2488 lexstate = ST_NORMAL;
2489 token = EXPRESSION_PHRASE;
2490 break;
2491 }
2492 /* FALLTHRU */
2493 case ')': case ']':
2470 --count; 2494 --count;
2471 APP; 2495 APP;
2472 goto repeat; 2496 goto repeat;
diff --git a/scripts/genksyms/parse.c_shipped b/scripts/genksyms/parse.c_shipped
index 809b949e495..1a0b8607fb0 100644
--- a/scripts/genksyms/parse.c_shipped
+++ b/scripts/genksyms/parse.c_shipped
@@ -1,24 +1,23 @@
1/* A Bison parser, made by GNU Bison 2.3. */
2 1
3/* Skeleton implementation for Bison's Yacc-like parsers in C 2/* A Bison parser, made by GNU Bison 2.4.1. */
4 3
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 4/* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc. 7 Free Software Foundation, Inc.
7 8
8 This program is free software; you can redistribute it and/or modify 9 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option) 11 the Free Software Foundation, either version 3 of the License, or
11 any later version. 12 (at your option) any later version.
12 13
13 This program is distributed in the hope that it will be useful, 14 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details. 17 GNU General Public License for more details.
17 18
18 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22 21
23/* As a special exception, you may create a larger work that contains 22/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work 23 part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
29 special exception, which will cause the skeleton and the resulting 28 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public 29 Bison output files to be licensed under the GNU General Public
31 License without this special exception. 30 License without this special exception.
32 31
33 This special exception was added by the Free Software Foundation in 32 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */ 33 version 2.2 of Bison. */
35 34
@@ -47,7 +46,7 @@
47#define YYBISON 1 46#define YYBISON 1
48 47
49/* Bison version. */ 48/* Bison version. */
50#define YYBISON_VERSION "2.3" 49#define YYBISON_VERSION "2.4.1"
51 50
52/* Skeleton name. */ 51/* Skeleton name. */
53#define YYSKELETON_NAME "yacc.c" 52#define YYSKELETON_NAME "yacc.c"
@@ -55,11 +54,75 @@
55/* Pure parsers. */ 54/* Pure parsers. */
56#define YYPURE 0 55#define YYPURE 0
57 56
57/* Push parsers. */
58#define YYPUSH 0
59
60/* Pull parsers. */
61#define YYPULL 1
62
58/* Using locations. */ 63/* Using locations. */
59#define YYLSP_NEEDED 0 64#define YYLSP_NEEDED 0
60 65
61 66
62 67
68/* Copy the first part of user declarations. */
69
70/* Line 189 of yacc.c */
71#line 24 "scripts/genksyms/parse.y"
72
73
74#include <assert.h>
75#include <stdlib.h>
76#include <string.h>
77#include "genksyms.h"
78
79static int is_typedef;
80static int is_extern;
81static char *current_name;
82static struct string_list *decl_spec;
83
84static void yyerror(const char *);
85
86static inline void
87remove_node(struct string_list **p)
88{
89 struct string_list *node = *p;
90 *p = node->next;
91 free_node(node);
92}
93
94static inline void
95remove_list(struct string_list **pb, struct string_list **pe)
96{
97 struct string_list *b = *pb, *e = *pe;
98 *pb = e;
99 free_list(b, e);
100}
101
102
103
104/* Line 189 of yacc.c */
105#line 106 "scripts/genksyms/parse.c"
106
107/* Enabling traces. */
108#ifndef YYDEBUG
109# define YYDEBUG 1
110#endif
111
112/* Enabling verbose error messages. */
113#ifdef YYERROR_VERBOSE
114# undef YYERROR_VERBOSE
115# define YYERROR_VERBOSE 1
116#else
117# define YYERROR_VERBOSE 0
118#endif
119
120/* Enabling the token table. */
121#ifndef YYTOKEN_TABLE
122# define YYTOKEN_TABLE 0
123#endif
124
125
63/* Tokens. */ 126/* Tokens. */
64#ifndef YYTOKENTYPE 127#ifndef YYTOKENTYPE
65# define YYTOKENTYPE 128# define YYTOKENTYPE
@@ -109,117 +172,22 @@
109 FILENAME = 298 172 FILENAME = 298
110 }; 173 };
111#endif 174#endif
112/* Tokens. */
113#define ASM_KEYW 258
114#define ATTRIBUTE_KEYW 259
115#define AUTO_KEYW 260
116#define BOOL_KEYW 261
117#define CHAR_KEYW 262
118#define CONST_KEYW 263
119#define DOUBLE_KEYW 264
120#define ENUM_KEYW 265
121#define EXTERN_KEYW 266
122#define EXTENSION_KEYW 267
123#define FLOAT_KEYW 268
124#define INLINE_KEYW 269
125#define INT_KEYW 270
126#define LONG_KEYW 271
127#define REGISTER_KEYW 272
128#define RESTRICT_KEYW 273
129#define SHORT_KEYW 274
130#define SIGNED_KEYW 275
131#define STATIC_KEYW 276
132#define STRUCT_KEYW 277
133#define TYPEDEF_KEYW 278
134#define UNION_KEYW 279
135#define UNSIGNED_KEYW 280
136#define VOID_KEYW 281
137#define VOLATILE_KEYW 282
138#define TYPEOF_KEYW 283
139#define EXPORT_SYMBOL_KEYW 284
140#define ASM_PHRASE 285
141#define ATTRIBUTE_PHRASE 286
142#define BRACE_PHRASE 287
143#define BRACKET_PHRASE 288
144#define EXPRESSION_PHRASE 289
145#define CHAR 290
146#define DOTS 291
147#define IDENT 292
148#define INT 293
149#define REAL 294
150#define STRING 295
151#define TYPE 296
152#define OTHER 297
153#define FILENAME 298
154
155
156
157
158/* Copy the first part of user declarations. */
159#line 24 "scripts/genksyms/parse.y"
160
161
162#include <assert.h>
163#include <stdlib.h>
164#include "genksyms.h"
165
166static int is_typedef;
167static int is_extern;
168static char *current_name;
169static struct string_list *decl_spec;
170
171static void yyerror(const char *);
172
173static inline void
174remove_node(struct string_list **p)
175{
176 struct string_list *node = *p;
177 *p = node->next;
178 free_node(node);
179}
180
181static inline void
182remove_list(struct string_list **pb, struct string_list **pe)
183{
184 struct string_list *b = *pb, *e = *pe;
185 *pb = e;
186 free_list(b, e);
187}
188
189
190
191/* Enabling traces. */
192#ifndef YYDEBUG
193# define YYDEBUG 1
194#endif
195 175
196/* Enabling verbose error messages. */
197#ifdef YYERROR_VERBOSE
198# undef YYERROR_VERBOSE
199# define YYERROR_VERBOSE 1
200#else
201# define YYERROR_VERBOSE 0
202#endif
203 176
204/* Enabling the token table. */
205#ifndef YYTOKEN_TABLE
206# define YYTOKEN_TABLE 0
207#endif
208 177
209#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 178#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
210typedef int YYSTYPE; 179typedef int YYSTYPE;
180# define YYSTYPE_IS_TRIVIAL 1
211# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 181# define yystype YYSTYPE /* obsolescent; will be withdrawn */
212# define YYSTYPE_IS_DECLARED 1 182# define YYSTYPE_IS_DECLARED 1
213# define YYSTYPE_IS_TRIVIAL 1
214#endif 183#endif
215 184
216 185
217
218/* Copy the second part of user declarations. */ 186/* Copy the second part of user declarations. */
219 187
220 188
221/* Line 216 of yacc.c. */ 189/* Line 264 of yacc.c */
222#line 223 "scripts/genksyms/parse.c" 190#line 191 "scripts/genksyms/parse.c"
223 191
224#ifdef short 192#ifdef short
225# undef short 193# undef short
@@ -294,14 +262,14 @@ typedef short int yytype_int16;
294#if (defined __STDC__ || defined __C99__FUNC__ \ 262#if (defined __STDC__ || defined __C99__FUNC__ \
295 || defined __cplusplus || defined _MSC_VER) 263 || defined __cplusplus || defined _MSC_VER)
296static int 264static int
297YYID (int i) 265YYID (int yyi)
298#else 266#else
299static int 267static int
300YYID (i) 268YYID (yyi)
301 int i; 269 int yyi;
302#endif 270#endif
303{ 271{
304 return i; 272 return yyi;
305} 273}
306#endif 274#endif
307 275
@@ -382,9 +350,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
382/* A type that is properly aligned for any stack member. */ 350/* A type that is properly aligned for any stack member. */
383union yyalloc 351union yyalloc
384{ 352{
385 yytype_int16 yyss; 353 yytype_int16 yyss_alloc;
386 YYSTYPE yyvs; 354 YYSTYPE yyvs_alloc;
387 }; 355};
388 356
389/* The size of the maximum gap between one aligned stack and the next. */ 357/* The size of the maximum gap between one aligned stack and the next. */
390# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 358# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -418,12 +386,12 @@ union yyalloc
418 elements in the stack, and YYPTR gives the new location of the 386 elements in the stack, and YYPTR gives the new location of the
419 stack. Advance YYPTR to a properly aligned location for the next 387 stack. Advance YYPTR to a properly aligned location for the next
420 stack. */ 388 stack. */
421# define YYSTACK_RELOCATE(Stack) \ 389# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
422 do \ 390 do \
423 { \ 391 { \
424 YYSIZE_T yynewbytes; \ 392 YYSIZE_T yynewbytes; \
425 YYCOPY (&yyptr->Stack, Stack, yysize); \ 393 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
426 Stack = &yyptr->Stack; \ 394 Stack = &yyptr->Stack_alloc; \
427 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 395 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
428 yyptr += yynewbytes / sizeof (*yyptr); \ 396 yyptr += yynewbytes / sizeof (*yyptr); \
429 } \ 397 } \
@@ -434,16 +402,16 @@ union yyalloc
434/* YYFINAL -- State number of the termination state. */ 402/* YYFINAL -- State number of the termination state. */
435#define YYFINAL 4 403#define YYFINAL 4
436/* YYLAST -- Last index in YYTABLE. */ 404/* YYLAST -- Last index in YYTABLE. */
437#define YYLAST 523 405#define YYLAST 532
438 406
439/* YYNTOKENS -- Number of terminals. */ 407/* YYNTOKENS -- Number of terminals. */
440#define YYNTOKENS 53 408#define YYNTOKENS 53
441/* YYNNTS -- Number of nonterminals. */ 409/* YYNNTS -- Number of nonterminals. */
442#define YYNNTS 46 410#define YYNNTS 49
443/* YYNRULES -- Number of rules. */ 411/* YYNRULES -- Number of rules. */
444#define YYNRULES 126 412#define YYNRULES 132
445/* YYNRULES -- Number of states. */ 413/* YYNRULES -- Number of states. */
446#define YYNSTATES 178 414#define YYNSTATES 188
447 415
448/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 416/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
449#define YYUNDEFTOK 2 417#define YYUNDEFTOK 2
@@ -504,7 +472,8 @@ static const yytype_uint16 yyprhs[] =
504 239, 242, 245, 247, 248, 250, 252, 257, 262, 265, 472 239, 242, 245, 247, 248, 250, 252, 257, 262, 265,
505 269, 273, 277, 278, 280, 283, 287, 291, 292, 294, 473 269, 273, 277, 278, 280, 283, 287, 291, 292, 294,
506 296, 299, 303, 306, 307, 309, 311, 315, 318, 321, 474 296, 299, 303, 306, 307, 309, 311, 315, 318, 321,
507 323, 326, 327, 330, 333, 334, 336 475 323, 326, 327, 330, 334, 339, 341, 345, 347, 351,
476 354, 355, 357
508}; 477};
509 478
510/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 479/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -512,16 +481,16 @@ static const yytype_int8 yyrhs[] =
512{ 481{
513 54, 0, -1, 55, -1, 54, 55, -1, -1, 56, 482 54, 0, -1, 55, -1, 54, 55, -1, -1, 56,
514 57, -1, -1, 12, 23, 58, 60, -1, -1, 23, 483 57, -1, -1, 12, 23, 58, 60, -1, -1, 23,
515 59, 60, -1, 60, -1, 84, -1, 96, -1, 98, 484 59, 60, -1, 60, -1, 84, -1, 99, -1, 101,
516 -1, 1, 44, -1, 1, 45, -1, 64, 61, 44, 485 -1, 1, 44, -1, 1, 45, -1, 64, 61, 44,
517 -1, -1, 62, -1, 63, -1, 62, 46, 63, -1, 486 -1, -1, 62, -1, 63, -1, 62, 46, 63, -1,
518 74, 97, 95, 85, -1, -1, 65, -1, 66, -1, 487 74, 100, 95, 85, -1, -1, 65, -1, 66, -1,
519 65, 66, -1, 67, -1, 68, -1, 5, -1, 17, 488 65, 66, -1, 67, -1, 68, -1, 5, -1, 17,
520 -1, 21, -1, 11, -1, 14, -1, 69, -1, 73, 489 -1, 21, -1, 11, -1, 14, -1, 69, -1, 73,
521 -1, 28, 47, 65, 48, 49, -1, 28, 47, 65, 490 -1, 28, 47, 65, 48, 49, -1, 28, 47, 65,
522 49, -1, 22, 37, -1, 24, 37, -1, 10, 37, 491 49, -1, 22, 37, -1, 24, 37, -1, 10, 37,
523 -1, 22, 37, 87, -1, 24, 37, 87, -1, 10, 492 -1, 22, 37, 87, -1, 24, 37, 87, -1, 10,
524 37, 32, -1, 10, 32, -1, 22, 87, -1, 24, 493 37, 96, -1, 10, 96, -1, 22, 87, -1, 24,
525 87, -1, 7, -1, 19, -1, 15, -1, 16, -1, 494 87, -1, 7, -1, 19, -1, 15, -1, 16, -1,
526 20, -1, 25, -1, 13, -1, 9, -1, 26, -1, 495 20, -1, 25, -1, 13, -1, 9, -1, 26, -1,
527 6, -1, 41, -1, 48, 71, -1, -1, 72, -1, 496 6, -1, 41, -1, 48, 71, -1, -1, 72, -1,
@@ -543,26 +512,29 @@ static const yytype_int8 yyrhs[] =
543 91, 44, -1, 1, 44, -1, -1, 92, -1, 93, 512 91, 44, -1, 1, 44, -1, -1, 92, -1, 93,
544 -1, 92, 46, 93, -1, 76, 95, -1, 37, 94, 513 -1, 92, 46, 93, -1, 76, 95, -1, 37, 94,
545 -1, 94, -1, 52, 34, -1, -1, 95, 31, -1, 514 -1, 94, -1, 52, 34, -1, -1, 95, 31, -1,
546 30, 44, -1, -1, 30, -1, 29, 47, 37, 49, 515 51, 97, 45, -1, 51, 97, 46, 45, -1, 98,
547 44, -1 516 -1, 97, 46, 98, -1, 37, -1, 37, 50, 34,
517 -1, 30, 44, -1, -1, 30, -1, 29, 47, 37,
518 49, 44, -1
548}; 519};
549 520
550/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 521/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
551static const yytype_uint16 yyrline[] = 522static const yytype_uint16 yyrline[] =
552{ 523{
553 0, 103, 103, 104, 108, 108, 114, 114, 116, 116, 524 0, 104, 104, 105, 109, 109, 115, 115, 117, 117,
554 118, 119, 120, 121, 122, 123, 127, 141, 142, 146, 525 119, 120, 121, 122, 123, 124, 128, 142, 143, 147,
555 154, 167, 173, 174, 178, 179, 183, 189, 193, 194, 526 155, 168, 174, 175, 179, 180, 184, 190, 194, 195,
556 195, 196, 197, 201, 202, 203, 204, 208, 210, 212, 527 196, 197, 198, 202, 203, 204, 205, 209, 211, 213,
557 216, 223, 230, 239, 240, 241, 245, 246, 247, 248, 528 217, 224, 231, 241, 244, 245, 249, 250, 251, 252,
558 249, 250, 251, 252, 253, 254, 255, 259, 264, 265, 529 253, 254, 255, 256, 257, 258, 259, 263, 268, 269,
559 269, 270, 274, 274, 274, 275, 283, 284, 288, 297, 530 273, 274, 278, 278, 278, 279, 287, 288, 292, 301,
560 299, 301, 303, 305, 312, 313, 317, 318, 319, 321, 531 303, 305, 307, 309, 316, 317, 321, 322, 323, 325,
561 323, 325, 327, 332, 333, 334, 338, 339, 343, 344, 532 327, 329, 331, 336, 337, 338, 342, 343, 347, 348,
562 349, 354, 356, 360, 361, 369, 373, 375, 377, 379, 533 353, 358, 360, 364, 365, 373, 377, 379, 381, 383,
563 381, 386, 395, 396, 401, 406, 407, 411, 412, 416, 534 385, 390, 399, 400, 405, 410, 411, 415, 416, 420,
564 417, 421, 423, 428, 429, 433, 434, 438, 439, 440, 535 421, 425, 427, 432, 433, 437, 438, 442, 443, 444,
565 444, 448, 449, 453, 457, 458, 462 536 448, 452, 453, 457, 458, 462, 463, 466, 471, 479,
537 483, 484, 488
566}; 538};
567#endif 539#endif
568 540
@@ -581,8 +553,8 @@ static const char *const yytname[] =
581 "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", 553 "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE",
582 "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING", 554 "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING",
583 "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'", 555 "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'",
584 "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "@1", 556 "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1",
585 "declaration1", "@2", "@3", "simple_declaration", 557 "declaration1", "$@2", "$@3", "simple_declaration",
586 "init_declarator_list_opt", "init_declarator_list", "init_declarator", 558 "init_declarator_list_opt", "init_declarator_list", "init_declarator",
587 "decl_specifier_seq_opt", "decl_specifier_seq", "decl_specifier", 559 "decl_specifier_seq_opt", "decl_specifier_seq", "decl_specifier",
588 "storage_class_specifier", "type_specifier", "simple_type_specifier", 560 "storage_class_specifier", "type_specifier", "simple_type_specifier",
@@ -596,7 +568,8 @@ static const char *const yytname[] =
596 "member_specification", "member_declaration", 568 "member_specification", "member_declaration",
597 "member_declarator_list_opt", "member_declarator_list", 569 "member_declarator_list_opt", "member_declarator_list",
598 "member_declarator", "member_bitfield_declarator", "attribute_opt", 570 "member_declarator", "member_bitfield_declarator", "attribute_opt",
599 "asm_definition", "asm_phrase_opt", "export_definition", 0 571 "enum_body", "enumerator_list", "enumerator", "asm_definition",
572 "asm_phrase_opt", "export_definition", 0
600}; 573};
601#endif 574#endif
602 575
@@ -629,7 +602,8 @@ static const yytype_uint8 yyr1[] =
629 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 602 81, 82, 82, 83, 83, 83, 83, 83, 83, 83,
630 83, 84, 85, 85, 86, 87, 87, 88, 88, 89, 603 83, 84, 85, 85, 86, 87, 87, 88, 88, 89,
631 89, 90, 90, 91, 91, 92, 92, 93, 93, 93, 604 89, 90, 90, 91, 91, 92, 92, 93, 93, 93,
632 94, 95, 95, 96, 97, 97, 98 605 94, 95, 95, 96, 96, 97, 97, 98, 98, 99,
606 100, 100, 101
633}; 607};
634 608
635/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 609/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -647,7 +621,8 @@ static const yytype_uint8 yyr2[] =
647 2, 2, 1, 0, 1, 1, 4, 4, 2, 3, 621 2, 2, 1, 0, 1, 1, 4, 4, 2, 3,
648 3, 3, 0, 1, 2, 3, 3, 0, 1, 1, 622 3, 3, 0, 1, 2, 3, 3, 0, 1, 1,
649 2, 3, 2, 0, 1, 1, 3, 2, 2, 1, 623 2, 3, 2, 0, 1, 1, 3, 2, 2, 1,
650 2, 0, 2, 2, 0, 1, 5 624 2, 0, 2, 3, 4, 1, 3, 1, 3, 2,
625 0, 1, 5
651}; 626};
652 627
653/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 628/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -659,17 +634,18 @@ static const yytype_uint8 yydefact[] =
659 62, 53, 0, 31, 0, 52, 32, 48, 49, 29, 634 62, 53, 0, 31, 0, 52, 32, 48, 49, 29,
660 65, 47, 50, 30, 0, 8, 0, 51, 54, 63, 635 65, 47, 50, 30, 0, 8, 0, 51, 54, 63,
661 0, 0, 0, 64, 56, 5, 10, 17, 23, 24, 636 0, 0, 0, 64, 56, 5, 10, 17, 23, 24,
662 26, 27, 33, 34, 11, 12, 13, 14, 15, 43, 637 26, 27, 33, 34, 11, 12, 13, 14, 15, 39,
663 39, 6, 37, 0, 44, 22, 38, 45, 0, 0, 638 0, 43, 6, 37, 0, 44, 22, 38, 45, 0,
664 123, 68, 0, 58, 0, 18, 19, 0, 124, 67, 639 0, 129, 68, 0, 58, 0, 18, 19, 0, 130,
665 25, 42, 22, 40, 0, 113, 0, 0, 109, 9, 640 67, 25, 42, 127, 0, 125, 22, 40, 0, 113,
666 17, 41, 0, 0, 0, 0, 57, 59, 60, 16, 641 0, 0, 109, 9, 17, 41, 0, 0, 0, 0,
667 0, 66, 125, 101, 121, 71, 0, 7, 112, 106, 642 57, 59, 60, 16, 0, 66, 131, 101, 121, 71,
668 76, 77, 0, 0, 0, 121, 75, 0, 114, 115, 643 0, 0, 123, 0, 7, 112, 106, 76, 77, 0,
669 119, 105, 0, 110, 124, 0, 36, 0, 73, 72, 644 0, 0, 121, 75, 0, 114, 115, 119, 105, 0,
670 61, 20, 102, 0, 93, 0, 84, 87, 88, 118, 645 110, 130, 0, 36, 0, 73, 72, 61, 20, 102,
646 0, 93, 0, 84, 87, 88, 128, 124, 126, 118,
671 0, 76, 0, 120, 74, 117, 80, 0, 111, 0, 647 0, 76, 0, 120, 74, 117, 80, 0, 111, 0,
672 35, 126, 122, 0, 21, 103, 70, 94, 56, 0, 648 35, 132, 122, 0, 21, 103, 70, 94, 56, 0,
673 93, 90, 92, 69, 83, 0, 82, 81, 0, 0, 649 93, 90, 92, 69, 83, 0, 82, 81, 0, 0,
674 116, 104, 0, 95, 0, 91, 98, 0, 85, 89, 650 116, 104, 0, 95, 0, 91, 98, 0, 85, 89,
675 79, 78, 100, 99, 0, 0, 97, 96 651 79, 78, 100, 99, 0, 0, 97, 96
@@ -678,46 +654,47 @@ static const yytype_uint8 yydefact[] =
678/* YYDEFGOTO[NTERM-NUM]. */ 654/* YYDEFGOTO[NTERM-NUM]. */
679static const yytype_int16 yydefgoto[] = 655static const yytype_int16 yydefgoto[] =
680{ 656{
681 -1, 1, 2, 3, 35, 72, 55, 36, 64, 65, 657 -1, 1, 2, 3, 35, 76, 56, 36, 65, 66,
682 66, 75, 38, 39, 40, 41, 42, 67, 86, 87, 658 67, 79, 38, 39, 40, 41, 42, 68, 90, 91,
683 43, 114, 69, 105, 106, 125, 126, 127, 128, 151, 659 43, 121, 70, 112, 113, 132, 133, 134, 135, 161,
684 152, 44, 144, 145, 54, 76, 77, 78, 107, 108, 660 162, 44, 154, 155, 55, 80, 81, 82, 114, 115,
685 109, 110, 122, 45, 94, 46 661 116, 117, 129, 51, 74, 75, 45, 98, 46
686}; 662};
687 663
688/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 664/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
689 STATE-NUM. */ 665 STATE-NUM. */
690#define YYPACT_NINF -134 666#define YYPACT_NINF -135
691static const yytype_int16 yypact[] = 667static const yytype_int16 yypact[] =
692{ 668{
693 -134, 16, -134, 312, -134, -134, 20, -134, -134, -134, 669 -135, 20, -135, 321, -135, -135, 30, -135, -135, -135,
694 -134, -134, -18, -134, -3, -134, -134, -134, -134, -134, 670 -135, -135, -28, -135, 2, -135, -135, -135, -135, -135,
695 -134, -134, -134, -134, -26, -134, -25, -134, -134, -134, 671 -135, -135, -135, -135, -6, -135, 9, -135, -135, -135,
696 -7, 5, 27, -134, -134, -134, -134, 46, 482, -134, 672 -5, 15, -17, -135, -135, -135, -135, 18, 491, -135,
697 -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, 673 -135, -135, -135, -135, -135, -135, -135, -135, -135, -22,
698 -8, -134, 30, 97, -134, 482, 30, -134, 482, 7, 674 31, -135, -135, 19, 106, -135, 491, 19, -135, 491,
699 -134, -134, 12, 10, 42, 55, -134, 46, -15, 15, 675 50, -135, -135, 11, -3, 51, 57, -135, 18, -14,
700 -134, -134, 482, -134, 25, 26, 47, 145, -134, -134, 676 14, -135, -135, 48, 46, -135, 491, -135, 33, 32,
701 46, -134, 356, 39, 71, 77, -134, 10, -134, -134, 677 59, 154, -135, -135, 18, -135, 365, 56, 60, 61,
702 46, -134, -134, -134, -134, -134, 193, -134, -134, -134, 678 -135, -3, -135, -135, 18, -135, -135, -135, -135, -135,
703 75, -134, 6, 95, 43, -134, 28, 86, 85, -134, 679 202, 74, -135, -23, -135, -135, -135, 77, -135, 16,
704 -134, -134, 88, -134, 103, 87, -134, 91, -134, -134, 680 101, 49, -135, 34, 92, 93, -135, -135, -135, 94,
705 -134, -134, -23, 90, 401, 94, 101, 102, -134, -134, 681 -135, 110, 95, -135, 97, -135, -135, -135, -135, -20,
706 98, -134, 108, -134, -134, 109, -134, 230, -134, 26, 682 96, 410, 99, 113, 100, -135, -135, -135, -135, -135,
707 -134, -134, -134, 134, -134, -134, -134, -134, -134, 9, 683 103, -135, 107, -135, -135, 111, -135, 239, -135, 32,
708 48, -134, 35, -134, -134, 445, -134, -134, 125, 126, 684 -135, -135, -135, 123, -135, -135, -135, -135, -135, 3,
709 -134, -134, 128, -134, 129, -134, -134, 267, -134, -134, 685 52, -135, 38, -135, -135, 454, -135, -135, 117, 128,
710 -134, -134, -134, -134, 130, 131, -134, -134 686 -135, -135, 134, -135, 135, -135, -135, 276, -135, -135,
687 -135, -135, -135, -135, 137, 138, -135, -135
711}; 688};
712 689
713/* YYPGOTO[NTERM-NUM]. */ 690/* YYPGOTO[NTERM-NUM]. */
714static const yytype_int16 yypgoto[] = 691static const yytype_int16 yypgoto[] =
715{ 692{
716 -134, -134, 180, -134, -134, -134, -134, -33, -134, -134, 693 -135, -135, 187, -135, -135, -135, -135, -50, -135, -135,
717 93, 0, -58, -37, -134, -134, -134, -73, -134, -134, 694 98, 0, -59, -37, -135, -135, -135, -77, -135, -135,
718 -54, -32, -134, -81, -134, -133, -134, -134, 29, -50, 695 -54, -30, -135, -90, -135, -134, -135, -135, 24, -58,
719 -134, -134, -134, -134, -20, -134, -134, 110, -134, -134, 696 -135, -135, -135, -135, -18, -135, -135, 109, -135, -135,
720 49, 96, 80, -134, -134, -134 697 44, 87, 84, 148, -135, 102, -135, -135, -135
721}; 698};
722 699
723/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 700/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -727,116 +704,118 @@ static const yytype_int16 yypgoto[] =
727#define YYTABLE_NINF -109 704#define YYTABLE_NINF -109
728static const yytype_int16 yytable[] = 705static const yytype_int16 yytable[] =
729{ 706{
730 82, 70, 104, 37, 159, 68, 57, 130, 142, 88, 707 86, 71, 111, 37, 172, 10, 83, 69, 58, 49,
731 162, 52, 56, 84, 49, 92, 4, 93, 10, 50, 708 92, 152, 88, 169, 73, 20, 96, 140, 97, 142,
732 51, 132, 79, 134, 71, 53, 53, 143, 20, 104, 709 4, 144, 137, 50, 29, 52, 104, 61, 33, 50,
733 85, 104, 73, 120, 175, 91, 81, 29, 124, 97, 710 153, 53, 111, 89, 111, 77, -93, 127, 95, 85,
734 58, 33, -93, 131, 83, 70, 147, 101, 95, 61, 711 157, 131, 59, 185, 173, 54, 57, 99, 62, 71,
735 163, 150, 59, 102, 63, 80, 149, 63, -93, 62, 712 159, 64, -93, 141, 160, 62, 84, 108, 63, 64,
736 63, 136, 96, 100, 47, 48, 104, 101, 166, 98, 713 54, 100, 60, 109, 64, 63, 64, 146, 73, 107,
737 99, 60, 80, 102, 63, 137, 150, 150, 103, 124, 714 54, 176, 111, 108, 47, 48, 84, 105, 106, 109,
738 131, 53, 167, 61, 101, 147, 89, 70, 117, 163, 715 64, 147, 160, 160, 110, 177, 141, 87, 131, 157,
739 102, 63, 111, 62, 63, 149, 63, 124, 74, 164, 716 108, 102, 103, 173, 71, 93, 109, 64, 101, 159,
740 165, 90, 7, 8, 9, 10, 11, 12, 13, 124, 717 64, 174, 175, 94, 118, 124, 131, 78, 136, 125,
741 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 718 126, 7, 8, 9, 10, 11, 12, 13, 131, 15,
742 118, 26, 27, 28, 29, 30, 119, 103, 33, 133, 719 16, 17, 18, 19, 20, 21, 22, 23, 24, 110,
743 138, 139, 98, 92, -22, 141, 140, 154, 34, 146, 720 26, 27, 28, 29, 30, 143, 148, 33, 105, 149,
744 142, -22, -107, 153, -22, -22, 112, 156, 155, -22, 721 96, 151, 152, -22, 150, 156, 165, 34, 163, 164,
745 7, 8, 9, 10, 11, 12, 13, 157, 15, 16, 722 -22, -107, 166, -22, -22, 119, 167, 171, -22, 7,
746 17, 18, 19, 20, 21, 22, 23, 24, 161, 26, 723 8, 9, 10, 11, 12, 13, 180, 15, 16, 17,
747 27, 28, 29, 30, 170, 171, 33, 172, 173, 176, 724 18, 19, 20, 21, 22, 23, 24, 181, 26, 27,
748 177, 5, -22, 121, 169, 135, 34, 113, 160, -22, 725 28, 29, 30, 182, 183, 33, 186, 187, 5, 179,
749 -108, 0, -22, -22, 123, 0, 129, -22, 7, 8, 726 120, -22, 128, 170, 139, 34, 145, 72, -22, -108,
750 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 727 0, -22, -22, 130, 0, 138, -22, 7, 8, 9,
751 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, 728 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
752 29, 30, 0, 0, 33, 0, 0, 0, 0, -86, 729 20, 21, 22, 23, 24, 0, 26, 27, 28, 29,
753 0, 158, 0, 0, 34, 7, 8, 9, 10, 11, 730 30, 0, 0, 33, 0, 0, 0, 0, -86, 0,
754 12, 13, -86, 15, 16, 17, 18, 19, 20, 21, 731 168, 0, 0, 34, 7, 8, 9, 10, 11, 12,
755 22, 23, 24, 0, 26, 27, 28, 29, 30, 0, 732 13, -86, 15, 16, 17, 18, 19, 20, 21, 22,
756 0, 33, 0, 0, 0, 0, -86, 0, 174, 0, 733 23, 24, 0, 26, 27, 28, 29, 30, 0, 0,
757 0, 34, 7, 8, 9, 10, 11, 12, 13, -86, 734 33, 0, 0, 0, 0, -86, 0, 184, 0, 0,
758 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 735 34, 7, 8, 9, 10, 11, 12, 13, -86, 15,
759 0, 26, 27, 28, 29, 30, 0, 0, 33, 0,
760 0, 0, 0, -86, 0, 0, 0, 0, 34, 0,
761 0, 0, 0, 6, 0, 0, -86, 7, 8, 9,
762 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
763 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
764 30, 31, 32, 33, 0, 0, 0, 0, 0, -22,
765 0, 0, 0, 34, 0, 0, -22, 0, 0, -22,
766 -22, 7, 8, 9, 10, 11, 12, 13, 0, 15,
767 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 736 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
768 26, 27, 28, 29, 30, 0, 0, 33, 0, 0, 737 26, 27, 28, 29, 30, 0, 0, 33, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 738 0, 0, -86, 0, 0, 0, 0, 34, 0, 0,
770 0, 0, 0, 0, 115, 116, 7, 8, 9, 10, 739 0, 0, 6, 0, 0, -86, 7, 8, 9, 10,
771 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 740 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
772 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, 741 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
773 0, 0, 33, 0, 0, 0, 0, 0, 147, 0, 742 31, 32, 33, 0, 0, 0, 0, 0, -22, 0,
774 0, 0, 148, 0, 0, 0, 0, 0, 149, 63, 743 0, 0, 34, 0, 0, -22, 0, 0, -22, -22,
775 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, 744 7, 8, 9, 10, 11, 12, 13, 0, 15, 16,
776 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, 745 17, 18, 19, 20, 21, 22, 23, 24, 0, 26,
777 27, 28, 29, 30, 0, 0, 33, 0, 0, 0, 746 27, 28, 29, 30, 0, 0, 33, 0, 0, 0,
778 0, 168, 0, 0, 0, 0, 34, 7, 8, 9, 747 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
779 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 748 0, 0, 0, 122, 123, 7, 8, 9, 10, 11,
780 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, 749 12, 13, 0, 15, 16, 17, 18, 19, 20, 21,
781 30, 0, 0, 33, 0, 0, 0, 0, 0, 0, 750 22, 23, 24, 0, 26, 27, 28, 29, 30, 0,
782 0, 0, 0, 34 751 0, 33, 0, 0, 0, 0, 0, 157, 0, 0,
752 0, 158, 0, 0, 0, 0, 0, 159, 64, 7,
753 8, 9, 10, 11, 12, 13, 0, 15, 16, 17,
754 18, 19, 20, 21, 22, 23, 24, 0, 26, 27,
755 28, 29, 30, 0, 0, 33, 0, 0, 0, 0,
756 178, 0, 0, 0, 0, 34, 7, 8, 9, 10,
757 11, 12, 13, 0, 15, 16, 17, 18, 19, 20,
758 21, 22, 23, 24, 0, 26, 27, 28, 29, 30,
759 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 34
783}; 761};
784 762
785static const yytype_int16 yycheck[] = 763static const yytype_int16 yycheck[] =
786{ 764{
787 58, 38, 75, 3, 137, 37, 26, 1, 31, 63, 765 59, 38, 79, 3, 1, 8, 56, 37, 26, 37,
788 1, 37, 37, 1, 32, 30, 0, 32, 8, 37, 766 64, 31, 1, 147, 37, 18, 30, 1, 32, 109,
789 23, 102, 55, 104, 32, 51, 51, 50, 18, 102, 767 0, 111, 45, 51, 27, 23, 76, 44, 31, 51,
790 62, 104, 52, 87, 167, 67, 56, 27, 96, 72, 768 50, 37, 109, 63, 111, 53, 33, 91, 68, 57,
791 47, 31, 33, 37, 37, 82, 37, 41, 33, 37, 769 37, 100, 47, 177, 41, 51, 37, 33, 37, 86,
792 41, 124, 47, 47, 48, 55, 47, 48, 49, 47, 770 47, 48, 49, 37, 131, 37, 56, 41, 47, 48,
793 48, 33, 47, 37, 44, 45, 139, 41, 33, 44, 771 51, 47, 47, 47, 48, 47, 48, 33, 37, 37,
794 45, 44, 72, 47, 48, 47, 149, 150, 52, 137, 772 51, 33, 149, 41, 44, 45, 76, 44, 45, 47,
795 37, 51, 47, 37, 41, 37, 44, 124, 49, 41, 773 48, 47, 159, 160, 52, 47, 37, 37, 147, 37,
796 47, 48, 45, 47, 48, 47, 48, 155, 1, 149, 774 41, 45, 46, 41, 131, 44, 47, 48, 50, 47,
797 150, 46, 5, 6, 7, 8, 9, 10, 11, 167, 775 48, 159, 160, 46, 45, 49, 165, 1, 34, 49,
798 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 776 49, 5, 6, 7, 8, 9, 10, 11, 177, 13,
799 49, 24, 25, 26, 27, 28, 49, 52, 31, 34, 777 14, 15, 16, 17, 18, 19, 20, 21, 22, 52,
800 44, 46, 44, 30, 37, 44, 49, 36, 41, 49, 778 24, 25, 26, 27, 28, 34, 44, 31, 44, 46,
801 31, 44, 45, 49, 47, 48, 1, 49, 46, 52, 779 30, 44, 31, 37, 49, 49, 46, 41, 49, 36,
802 5, 6, 7, 8, 9, 10, 11, 49, 13, 14, 780 44, 45, 49, 47, 48, 1, 49, 34, 52, 5,
803 15, 16, 17, 18, 19, 20, 21, 22, 34, 24, 781 6, 7, 8, 9, 10, 11, 49, 13, 14, 15,
804 25, 26, 27, 28, 49, 49, 31, 49, 49, 49, 782 16, 17, 18, 19, 20, 21, 22, 49, 24, 25,
805 49, 1, 37, 90, 155, 105, 41, 77, 139, 44, 783 26, 27, 28, 49, 49, 31, 49, 49, 1, 165,
806 45, -1, 47, 48, 1, -1, 100, 52, 5, 6, 784 81, 37, 94, 149, 107, 41, 112, 49, 44, 45,
807 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 785 -1, 47, 48, 1, -1, 103, 52, 5, 6, 7,
808 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, 786 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
809 27, 28, -1, -1, 31, -1, -1, -1, -1, 36, 787 18, 19, 20, 21, 22, -1, 24, 25, 26, 27,
810 -1, 1, -1, -1, 41, 5, 6, 7, 8, 9, 788 28, -1, -1, 31, -1, -1, -1, -1, 36, -1,
811 10, 11, 49, 13, 14, 15, 16, 17, 18, 19, 789 1, -1, -1, 41, 5, 6, 7, 8, 9, 10,
812 20, 21, 22, -1, 24, 25, 26, 27, 28, -1, 790 11, 49, 13, 14, 15, 16, 17, 18, 19, 20,
813 -1, 31, -1, -1, -1, -1, 36, -1, 1, -1, 791 21, 22, -1, 24, 25, 26, 27, 28, -1, -1,
814 -1, 41, 5, 6, 7, 8, 9, 10, 11, 49, 792 31, -1, -1, -1, -1, 36, -1, 1, -1, -1,
815 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 793 41, 5, 6, 7, 8, 9, 10, 11, 49, 13,
816 -1, 24, 25, 26, 27, 28, -1, -1, 31, -1,
817 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
818 -1, -1, -1, 1, -1, -1, 49, 5, 6, 7,
819 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
820 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
821 28, 29, 30, 31, -1, -1, -1, -1, -1, 37,
822 -1, -1, -1, 41, -1, -1, 44, -1, -1, 47,
823 48, 5, 6, 7, 8, 9, 10, 11, -1, 13,
824 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 794 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
825 24, 25, 26, 27, 28, -1, -1, 31, -1, -1, 795 24, 25, 26, 27, 28, -1, -1, 31, -1, -1,
826 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, 796 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
827 -1, -1, -1, -1, 48, 49, 5, 6, 7, 8, 797 -1, -1, 1, -1, -1, 49, 5, 6, 7, 8,
828 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, 798 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
829 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 799 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
830 -1, -1, 31, -1, -1, -1, -1, -1, 37, -1, 800 29, 30, 31, -1, -1, -1, -1, -1, 37, -1,
831 -1, -1, 41, -1, -1, -1, -1, -1, 47, 48, 801 -1, -1, 41, -1, -1, 44, -1, -1, 47, 48,
832 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 802 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
833 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 803 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
834 25, 26, 27, 28, -1, -1, 31, -1, -1, -1, 804 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
835 -1, 36, -1, -1, -1, -1, 41, 5, 6, 7, 805 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
836 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 806 -1, -1, -1, 48, 49, 5, 6, 7, 8, 9,
837 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, 807 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
838 28, -1, -1, 31, -1, -1, -1, -1, -1, -1, 808 20, 21, 22, -1, 24, 25, 26, 27, 28, -1,
839 -1, -1, -1, 41 809 -1, 31, -1, -1, -1, -1, -1, 37, -1, -1,
810 -1, 41, -1, -1, -1, -1, -1, 47, 48, 5,
811 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
812 16, 17, 18, 19, 20, 21, 22, -1, 24, 25,
813 26, 27, 28, -1, -1, 31, -1, -1, -1, -1,
814 36, -1, -1, -1, -1, 41, 5, 6, 7, 8,
815 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
816 19, 20, 21, 22, -1, 24, 25, 26, 27, 28,
817 -1, -1, 31, -1, -1, -1, -1, -1, -1, -1,
818 -1, -1, 41
840}; 819};
841 820
842/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 821/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -847,15 +826,16 @@ static const yytype_uint8 yystos[] =
847 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 826 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
848 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 827 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
849 28, 29, 30, 31, 41, 57, 60, 64, 65, 66, 828 28, 29, 30, 31, 41, 57, 60, 64, 65, 66,
850 67, 68, 69, 73, 84, 96, 98, 44, 45, 32, 829 67, 68, 69, 73, 84, 99, 101, 44, 45, 37,
851 37, 23, 37, 51, 87, 59, 37, 87, 47, 47, 830 51, 96, 23, 37, 51, 87, 59, 37, 87, 47,
852 44, 37, 47, 48, 61, 62, 63, 70, 74, 75, 831 47, 44, 37, 47, 48, 61, 62, 63, 70, 74,
853 66, 32, 58, 87, 1, 64, 88, 89, 90, 60, 832 75, 66, 96, 37, 97, 98, 58, 87, 1, 64,
854 64, 87, 65, 37, 1, 74, 71, 72, 73, 44, 833 88, 89, 90, 60, 64, 87, 65, 37, 1, 74,
855 46, 74, 30, 32, 97, 33, 47, 60, 44, 45, 834 71, 72, 73, 44, 46, 74, 30, 32, 100, 33,
856 37, 41, 47, 52, 70, 76, 77, 91, 92, 93, 835 47, 50, 45, 46, 60, 44, 45, 37, 41, 47,
857 94, 45, 1, 90, 74, 48, 49, 49, 49, 49, 836 52, 70, 76, 77, 91, 92, 93, 94, 45, 1,
858 73, 63, 95, 1, 65, 78, 79, 80, 81, 94, 837 90, 74, 48, 49, 49, 49, 49, 73, 63, 95,
838 1, 65, 78, 79, 80, 81, 34, 45, 98, 94,
859 1, 37, 76, 34, 76, 95, 33, 47, 44, 46, 839 1, 37, 76, 34, 76, 95, 33, 47, 44, 46,
860 49, 44, 31, 50, 85, 86, 49, 37, 41, 47, 840 49, 44, 31, 50, 85, 86, 49, 37, 41, 47,
861 70, 82, 83, 49, 36, 46, 49, 49, 1, 78, 841 70, 82, 83, 49, 36, 46, 49, 49, 1, 78,
@@ -1045,17 +1025,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
1045#if (defined __STDC__ || defined __C99__FUNC__ \ 1025#if (defined __STDC__ || defined __C99__FUNC__ \
1046 || defined __cplusplus || defined _MSC_VER) 1026 || defined __cplusplus || defined _MSC_VER)
1047static void 1027static void
1048yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) 1028yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1049#else 1029#else
1050static void 1030static void
1051yy_stack_print (bottom, top) 1031yy_stack_print (yybottom, yytop)
1052 yytype_int16 *bottom; 1032 yytype_int16 *yybottom;
1053 yytype_int16 *top; 1033 yytype_int16 *yytop;
1054#endif 1034#endif
1055{ 1035{
1056 YYFPRINTF (stderr, "Stack now"); 1036 YYFPRINTF (stderr, "Stack now");
1057 for (; bottom <= top; ++bottom) 1037 for (; yybottom <= yytop; yybottom++)
1058 YYFPRINTF (stderr, " %d", *bottom); 1038 {
1039 int yybot = *yybottom;
1040 YYFPRINTF (stderr, " %d", yybot);
1041 }
1059 YYFPRINTF (stderr, "\n"); 1042 YYFPRINTF (stderr, "\n");
1060} 1043}
1061 1044
@@ -1089,11 +1072,11 @@ yy_reduce_print (yyvsp, yyrule)
1089 /* The symbols being reduced. */ 1072 /* The symbols being reduced. */
1090 for (yyi = 0; yyi < yynrhs; yyi++) 1073 for (yyi = 0; yyi < yynrhs; yyi++)
1091 { 1074 {
1092 fprintf (stderr, " $%d = ", yyi + 1); 1075 YYFPRINTF (stderr, " $%d = ", yyi + 1);
1093 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1076 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1094 &(yyvsp[(yyi + 1) - (yynrhs)]) 1077 &(yyvsp[(yyi + 1) - (yynrhs)])
1095 ); 1078 );
1096 fprintf (stderr, "\n"); 1079 YYFPRINTF (stderr, "\n");
1097 } 1080 }
1098} 1081}
1099 1082
@@ -1373,10 +1356,8 @@ yydestruct (yymsg, yytype, yyvaluep)
1373 break; 1356 break;
1374 } 1357 }
1375} 1358}
1376
1377 1359
1378/* Prevent warnings from -Wmissing-prototypes. */ 1360/* Prevent warnings from -Wmissing-prototypes. */
1379
1380#ifdef YYPARSE_PARAM 1361#ifdef YYPARSE_PARAM
1381#if defined __STDC__ || defined __cplusplus 1362#if defined __STDC__ || defined __cplusplus
1382int yyparse (void *YYPARSE_PARAM); 1363int yyparse (void *YYPARSE_PARAM);
@@ -1392,11 +1373,10 @@ int yyparse ();
1392#endif /* ! YYPARSE_PARAM */ 1373#endif /* ! YYPARSE_PARAM */
1393 1374
1394 1375
1395 1376/* The lookahead symbol. */
1396/* The look-ahead symbol. */
1397int yychar; 1377int yychar;
1398 1378
1399/* The semantic value of the look-ahead symbol. */ 1379/* The semantic value of the lookahead symbol. */
1400YYSTYPE yylval; 1380YYSTYPE yylval;
1401 1381
1402/* Number of syntax errors so far. */ 1382/* Number of syntax errors so far. */
@@ -1404,9 +1384,9 @@ int yynerrs;
1404 1384
1405 1385
1406 1386
1407/*----------. 1387/*-------------------------.
1408| yyparse. | 1388| yyparse or yypush_parse. |
1409`----------*/ 1389`-------------------------*/
1410 1390
1411#ifdef YYPARSE_PARAM 1391#ifdef YYPARSE_PARAM
1412#if (defined __STDC__ || defined __C99__FUNC__ \ 1392#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1430,66 +1410,68 @@ yyparse ()
1430#endif 1410#endif
1431#endif 1411#endif
1432{ 1412{
1433
1434 int yystate;
1435 int yyn;
1436 int yyresult;
1437 /* Number of tokens to shift before error messages enabled. */
1438 int yyerrstatus;
1439 /* Look-ahead token as an internal (translated) token number. */
1440 int yytoken = 0;
1441#if YYERROR_VERBOSE
1442 /* Buffer for error messages, and its allocated size. */
1443 char yymsgbuf[128];
1444 char *yymsg = yymsgbuf;
1445 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1446#endif
1447 1413
1448 /* Three stacks and their tools:
1449 `yyss': related to states,
1450 `yyvs': related to semantic values,
1451 `yyls': related to locations.
1452 1414
1453 Refer to the stacks thru separate pointers, to allow yyoverflow 1415 int yystate;
1454 to reallocate them elsewhere. */ 1416 /* Number of tokens to shift before error messages enabled. */
1417 int yyerrstatus;
1455 1418
1456 /* The state stack. */ 1419 /* The stacks and their tools:
1457 yytype_int16 yyssa[YYINITDEPTH]; 1420 `yyss': related to states.
1458 yytype_int16 *yyss = yyssa; 1421 `yyvs': related to semantic values.
1459 yytype_int16 *yyssp;
1460 1422
1461 /* The semantic value stack. */ 1423 Refer to the stacks thru separate pointers, to allow yyoverflow
1462 YYSTYPE yyvsa[YYINITDEPTH]; 1424 to reallocate them elsewhere. */
1463 YYSTYPE *yyvs = yyvsa;
1464 YYSTYPE *yyvsp;
1465 1425
1426 /* The state stack. */
1427 yytype_int16 yyssa[YYINITDEPTH];
1428 yytype_int16 *yyss;
1429 yytype_int16 *yyssp;
1466 1430
1431 /* The semantic value stack. */
1432 YYSTYPE yyvsa[YYINITDEPTH];
1433 YYSTYPE *yyvs;
1434 YYSTYPE *yyvsp;
1467 1435
1468#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1436 YYSIZE_T yystacksize;
1469
1470 YYSIZE_T yystacksize = YYINITDEPTH;
1471 1437
1438 int yyn;
1439 int yyresult;
1440 /* Lookahead token as an internal (translated) token number. */
1441 int yytoken;
1472 /* The variables used to return semantic value and location from the 1442 /* The variables used to return semantic value and location from the
1473 action routines. */ 1443 action routines. */
1474 YYSTYPE yyval; 1444 YYSTYPE yyval;
1475 1445
1446#if YYERROR_VERBOSE
1447 /* Buffer for error messages, and its allocated size. */
1448 char yymsgbuf[128];
1449 char *yymsg = yymsgbuf;
1450 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1451#endif
1452
1453#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1476 1454
1477 /* The number of symbols on the RHS of the reduced rule. 1455 /* The number of symbols on the RHS of the reduced rule.
1478 Keep to zero when no symbol should be popped. */ 1456 Keep to zero when no symbol should be popped. */
1479 int yylen = 0; 1457 int yylen = 0;
1480 1458
1459 yytoken = 0;
1460 yyss = yyssa;
1461 yyvs = yyvsa;
1462 yystacksize = YYINITDEPTH;
1463
1481 YYDPRINTF ((stderr, "Starting parse\n")); 1464 YYDPRINTF ((stderr, "Starting parse\n"));
1482 1465
1483 yystate = 0; 1466 yystate = 0;
1484 yyerrstatus = 0; 1467 yyerrstatus = 0;
1485 yynerrs = 0; 1468 yynerrs = 0;
1486 yychar = YYEMPTY; /* Cause a token to be read. */ 1469 yychar = YYEMPTY; /* Cause a token to be read. */
1487 1470
1488 /* Initialize stack pointers. 1471 /* Initialize stack pointers.
1489 Waste one element of value and location stack 1472 Waste one element of value and location stack
1490 so that they stay on the same level as the state stack. 1473 so that they stay on the same level as the state stack.
1491 The wasted elements are never initialized. */ 1474 The wasted elements are never initialized. */
1492
1493 yyssp = yyss; 1475 yyssp = yyss;
1494 yyvsp = yyvs; 1476 yyvsp = yyvs;
1495 1477
@@ -1519,7 +1501,6 @@ yyparse ()
1519 YYSTYPE *yyvs1 = yyvs; 1501 YYSTYPE *yyvs1 = yyvs;
1520 yytype_int16 *yyss1 = yyss; 1502 yytype_int16 *yyss1 = yyss;
1521 1503
1522
1523 /* Each stack pointer address is followed by the size of the 1504 /* Each stack pointer address is followed by the size of the
1524 data in use in that stack, in bytes. This used to be a 1505 data in use in that stack, in bytes. This used to be a
1525 conditional around just the two extra args, but that might 1506 conditional around just the two extra args, but that might
@@ -1527,7 +1508,6 @@ yyparse ()
1527 yyoverflow (YY_("memory exhausted"), 1508 yyoverflow (YY_("memory exhausted"),
1528 &yyss1, yysize * sizeof (*yyssp), 1509 &yyss1, yysize * sizeof (*yyssp),
1529 &yyvs1, yysize * sizeof (*yyvsp), 1510 &yyvs1, yysize * sizeof (*yyvsp),
1530
1531 &yystacksize); 1511 &yystacksize);
1532 1512
1533 yyss = yyss1; 1513 yyss = yyss1;
@@ -1550,9 +1530,8 @@ yyparse ()
1550 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1530 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1551 if (! yyptr) 1531 if (! yyptr)
1552 goto yyexhaustedlab; 1532 goto yyexhaustedlab;
1553 YYSTACK_RELOCATE (yyss); 1533 YYSTACK_RELOCATE (yyss_alloc, yyss);
1554 YYSTACK_RELOCATE (yyvs); 1534 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1555
1556# undef YYSTACK_RELOCATE 1535# undef YYSTACK_RELOCATE
1557 if (yyss1 != yyssa) 1536 if (yyss1 != yyssa)
1558 YYSTACK_FREE (yyss1); 1537 YYSTACK_FREE (yyss1);
@@ -1563,7 +1542,6 @@ yyparse ()
1563 yyssp = yyss + yysize - 1; 1542 yyssp = yyss + yysize - 1;
1564 yyvsp = yyvs + yysize - 1; 1543 yyvsp = yyvs + yysize - 1;
1565 1544
1566
1567 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1545 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1568 (unsigned long int) yystacksize)); 1546 (unsigned long int) yystacksize));
1569 1547
@@ -1573,6 +1551,9 @@ yyparse ()
1573 1551
1574 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1552 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1575 1553
1554 if (yystate == YYFINAL)
1555 YYACCEPT;
1556
1576 goto yybackup; 1557 goto yybackup;
1577 1558
1578/*-----------. 1559/*-----------.
@@ -1581,16 +1562,16 @@ yyparse ()
1581yybackup: 1562yybackup:
1582 1563
1583 /* Do appropriate processing given the current state. Read a 1564 /* Do appropriate processing given the current state. Read a
1584 look-ahead token if we need one and don't already have one. */ 1565 lookahead token if we need one and don't already have one. */
1585 1566
1586 /* First try to decide what to do without reference to look-ahead token. */ 1567 /* First try to decide what to do without reference to lookahead token. */
1587 yyn = yypact[yystate]; 1568 yyn = yypact[yystate];
1588 if (yyn == YYPACT_NINF) 1569 if (yyn == YYPACT_NINF)
1589 goto yydefault; 1570 goto yydefault;
1590 1571
1591 /* Not known => get a look-ahead token if don't already have one. */ 1572 /* Not known => get a lookahead token if don't already have one. */
1592 1573
1593 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ 1574 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1594 if (yychar == YYEMPTY) 1575 if (yychar == YYEMPTY)
1595 { 1576 {
1596 YYDPRINTF ((stderr, "Reading a token: ")); 1577 YYDPRINTF ((stderr, "Reading a token: "));
@@ -1622,20 +1603,16 @@ yybackup:
1622 goto yyreduce; 1603 goto yyreduce;
1623 } 1604 }
1624 1605
1625 if (yyn == YYFINAL)
1626 YYACCEPT;
1627
1628 /* Count tokens shifted since error; after three, turn off error 1606 /* Count tokens shifted since error; after three, turn off error
1629 status. */ 1607 status. */
1630 if (yyerrstatus) 1608 if (yyerrstatus)
1631 yyerrstatus--; 1609 yyerrstatus--;
1632 1610
1633 /* Shift the look-ahead token. */ 1611 /* Shift the lookahead token. */
1634 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1612 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1635 1613
1636 /* Discard the shifted token unless it is eof. */ 1614 /* Discard the shifted token. */
1637 if (yychar != YYEOF) 1615 yychar = YYEMPTY;
1638 yychar = YYEMPTY;
1639 1616
1640 yystate = yyn; 1617 yystate = yyn;
1641 *++yyvsp = yylval; 1618 *++yyvsp = yylval;
@@ -1675,47 +1652,65 @@ yyreduce:
1675 switch (yyn) 1652 switch (yyn)
1676 { 1653 {
1677 case 4: 1654 case 4:
1678#line 108 "scripts/genksyms/parse.y" 1655
1656/* Line 1455 of yacc.c */
1657#line 109 "scripts/genksyms/parse.y"
1679 { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; ;} 1658 { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; ;}
1680 break; 1659 break;
1681 1660
1682 case 5: 1661 case 5:
1683#line 110 "scripts/genksyms/parse.y" 1662
1663/* Line 1455 of yacc.c */
1664#line 111 "scripts/genksyms/parse.y"
1684 { free_list(*(yyvsp[(2) - (2)]), NULL); *(yyvsp[(2) - (2)]) = NULL; ;} 1665 { free_list(*(yyvsp[(2) - (2)]), NULL); *(yyvsp[(2) - (2)]) = NULL; ;}
1685 break; 1666 break;
1686 1667
1687 case 6: 1668 case 6:
1688#line 114 "scripts/genksyms/parse.y" 1669
1670/* Line 1455 of yacc.c */
1671#line 115 "scripts/genksyms/parse.y"
1689 { is_typedef = 1; ;} 1672 { is_typedef = 1; ;}
1690 break; 1673 break;
1691 1674
1692 case 7: 1675 case 7:
1693#line 115 "scripts/genksyms/parse.y" 1676
1677/* Line 1455 of yacc.c */
1678#line 116 "scripts/genksyms/parse.y"
1694 { (yyval) = (yyvsp[(4) - (4)]); ;} 1679 { (yyval) = (yyvsp[(4) - (4)]); ;}
1695 break; 1680 break;
1696 1681
1697 case 8: 1682 case 8:
1698#line 116 "scripts/genksyms/parse.y" 1683
1684/* Line 1455 of yacc.c */
1685#line 117 "scripts/genksyms/parse.y"
1699 { is_typedef = 1; ;} 1686 { is_typedef = 1; ;}
1700 break; 1687 break;
1701 1688
1702 case 9: 1689 case 9:
1703#line 117 "scripts/genksyms/parse.y" 1690
1691/* Line 1455 of yacc.c */
1692#line 118 "scripts/genksyms/parse.y"
1704 { (yyval) = (yyvsp[(3) - (3)]); ;} 1693 { (yyval) = (yyvsp[(3) - (3)]); ;}
1705 break; 1694 break;
1706 1695
1707 case 14: 1696 case 14:
1708#line 122 "scripts/genksyms/parse.y" 1697
1698/* Line 1455 of yacc.c */
1699#line 123 "scripts/genksyms/parse.y"
1709 { (yyval) = (yyvsp[(2) - (2)]); ;} 1700 { (yyval) = (yyvsp[(2) - (2)]); ;}
1710 break; 1701 break;
1711 1702
1712 case 15: 1703 case 15:
1713#line 123 "scripts/genksyms/parse.y" 1704
1705/* Line 1455 of yacc.c */
1706#line 124 "scripts/genksyms/parse.y"
1714 { (yyval) = (yyvsp[(2) - (2)]); ;} 1707 { (yyval) = (yyvsp[(2) - (2)]); ;}
1715 break; 1708 break;
1716 1709
1717 case 16: 1710 case 16:
1718#line 128 "scripts/genksyms/parse.y" 1711
1712/* Line 1455 of yacc.c */
1713#line 129 "scripts/genksyms/parse.y"
1719 { if (current_name) { 1714 { if (current_name) {
1720 struct string_list *decl = (*(yyvsp[(3) - (3)]))->next; 1715 struct string_list *decl = (*(yyvsp[(3) - (3)]))->next;
1721 (*(yyvsp[(3) - (3)]))->next = NULL; 1716 (*(yyvsp[(3) - (3)]))->next = NULL;
@@ -1729,12 +1724,16 @@ yyreduce:
1729 break; 1724 break;
1730 1725
1731 case 17: 1726 case 17:
1732#line 141 "scripts/genksyms/parse.y" 1727
1728/* Line 1455 of yacc.c */
1729#line 142 "scripts/genksyms/parse.y"
1733 { (yyval) = NULL; ;} 1730 { (yyval) = NULL; ;}
1734 break; 1731 break;
1735 1732
1736 case 19: 1733 case 19:
1737#line 147 "scripts/genksyms/parse.y" 1734
1735/* Line 1455 of yacc.c */
1736#line 148 "scripts/genksyms/parse.y"
1738 { struct string_list *decl = *(yyvsp[(1) - (1)]); 1737 { struct string_list *decl = *(yyvsp[(1) - (1)]);
1739 *(yyvsp[(1) - (1)]) = NULL; 1738 *(yyvsp[(1) - (1)]) = NULL;
1740 add_symbol(current_name, 1739 add_symbol(current_name,
@@ -1745,7 +1744,9 @@ yyreduce:
1745 break; 1744 break;
1746 1745
1747 case 20: 1746 case 20:
1748#line 155 "scripts/genksyms/parse.y" 1747
1748/* Line 1455 of yacc.c */
1749#line 156 "scripts/genksyms/parse.y"
1749 { struct string_list *decl = *(yyvsp[(3) - (3)]); 1750 { struct string_list *decl = *(yyvsp[(3) - (3)]);
1750 *(yyvsp[(3) - (3)]) = NULL; 1751 *(yyvsp[(3) - (3)]) = NULL;
1751 free_list(*(yyvsp[(2) - (3)]), NULL); 1752 free_list(*(yyvsp[(2) - (3)]), NULL);
@@ -1758,27 +1759,37 @@ yyreduce:
1758 break; 1759 break;
1759 1760
1760 case 21: 1761 case 21:
1761#line 168 "scripts/genksyms/parse.y" 1762
1763/* Line 1455 of yacc.c */
1764#line 169 "scripts/genksyms/parse.y"
1762 { (yyval) = (yyvsp[(4) - (4)]) ? (yyvsp[(4) - (4)]) : (yyvsp[(3) - (4)]) ? (yyvsp[(3) - (4)]) : (yyvsp[(2) - (4)]) ? (yyvsp[(2) - (4)]) : (yyvsp[(1) - (4)]); ;} 1765 { (yyval) = (yyvsp[(4) - (4)]) ? (yyvsp[(4) - (4)]) : (yyvsp[(3) - (4)]) ? (yyvsp[(3) - (4)]) : (yyvsp[(2) - (4)]) ? (yyvsp[(2) - (4)]) : (yyvsp[(1) - (4)]); ;}
1763 break; 1766 break;
1764 1767
1765 case 22: 1768 case 22:
1766#line 173 "scripts/genksyms/parse.y" 1769
1770/* Line 1455 of yacc.c */
1771#line 174 "scripts/genksyms/parse.y"
1767 { decl_spec = NULL; ;} 1772 { decl_spec = NULL; ;}
1768 break; 1773 break;
1769 1774
1770 case 24: 1775 case 24:
1771#line 178 "scripts/genksyms/parse.y" 1776
1777/* Line 1455 of yacc.c */
1778#line 179 "scripts/genksyms/parse.y"
1772 { decl_spec = *(yyvsp[(1) - (1)]); ;} 1779 { decl_spec = *(yyvsp[(1) - (1)]); ;}
1773 break; 1780 break;
1774 1781
1775 case 25: 1782 case 25:
1776#line 179 "scripts/genksyms/parse.y" 1783
1784/* Line 1455 of yacc.c */
1785#line 180 "scripts/genksyms/parse.y"
1777 { decl_spec = *(yyvsp[(2) - (2)]); ;} 1786 { decl_spec = *(yyvsp[(2) - (2)]); ;}
1778 break; 1787 break;
1779 1788
1780 case 26: 1789 case 26:
1781#line 184 "scripts/genksyms/parse.y" 1790
1791/* Line 1455 of yacc.c */
1792#line 185 "scripts/genksyms/parse.y"
1782 { /* Version 2 checksumming ignores storage class, as that 1793 { /* Version 2 checksumming ignores storage class, as that
1783 is really irrelevant to the linkage. */ 1794 is really irrelevant to the linkage. */
1784 remove_node((yyvsp[(1) - (1)])); 1795 remove_node((yyvsp[(1) - (1)]));
@@ -1787,32 +1798,44 @@ yyreduce:
1787 break; 1798 break;
1788 1799
1789 case 31: 1800 case 31:
1790#line 196 "scripts/genksyms/parse.y" 1801
1802/* Line 1455 of yacc.c */
1803#line 197 "scripts/genksyms/parse.y"
1791 { is_extern = 1; (yyval) = (yyvsp[(1) - (1)]); ;} 1804 { is_extern = 1; (yyval) = (yyvsp[(1) - (1)]); ;}
1792 break; 1805 break;
1793 1806
1794 case 32: 1807 case 32:
1795#line 197 "scripts/genksyms/parse.y" 1808
1809/* Line 1455 of yacc.c */
1810#line 198 "scripts/genksyms/parse.y"
1796 { is_extern = 0; (yyval) = (yyvsp[(1) - (1)]); ;} 1811 { is_extern = 0; (yyval) = (yyvsp[(1) - (1)]); ;}
1797 break; 1812 break;
1798 1813
1799 case 37: 1814 case 37:
1800#line 209 "scripts/genksyms/parse.y" 1815
1816/* Line 1455 of yacc.c */
1817#line 210 "scripts/genksyms/parse.y"
1801 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_STRUCT; (yyval) = (yyvsp[(2) - (2)]); ;} 1818 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_STRUCT; (yyval) = (yyvsp[(2) - (2)]); ;}
1802 break; 1819 break;
1803 1820
1804 case 38: 1821 case 38:
1805#line 211 "scripts/genksyms/parse.y" 1822
1823/* Line 1455 of yacc.c */
1824#line 212 "scripts/genksyms/parse.y"
1806 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_UNION; (yyval) = (yyvsp[(2) - (2)]); ;} 1825 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_UNION; (yyval) = (yyvsp[(2) - (2)]); ;}
1807 break; 1826 break;
1808 1827
1809 case 39: 1828 case 39:
1810#line 213 "scripts/genksyms/parse.y" 1829
1830/* Line 1455 of yacc.c */
1831#line 214 "scripts/genksyms/parse.y"
1811 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_ENUM; (yyval) = (yyvsp[(2) - (2)]); ;} 1832 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_ENUM; (yyval) = (yyvsp[(2) - (2)]); ;}
1812 break; 1833 break;
1813 1834
1814 case 40: 1835 case 40:
1815#line 217 "scripts/genksyms/parse.y" 1836
1837/* Line 1455 of yacc.c */
1838#line 218 "scripts/genksyms/parse.y"
1816 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1839 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1817 r = copy_node(i); r->tag = SYM_STRUCT; 1840 r = copy_node(i); r->tag = SYM_STRUCT;
1818 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1841 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
@@ -1822,7 +1845,9 @@ yyreduce:
1822 break; 1845 break;
1823 1846
1824 case 41: 1847 case 41:
1825#line 224 "scripts/genksyms/parse.y" 1848
1849/* Line 1455 of yacc.c */
1850#line 225 "scripts/genksyms/parse.y"
1826 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1851 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1827 r = copy_node(i); r->tag = SYM_UNION; 1852 r = copy_node(i); r->tag = SYM_UNION;
1828 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1853 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
@@ -1832,7 +1857,9 @@ yyreduce:
1832 break; 1857 break;
1833 1858
1834 case 42: 1859 case 42:
1835#line 231 "scripts/genksyms/parse.y" 1860
1861/* Line 1455 of yacc.c */
1862#line 232 "scripts/genksyms/parse.y"
1836 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r; 1863 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1837 r = copy_node(i); r->tag = SYM_ENUM; 1864 r = copy_node(i); r->tag = SYM_ENUM;
1838 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL; 1865 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
@@ -1842,42 +1869,58 @@ yyreduce:
1842 break; 1869 break;
1843 1870
1844 case 43: 1871 case 43:
1845#line 239 "scripts/genksyms/parse.y" 1872
1846 { (yyval) = (yyvsp[(2) - (2)]); ;} 1873/* Line 1455 of yacc.c */
1874#line 242 "scripts/genksyms/parse.y"
1875 { add_symbol(NULL, SYM_ENUM, NULL, 0); (yyval) = (yyvsp[(2) - (2)]); ;}
1847 break; 1876 break;
1848 1877
1849 case 44: 1878 case 44:
1850#line 240 "scripts/genksyms/parse.y" 1879
1880/* Line 1455 of yacc.c */
1881#line 244 "scripts/genksyms/parse.y"
1851 { (yyval) = (yyvsp[(2) - (2)]); ;} 1882 { (yyval) = (yyvsp[(2) - (2)]); ;}
1852 break; 1883 break;
1853 1884
1854 case 45: 1885 case 45:
1855#line 241 "scripts/genksyms/parse.y" 1886
1887/* Line 1455 of yacc.c */
1888#line 245 "scripts/genksyms/parse.y"
1856 { (yyval) = (yyvsp[(2) - (2)]); ;} 1889 { (yyval) = (yyvsp[(2) - (2)]); ;}
1857 break; 1890 break;
1858 1891
1859 case 56: 1892 case 56:
1860#line 255 "scripts/genksyms/parse.y" 1893
1894/* Line 1455 of yacc.c */
1895#line 259 "scripts/genksyms/parse.y"
1861 { (*(yyvsp[(1) - (1)]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[(1) - (1)]); ;} 1896 { (*(yyvsp[(1) - (1)]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[(1) - (1)]); ;}
1862 break; 1897 break;
1863 1898
1864 case 57: 1899 case 57:
1865#line 260 "scripts/genksyms/parse.y" 1900
1901/* Line 1455 of yacc.c */
1902#line 264 "scripts/genksyms/parse.y"
1866 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 1903 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1867 break; 1904 break;
1868 1905
1869 case 58: 1906 case 58:
1870#line 264 "scripts/genksyms/parse.y" 1907
1908/* Line 1455 of yacc.c */
1909#line 268 "scripts/genksyms/parse.y"
1871 { (yyval) = NULL; ;} 1910 { (yyval) = NULL; ;}
1872 break; 1911 break;
1873 1912
1874 case 61: 1913 case 61:
1875#line 270 "scripts/genksyms/parse.y" 1914
1915/* Line 1455 of yacc.c */
1916#line 274 "scripts/genksyms/parse.y"
1876 { (yyval) = (yyvsp[(2) - (2)]); ;} 1917 { (yyval) = (yyvsp[(2) - (2)]); ;}
1877 break; 1918 break;
1878 1919
1879 case 65: 1920 case 65:
1880#line 276 "scripts/genksyms/parse.y" 1921
1922/* Line 1455 of yacc.c */
1923#line 280 "scripts/genksyms/parse.y"
1881 { /* restrict has no effect in prototypes so ignore it */ 1924 { /* restrict has no effect in prototypes so ignore it */
1882 remove_node((yyvsp[(1) - (1)])); 1925 remove_node((yyvsp[(1) - (1)]));
1883 (yyval) = (yyvsp[(1) - (1)]); 1926 (yyval) = (yyvsp[(1) - (1)]);
@@ -1885,12 +1928,16 @@ yyreduce:
1885 break; 1928 break;
1886 1929
1887 case 66: 1930 case 66:
1888#line 283 "scripts/genksyms/parse.y" 1931
1932/* Line 1455 of yacc.c */
1933#line 287 "scripts/genksyms/parse.y"
1889 { (yyval) = (yyvsp[(2) - (2)]); ;} 1934 { (yyval) = (yyvsp[(2) - (2)]); ;}
1890 break; 1935 break;
1891 1936
1892 case 68: 1937 case 68:
1893#line 289 "scripts/genksyms/parse.y" 1938
1939/* Line 1455 of yacc.c */
1940#line 293 "scripts/genksyms/parse.y"
1894 { if (current_name != NULL) { 1941 { if (current_name != NULL) {
1895 error_with_pos("unexpected second declaration name"); 1942 error_with_pos("unexpected second declaration name");
1896 YYERROR; 1943 YYERROR;
@@ -1902,97 +1949,135 @@ yyreduce:
1902 break; 1949 break;
1903 1950
1904 case 69: 1951 case 69:
1905#line 298 "scripts/genksyms/parse.y" 1952
1953/* Line 1455 of yacc.c */
1954#line 302 "scripts/genksyms/parse.y"
1906 { (yyval) = (yyvsp[(4) - (4)]); ;} 1955 { (yyval) = (yyvsp[(4) - (4)]); ;}
1907 break; 1956 break;
1908 1957
1909 case 70: 1958 case 70:
1910#line 300 "scripts/genksyms/parse.y" 1959
1960/* Line 1455 of yacc.c */
1961#line 304 "scripts/genksyms/parse.y"
1911 { (yyval) = (yyvsp[(4) - (4)]); ;} 1962 { (yyval) = (yyvsp[(4) - (4)]); ;}
1912 break; 1963 break;
1913 1964
1914 case 71: 1965 case 71:
1915#line 302 "scripts/genksyms/parse.y" 1966
1967/* Line 1455 of yacc.c */
1968#line 306 "scripts/genksyms/parse.y"
1916 { (yyval) = (yyvsp[(2) - (2)]); ;} 1969 { (yyval) = (yyvsp[(2) - (2)]); ;}
1917 break; 1970 break;
1918 1971
1919 case 72: 1972 case 72:
1920#line 304 "scripts/genksyms/parse.y" 1973
1974/* Line 1455 of yacc.c */
1975#line 308 "scripts/genksyms/parse.y"
1921 { (yyval) = (yyvsp[(3) - (3)]); ;} 1976 { (yyval) = (yyvsp[(3) - (3)]); ;}
1922 break; 1977 break;
1923 1978
1924 case 73: 1979 case 73:
1925#line 306 "scripts/genksyms/parse.y" 1980
1981/* Line 1455 of yacc.c */
1982#line 310 "scripts/genksyms/parse.y"
1926 { (yyval) = (yyvsp[(3) - (3)]); ;} 1983 { (yyval) = (yyvsp[(3) - (3)]); ;}
1927 break; 1984 break;
1928 1985
1929 case 74: 1986 case 74:
1930#line 312 "scripts/genksyms/parse.y" 1987
1988/* Line 1455 of yacc.c */
1989#line 316 "scripts/genksyms/parse.y"
1931 { (yyval) = (yyvsp[(2) - (2)]); ;} 1990 { (yyval) = (yyvsp[(2) - (2)]); ;}
1932 break; 1991 break;
1933 1992
1934 case 78: 1993 case 78:
1935#line 320 "scripts/genksyms/parse.y" 1994
1995/* Line 1455 of yacc.c */
1996#line 324 "scripts/genksyms/parse.y"
1936 { (yyval) = (yyvsp[(4) - (4)]); ;} 1997 { (yyval) = (yyvsp[(4) - (4)]); ;}
1937 break; 1998 break;
1938 1999
1939 case 79: 2000 case 79:
1940#line 322 "scripts/genksyms/parse.y" 2001
2002/* Line 1455 of yacc.c */
2003#line 326 "scripts/genksyms/parse.y"
1941 { (yyval) = (yyvsp[(4) - (4)]); ;} 2004 { (yyval) = (yyvsp[(4) - (4)]); ;}
1942 break; 2005 break;
1943 2006
1944 case 80: 2007 case 80:
1945#line 324 "scripts/genksyms/parse.y" 2008
2009/* Line 1455 of yacc.c */
2010#line 328 "scripts/genksyms/parse.y"
1946 { (yyval) = (yyvsp[(2) - (2)]); ;} 2011 { (yyval) = (yyvsp[(2) - (2)]); ;}
1947 break; 2012 break;
1948 2013
1949 case 81: 2014 case 81:
1950#line 326 "scripts/genksyms/parse.y" 2015
2016/* Line 1455 of yacc.c */
2017#line 330 "scripts/genksyms/parse.y"
1951 { (yyval) = (yyvsp[(3) - (3)]); ;} 2018 { (yyval) = (yyvsp[(3) - (3)]); ;}
1952 break; 2019 break;
1953 2020
1954 case 82: 2021 case 82:
1955#line 328 "scripts/genksyms/parse.y" 2022
2023/* Line 1455 of yacc.c */
2024#line 332 "scripts/genksyms/parse.y"
1956 { (yyval) = (yyvsp[(3) - (3)]); ;} 2025 { (yyval) = (yyvsp[(3) - (3)]); ;}
1957 break; 2026 break;
1958 2027
1959 case 83: 2028 case 83:
1960#line 332 "scripts/genksyms/parse.y" 2029
2030/* Line 1455 of yacc.c */
2031#line 336 "scripts/genksyms/parse.y"
1961 { (yyval) = (yyvsp[(2) - (2)]); ;} 2032 { (yyval) = (yyvsp[(2) - (2)]); ;}
1962 break; 2033 break;
1963 2034
1964 case 85: 2035 case 85:
1965#line 334 "scripts/genksyms/parse.y" 2036
2037/* Line 1455 of yacc.c */
2038#line 338 "scripts/genksyms/parse.y"
1966 { (yyval) = (yyvsp[(3) - (3)]); ;} 2039 { (yyval) = (yyvsp[(3) - (3)]); ;}
1967 break; 2040 break;
1968 2041
1969 case 86: 2042 case 86:
1970#line 338 "scripts/genksyms/parse.y" 2043
2044/* Line 1455 of yacc.c */
2045#line 342 "scripts/genksyms/parse.y"
1971 { (yyval) = NULL; ;} 2046 { (yyval) = NULL; ;}
1972 break; 2047 break;
1973 2048
1974 case 89: 2049 case 89:
1975#line 345 "scripts/genksyms/parse.y" 2050
2051/* Line 1455 of yacc.c */
2052#line 349 "scripts/genksyms/parse.y"
1976 { (yyval) = (yyvsp[(3) - (3)]); ;} 2053 { (yyval) = (yyvsp[(3) - (3)]); ;}
1977 break; 2054 break;
1978 2055
1979 case 90: 2056 case 90:
1980#line 350 "scripts/genksyms/parse.y" 2057
2058/* Line 1455 of yacc.c */
2059#line 354 "scripts/genksyms/parse.y"
1981 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2060 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1982 break; 2061 break;
1983 2062
1984 case 91: 2063 case 91:
1985#line 355 "scripts/genksyms/parse.y" 2064
2065/* Line 1455 of yacc.c */
2066#line 359 "scripts/genksyms/parse.y"
1986 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2067 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1987 break; 2068 break;
1988 2069
1989 case 93: 2070 case 93:
1990#line 360 "scripts/genksyms/parse.y" 2071
2072/* Line 1455 of yacc.c */
2073#line 364 "scripts/genksyms/parse.y"
1991 { (yyval) = NULL; ;} 2074 { (yyval) = NULL; ;}
1992 break; 2075 break;
1993 2076
1994 case 94: 2077 case 94:
1995#line 362 "scripts/genksyms/parse.y" 2078
2079/* Line 1455 of yacc.c */
2080#line 366 "scripts/genksyms/parse.y"
1996 { /* For version 2 checksums, we don't want to remember 2081 { /* For version 2 checksums, we don't want to remember
1997 private parameter names. */ 2082 private parameter names. */
1998 remove_node((yyvsp[(1) - (1)])); 2083 remove_node((yyvsp[(1) - (1)]));
@@ -2001,39 +2086,53 @@ yyreduce:
2001 break; 2086 break;
2002 2087
2003 case 95: 2088 case 95:
2004#line 370 "scripts/genksyms/parse.y" 2089
2090/* Line 1455 of yacc.c */
2091#line 374 "scripts/genksyms/parse.y"
2005 { remove_node((yyvsp[(1) - (1)])); 2092 { remove_node((yyvsp[(1) - (1)]));
2006 (yyval) = (yyvsp[(1) - (1)]); 2093 (yyval) = (yyvsp[(1) - (1)]);
2007 ;} 2094 ;}
2008 break; 2095 break;
2009 2096
2010 case 96: 2097 case 96:
2011#line 374 "scripts/genksyms/parse.y" 2098
2099/* Line 1455 of yacc.c */
2100#line 378 "scripts/genksyms/parse.y"
2012 { (yyval) = (yyvsp[(4) - (4)]); ;} 2101 { (yyval) = (yyvsp[(4) - (4)]); ;}
2013 break; 2102 break;
2014 2103
2015 case 97: 2104 case 97:
2016#line 376 "scripts/genksyms/parse.y" 2105
2106/* Line 1455 of yacc.c */
2107#line 380 "scripts/genksyms/parse.y"
2017 { (yyval) = (yyvsp[(4) - (4)]); ;} 2108 { (yyval) = (yyvsp[(4) - (4)]); ;}
2018 break; 2109 break;
2019 2110
2020 case 98: 2111 case 98:
2021#line 378 "scripts/genksyms/parse.y" 2112
2113/* Line 1455 of yacc.c */
2114#line 382 "scripts/genksyms/parse.y"
2022 { (yyval) = (yyvsp[(2) - (2)]); ;} 2115 { (yyval) = (yyvsp[(2) - (2)]); ;}
2023 break; 2116 break;
2024 2117
2025 case 99: 2118 case 99:
2026#line 380 "scripts/genksyms/parse.y" 2119
2120/* Line 1455 of yacc.c */
2121#line 384 "scripts/genksyms/parse.y"
2027 { (yyval) = (yyvsp[(3) - (3)]); ;} 2122 { (yyval) = (yyvsp[(3) - (3)]); ;}
2028 break; 2123 break;
2029 2124
2030 case 100: 2125 case 100:
2031#line 382 "scripts/genksyms/parse.y" 2126
2127/* Line 1455 of yacc.c */
2128#line 386 "scripts/genksyms/parse.y"
2032 { (yyval) = (yyvsp[(3) - (3)]); ;} 2129 { (yyval) = (yyvsp[(3) - (3)]); ;}
2033 break; 2130 break;
2034 2131
2035 case 101: 2132 case 101:
2036#line 387 "scripts/genksyms/parse.y" 2133
2134/* Line 1455 of yacc.c */
2135#line 391 "scripts/genksyms/parse.y"
2037 { struct string_list *decl = *(yyvsp[(2) - (3)]); 2136 { struct string_list *decl = *(yyvsp[(2) - (3)]);
2038 *(yyvsp[(2) - (3)]) = NULL; 2137 *(yyvsp[(2) - (3)]) = NULL;
2039 add_symbol(current_name, SYM_NORMAL, decl, is_extern); 2138 add_symbol(current_name, SYM_NORMAL, decl, is_extern);
@@ -2042,93 +2141,163 @@ yyreduce:
2042 break; 2141 break;
2043 2142
2044 case 102: 2143 case 102:
2045#line 395 "scripts/genksyms/parse.y" 2144
2145/* Line 1455 of yacc.c */
2146#line 399 "scripts/genksyms/parse.y"
2046 { (yyval) = NULL; ;} 2147 { (yyval) = NULL; ;}
2047 break; 2148 break;
2048 2149
2049 case 104: 2150 case 104:
2050#line 402 "scripts/genksyms/parse.y" 2151
2152/* Line 1455 of yacc.c */
2153#line 406 "scripts/genksyms/parse.y"
2051 { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); ;} 2154 { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); ;}
2052 break; 2155 break;
2053 2156
2054 case 105: 2157 case 105:
2055#line 406 "scripts/genksyms/parse.y" 2158
2159/* Line 1455 of yacc.c */
2160#line 410 "scripts/genksyms/parse.y"
2056 { (yyval) = (yyvsp[(3) - (3)]); ;} 2161 { (yyval) = (yyvsp[(3) - (3)]); ;}
2057 break; 2162 break;
2058 2163
2059 case 106: 2164 case 106:
2060#line 407 "scripts/genksyms/parse.y" 2165
2166/* Line 1455 of yacc.c */
2167#line 411 "scripts/genksyms/parse.y"
2061 { (yyval) = (yyvsp[(3) - (3)]); ;} 2168 { (yyval) = (yyvsp[(3) - (3)]); ;}
2062 break; 2169 break;
2063 2170
2064 case 107: 2171 case 107:
2065#line 411 "scripts/genksyms/parse.y" 2172
2173/* Line 1455 of yacc.c */
2174#line 415 "scripts/genksyms/parse.y"
2066 { (yyval) = NULL; ;} 2175 { (yyval) = NULL; ;}
2067 break; 2176 break;
2068 2177
2069 case 110: 2178 case 110:
2070#line 417 "scripts/genksyms/parse.y" 2179
2180/* Line 1455 of yacc.c */
2181#line 421 "scripts/genksyms/parse.y"
2071 { (yyval) = (yyvsp[(2) - (2)]); ;} 2182 { (yyval) = (yyvsp[(2) - (2)]); ;}
2072 break; 2183 break;
2073 2184
2074 case 111: 2185 case 111:
2075#line 422 "scripts/genksyms/parse.y" 2186
2187/* Line 1455 of yacc.c */
2188#line 426 "scripts/genksyms/parse.y"
2076 { (yyval) = (yyvsp[(3) - (3)]); ;} 2189 { (yyval) = (yyvsp[(3) - (3)]); ;}
2077 break; 2190 break;
2078 2191
2079 case 112: 2192 case 112:
2080#line 424 "scripts/genksyms/parse.y" 2193
2194/* Line 1455 of yacc.c */
2195#line 428 "scripts/genksyms/parse.y"
2081 { (yyval) = (yyvsp[(2) - (2)]); ;} 2196 { (yyval) = (yyvsp[(2) - (2)]); ;}
2082 break; 2197 break;
2083 2198
2084 case 113: 2199 case 113:
2085#line 428 "scripts/genksyms/parse.y" 2200
2201/* Line 1455 of yacc.c */
2202#line 432 "scripts/genksyms/parse.y"
2086 { (yyval) = NULL; ;} 2203 { (yyval) = NULL; ;}
2087 break; 2204 break;
2088 2205
2089 case 116: 2206 case 116:
2090#line 434 "scripts/genksyms/parse.y" 2207
2208/* Line 1455 of yacc.c */
2209#line 438 "scripts/genksyms/parse.y"
2091 { (yyval) = (yyvsp[(3) - (3)]); ;} 2210 { (yyval) = (yyvsp[(3) - (3)]); ;}
2092 break; 2211 break;
2093 2212
2094 case 117: 2213 case 117:
2095#line 438 "scripts/genksyms/parse.y" 2214
2215/* Line 1455 of yacc.c */
2216#line 442 "scripts/genksyms/parse.y"
2096 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;} 2217 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
2097 break; 2218 break;
2098 2219
2099 case 118: 2220 case 118:
2100#line 439 "scripts/genksyms/parse.y" 2221
2222/* Line 1455 of yacc.c */
2223#line 443 "scripts/genksyms/parse.y"
2101 { (yyval) = (yyvsp[(2) - (2)]); ;} 2224 { (yyval) = (yyvsp[(2) - (2)]); ;}
2102 break; 2225 break;
2103 2226
2104 case 120: 2227 case 120:
2105#line 444 "scripts/genksyms/parse.y" 2228
2229/* Line 1455 of yacc.c */
2230#line 448 "scripts/genksyms/parse.y"
2106 { (yyval) = (yyvsp[(2) - (2)]); ;} 2231 { (yyval) = (yyvsp[(2) - (2)]); ;}
2107 break; 2232 break;
2108 2233
2109 case 121: 2234 case 121:
2110#line 448 "scripts/genksyms/parse.y" 2235
2236/* Line 1455 of yacc.c */
2237#line 452 "scripts/genksyms/parse.y"
2111 { (yyval) = NULL; ;} 2238 { (yyval) = NULL; ;}
2112 break; 2239 break;
2113 2240
2114 case 123: 2241 case 123:
2115#line 453 "scripts/genksyms/parse.y" 2242
2116 { (yyval) = (yyvsp[(2) - (2)]); ;} 2243/* Line 1455 of yacc.c */
2244#line 457 "scripts/genksyms/parse.y"
2245 { (yyval) = (yyvsp[(3) - (3)]); ;}
2117 break; 2246 break;
2118 2247
2119 case 124: 2248 case 124:
2120#line 457 "scripts/genksyms/parse.y" 2249
2250/* Line 1455 of yacc.c */
2251#line 458 "scripts/genksyms/parse.y"
2252 { (yyval) = (yyvsp[(4) - (4)]); ;}
2253 break;
2254
2255 case 127:
2256
2257/* Line 1455 of yacc.c */
2258#line 467 "scripts/genksyms/parse.y"
2259 {
2260 const char *name = strdup((*(yyvsp[(1) - (1)]))->string);
2261 add_symbol(name, SYM_ENUM_CONST, NULL, 0);
2262 ;}
2263 break;
2264
2265 case 128:
2266
2267/* Line 1455 of yacc.c */
2268#line 472 "scripts/genksyms/parse.y"
2269 {
2270 const char *name = strdup((*(yyvsp[(1) - (3)]))->string);
2271 struct string_list *expr = copy_list_range(*(yyvsp[(3) - (3)]), *(yyvsp[(2) - (3)]));
2272 add_symbol(name, SYM_ENUM_CONST, expr, 0);
2273 ;}
2274 break;
2275
2276 case 129:
2277
2278/* Line 1455 of yacc.c */
2279#line 479 "scripts/genksyms/parse.y"
2280 { (yyval) = (yyvsp[(2) - (2)]); ;}
2281 break;
2282
2283 case 130:
2284
2285/* Line 1455 of yacc.c */
2286#line 483 "scripts/genksyms/parse.y"
2121 { (yyval) = NULL; ;} 2287 { (yyval) = NULL; ;}
2122 break; 2288 break;
2123 2289
2124 case 126: 2290 case 132:
2125#line 463 "scripts/genksyms/parse.y" 2291
2292/* Line 1455 of yacc.c */
2293#line 489 "scripts/genksyms/parse.y"
2126 { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); ;} 2294 { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); ;}
2127 break; 2295 break;
2128 2296
2129 2297
2130/* Line 1267 of yacc.c. */ 2298
2131#line 2132 "scripts/genksyms/parse.c" 2299/* Line 1455 of yacc.c */
2300#line 2301 "scripts/genksyms/parse.c"
2132 default: break; 2301 default: break;
2133 } 2302 }
2134 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 2303 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2139,7 +2308,6 @@ yyreduce:
2139 2308
2140 *++yyvsp = yyval; 2309 *++yyvsp = yyval;
2141 2310
2142
2143 /* Now `shift' the result of the reduction. Determine what state 2311 /* Now `shift' the result of the reduction. Determine what state
2144 that goes to, based on the state we popped back to and the rule 2312 that goes to, based on the state we popped back to and the rule
2145 number reduced by. */ 2313 number reduced by. */
@@ -2204,7 +2372,7 @@ yyerrlab:
2204 2372
2205 if (yyerrstatus == 3) 2373 if (yyerrstatus == 3)
2206 { 2374 {
2207 /* If just tried and failed to reuse look-ahead token after an 2375 /* If just tried and failed to reuse lookahead token after an
2208 error, discard it. */ 2376 error, discard it. */
2209 2377
2210 if (yychar <= YYEOF) 2378 if (yychar <= YYEOF)
@@ -2221,7 +2389,7 @@ yyerrlab:
2221 } 2389 }
2222 } 2390 }
2223 2391
2224 /* Else will try to reuse look-ahead token after shifting the error 2392 /* Else will try to reuse lookahead token after shifting the error
2225 token. */ 2393 token. */
2226 goto yyerrlab1; 2394 goto yyerrlab1;
2227 2395
@@ -2278,9 +2446,6 @@ yyerrlab1:
2278 YY_STACK_PRINT (yyss, yyssp); 2446 YY_STACK_PRINT (yyss, yyssp);
2279 } 2447 }
2280 2448
2281 if (yyn == YYFINAL)
2282 YYACCEPT;
2283
2284 *++yyvsp = yylval; 2449 *++yyvsp = yylval;
2285 2450
2286 2451
@@ -2305,7 +2470,7 @@ yyabortlab:
2305 yyresult = 1; 2470 yyresult = 1;
2306 goto yyreturn; 2471 goto yyreturn;
2307 2472
2308#ifndef yyoverflow 2473#if !defined(yyoverflow) || YYERROR_VERBOSE
2309/*-------------------------------------------------. 2474/*-------------------------------------------------.
2310| yyexhaustedlab -- memory exhaustion comes here. | 2475| yyexhaustedlab -- memory exhaustion comes here. |
2311`-------------------------------------------------*/ 2476`-------------------------------------------------*/
@@ -2316,7 +2481,7 @@ yyexhaustedlab:
2316#endif 2481#endif
2317 2482
2318yyreturn: 2483yyreturn:
2319 if (yychar != YYEOF && yychar != YYEMPTY) 2484 if (yychar != YYEMPTY)
2320 yydestruct ("Cleanup: discarding lookahead", 2485 yydestruct ("Cleanup: discarding lookahead",
2321 yytoken, &yylval); 2486 yytoken, &yylval);
2322 /* Do not reclaim the symbols of the rule which action triggered 2487 /* Do not reclaim the symbols of the rule which action triggered
@@ -2342,7 +2507,9 @@ yyreturn:
2342} 2507}
2343 2508
2344 2509
2345#line 467 "scripts/genksyms/parse.y" 2510
2511/* Line 1675 of yacc.c */
2512#line 493 "scripts/genksyms/parse.y"
2346 2513
2347 2514
2348static void 2515static void
diff --git a/scripts/genksyms/parse.h_shipped b/scripts/genksyms/parse.h_shipped
index c4eeec652b7..51752366925 100644
--- a/scripts/genksyms/parse.h_shipped
+++ b/scripts/genksyms/parse.h_shipped
@@ -1,24 +1,23 @@
1/* A Bison parser, made by GNU Bison 2.3. */
2 1
3/* Skeleton interface for Bison's Yacc-like parsers in C 2/* A Bison parser, made by GNU Bison 2.4.1. */
4 3
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 4/* Skeleton interface for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc. 7 Free Software Foundation, Inc.
7 8
8 This program is free software; you can redistribute it and/or modify 9 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 10 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option) 11 the Free Software Foundation, either version 3 of the License, or
11 any later version. 12 (at your option) any later version.
12 13
13 This program is distributed in the hope that it will be useful, 14 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details. 17 GNU General Public License for more details.
17 18
18 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22 21
23/* As a special exception, you may create a larger work that contains 22/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work 23 part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
29 special exception, which will cause the skeleton and the resulting 28 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public 29 Bison output files to be licensed under the GNU General Public
31 License without this special exception. 30 License without this special exception.
32 31
33 This special exception was added by the Free Software Foundation in 32 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */ 33 version 2.2 of Bison. */
35 34
35
36/* Tokens. */ 36/* Tokens. */
37#ifndef YYTOKENTYPE 37#ifndef YYTOKENTYPE
38# define YYTOKENTYPE 38# define YYTOKENTYPE
@@ -82,58 +82,16 @@
82 FILENAME = 298 82 FILENAME = 298
83 }; 83 };
84#endif 84#endif
85/* Tokens. */
86#define ASM_KEYW 258
87#define ATTRIBUTE_KEYW 259
88#define AUTO_KEYW 260
89#define BOOL_KEYW 261
90#define CHAR_KEYW 262
91#define CONST_KEYW 263
92#define DOUBLE_KEYW 264
93#define ENUM_KEYW 265
94#define EXTERN_KEYW 266
95#define EXTENSION_KEYW 267
96#define FLOAT_KEYW 268
97#define INLINE_KEYW 269
98#define INT_KEYW 270
99#define LONG_KEYW 271
100#define REGISTER_KEYW 272
101#define RESTRICT_KEYW 273
102#define SHORT_KEYW 274
103#define SIGNED_KEYW 275
104#define STATIC_KEYW 276
105#define STRUCT_KEYW 277
106#define TYPEDEF_KEYW 278
107#define UNION_KEYW 279
108#define UNSIGNED_KEYW 280
109#define VOID_KEYW 281
110#define VOLATILE_KEYW 282
111#define TYPEOF_KEYW 283
112#define EXPORT_SYMBOL_KEYW 284
113#define ASM_PHRASE 285
114#define ATTRIBUTE_PHRASE 286
115#define BRACE_PHRASE 287
116#define BRACKET_PHRASE 288
117#define EXPRESSION_PHRASE 289
118#define CHAR 290
119#define DOTS 291
120#define IDENT 292
121#define INT 293
122#define REAL 294
123#define STRING 295
124#define TYPE 296
125#define OTHER 297
126#define FILENAME 298
127
128 85
129 86
130 87
131#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 88#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
132typedef int YYSTYPE; 89typedef int YYSTYPE;
90# define YYSTYPE_IS_TRIVIAL 1
133# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 91# define yystype YYSTYPE /* obsolescent; will be withdrawn */
134# define YYSTYPE_IS_DECLARED 1 92# define YYSTYPE_IS_DECLARED 1
135# define YYSTYPE_IS_TRIVIAL 1
136#endif 93#endif
137 94
138extern YYSTYPE yylval; 95extern YYSTYPE yylval;
139 96
97