Blame view

scripts/genksyms/parse.tab.c_shipped 72.3 KB
0359de7dd   Michal Marek   genksyms: Regener...
1
  /* A Bison parser, made by GNU Bison 2.5.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
2

0359de7dd   Michal Marek   genksyms: Regener...
3
  /* Bison implementation for Yacc-like parsers in C
303fc01fb   Michal Marek   genksyms: Regener...
4
     
0359de7dd   Michal Marek   genksyms: Regener...
5
        Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
303fc01fb   Michal Marek   genksyms: Regener...
6
7
     
     This program is free software: you can redistribute it and/or modify
c40f56409   Sam Ravnborg   kbuild: Create _s...
8
     it under the terms of the GNU General Public License as published by
303fc01fb   Michal Marek   genksyms: Regener...
9
10
11
     the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
     
c40f56409   Sam Ravnborg   kbuild: Create _s...
12
13
14
15
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
303fc01fb   Michal Marek   genksyms: Regener...
16
     
c40f56409   Sam Ravnborg   kbuild: Create _s...
17
     You should have received a copy of the GNU General Public License
303fc01fb   Michal Marek   genksyms: Regener...
18
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
19
20
21
22
23
24
25
26
27
28
  
  /* As a special exception, you may create a larger work that contains
     part or all of the Bison parser skeleton and distribute that work
     under terms of your choice, so long as that work isn't itself a
     parser generator using the skeleton or a modified version thereof
     as a parser skeleton.  Alternatively, if you modify or redistribute
     the parser skeleton itself, you may (at your option) remove this
     special exception, which will cause the skeleton and the resulting
     Bison output files to be licensed under the GNU General Public
     License without this special exception.
303fc01fb   Michal Marek   genksyms: Regener...
29
     
70f75246c   Sam Ravnborg   kbuild: apply gen...
30
31
     This special exception was added by the Free Software Foundation in
     version 2.2 of Bison.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
32

70f75246c   Sam Ravnborg   kbuild: apply gen...
33
34
  /* C LALR(1) parser skeleton written by Richard Stallman, by
     simplifying the original so-called "semantic" parser.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
35
36
37
38
39
40
41
42
43
44
  
  /* All symbols defined below should begin with yy or YY, to avoid
     infringing on user name space.  This should be done even for local
     variables, as they might otherwise be expanded by user macros.
     There are some unavoidable exceptions within include files to
     define necessary library symbols; they are noted "INFRINGES ON
     USER NAME SPACE" below.  */
  
  /* Identify Bison output.  */
  #define YYBISON 1
70f75246c   Sam Ravnborg   kbuild: apply gen...
45
  /* Bison version.  */
0359de7dd   Michal Marek   genksyms: Regener...
46
  #define YYBISON_VERSION "2.5"
70f75246c   Sam Ravnborg   kbuild: apply gen...
47

c40f56409   Sam Ravnborg   kbuild: Create _s...
48
49
50
51
52
  /* Skeleton name.  */
  #define YYSKELETON_NAME "yacc.c"
  
  /* Pure parsers.  */
  #define YYPURE 0
303fc01fb   Michal Marek   genksyms: Regener...
53
54
55
56
57
  /* Push parsers.  */
  #define YYPUSH 0
  
  /* Pull parsers.  */
  #define YYPULL 1
c40f56409   Sam Ravnborg   kbuild: Create _s...
58
59
  /* Using locations.  */
  #define YYLSP_NEEDED 0
303fc01fb   Michal Marek   genksyms: Regener...
60
  /* Copy the first part of user declarations.  */
303fc01fb   Michal Marek   genksyms: Regener...
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  
  
  #include <assert.h>
  #include <stdlib.h>
  #include <string.h>
  #include "genksyms.h"
  
  static int is_typedef;
  static int is_extern;
  static char *current_name;
  static struct string_list *decl_spec;
  
  static void yyerror(const char *);
  
  static inline void
  remove_node(struct string_list **p)
  {
    struct string_list *node = *p;
    *p = node->next;
    free_node(node);
  }
  
  static inline void
  remove_list(struct string_list **pb, struct string_list **pe)
  {
    struct string_list *b = *pb, *e = *pe;
    *pb = e;
    free_list(b, e);
  }
0359de7dd   Michal Marek   genksyms: Regener...
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  /* Record definition of a struct/union/enum */
  static void record_compound(struct string_list **keyw,
  		       struct string_list **ident,
  		       struct string_list **body,
  		       enum symbol_type type)
  {
  	struct string_list *b = *body, *i = *ident, *r;
  
  	if (i->in_source_file) {
  		remove_node(keyw);
  		(*ident)->tag = type;
  		remove_list(body, ident);
  		return;
  	}
  	r = copy_node(i); r->tag = type;
  	r->next = (*keyw)->next; *body = r; (*keyw)->next = NULL;
  	add_symbol(i->string, type, b, is_extern);
  }
303fc01fb   Michal Marek   genksyms: Regener...
108

303fc01fb   Michal Marek   genksyms: Regener...
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
  
  /* Enabling traces.  */
  #ifndef YYDEBUG
  # define YYDEBUG 1
  #endif
  
  /* Enabling verbose error messages.  */
  #ifdef YYERROR_VERBOSE
  # undef YYERROR_VERBOSE
  # define YYERROR_VERBOSE 1
  #else
  # define YYERROR_VERBOSE 0
  #endif
  
  /* Enabling the token table.  */
  #ifndef YYTOKEN_TABLE
  # define YYTOKEN_TABLE 0
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
  /* Tokens.  */
  #ifndef YYTOKENTYPE
  # define YYTOKENTYPE
     /* Put the tokens into the symbol table, so that GDB and other debuggers
        know about them.  */
     enum yytokentype {
       ASM_KEYW = 258,
       ATTRIBUTE_KEYW = 259,
       AUTO_KEYW = 260,
       BOOL_KEYW = 261,
       CHAR_KEYW = 262,
       CONST_KEYW = 263,
       DOUBLE_KEYW = 264,
       ENUM_KEYW = 265,
       EXTERN_KEYW = 266,
70f75246c   Sam Ravnborg   kbuild: apply gen...
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
       EXTENSION_KEYW = 267,
       FLOAT_KEYW = 268,
       INLINE_KEYW = 269,
       INT_KEYW = 270,
       LONG_KEYW = 271,
       REGISTER_KEYW = 272,
       RESTRICT_KEYW = 273,
       SHORT_KEYW = 274,
       SIGNED_KEYW = 275,
       STATIC_KEYW = 276,
       STRUCT_KEYW = 277,
       TYPEDEF_KEYW = 278,
       UNION_KEYW = 279,
       UNSIGNED_KEYW = 280,
       VOID_KEYW = 281,
       VOLATILE_KEYW = 282,
       TYPEOF_KEYW = 283,
       EXPORT_SYMBOL_KEYW = 284,
       ASM_PHRASE = 285,
       ATTRIBUTE_PHRASE = 286,
       BRACE_PHRASE = 287,
       BRACKET_PHRASE = 288,
       EXPRESSION_PHRASE = 289,
       CHAR = 290,
       DOTS = 291,
       IDENT = 292,
       INT = 293,
       REAL = 294,
       STRING = 295,
       TYPE = 296,
       OTHER = 297,
       FILENAME = 298
c40f56409   Sam Ravnborg   kbuild: Create _s...
174
175
     };
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
176

c40f56409   Sam Ravnborg   kbuild: Create _s...
177

70f75246c   Sam Ravnborg   kbuild: apply gen...
178
179
  
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
c40f56409   Sam Ravnborg   kbuild: Create _s...
180
  typedef int YYSTYPE;
303fc01fb   Michal Marek   genksyms: Regener...
181
  # define YYSTYPE_IS_TRIVIAL 1
c40f56409   Sam Ravnborg   kbuild: Create _s...
182
183
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
  # define YYSTYPE_IS_DECLARED 1
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
184
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
185
  /* Copy the second part of user declarations.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
186

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
187

70f75246c   Sam Ravnborg   kbuild: apply gen...
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
  
  #ifdef short
  # undef short
  #endif
  
  #ifdef YYTYPE_UINT8
  typedef YYTYPE_UINT8 yytype_uint8;
  #else
  typedef unsigned char yytype_uint8;
  #endif
  
  #ifdef YYTYPE_INT8
  typedef YYTYPE_INT8 yytype_int8;
  #elif (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  typedef signed char yytype_int8;
  #else
  typedef short int yytype_int8;
  #endif
  
  #ifdef YYTYPE_UINT16
  typedef YYTYPE_UINT16 yytype_uint16;
  #else
  typedef unsigned short int yytype_uint16;
  #endif
  
  #ifdef YYTYPE_INT16
  typedef YYTYPE_INT16 yytype_int16;
  #else
  typedef short int yytype_int16;
  #endif
  
  #ifndef YYSIZE_T
  # ifdef __SIZE_TYPE__
  #  define YYSIZE_T __SIZE_TYPE__
  # elif defined size_t
  #  define YYSIZE_T size_t
  # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
  #  define YYSIZE_T size_t
  # else
  #  define YYSIZE_T unsigned int
  # endif
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
233

70f75246c   Sam Ravnborg   kbuild: apply gen...
234
  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
235

70f75246c   Sam Ravnborg   kbuild: apply gen...
236
  #ifndef YY_
58ef81c5c   Arnaud Lacombe   genksym: regen pa...
237
  # if defined YYENABLE_NLS && YYENABLE_NLS
70f75246c   Sam Ravnborg   kbuild: apply gen...
238
239
240
241
  #  if ENABLE_NLS
  #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
  #   define YY_(msgid) dgettext ("bison-runtime", msgid)
  #  endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
242
  # endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
243
244
  # ifndef YY_
  #  define YY_(msgid) msgid
c40f56409   Sam Ravnborg   kbuild: Create _s...
245
  # endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
  #endif
  
  /* Suppress unused-variable warnings by "using" E.  */
  #if ! defined lint || defined __GNUC__
  # define YYUSE(e) ((void) (e))
  #else
  # define YYUSE(e) /* empty */
  #endif
  
  /* Identity function, used to suppress warnings about constant conditions.  */
  #ifndef lint
  # define YYID(n) (n)
  #else
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  static int
303fc01fb   Michal Marek   genksyms: Regener...
262
  YYID (int yyi)
70f75246c   Sam Ravnborg   kbuild: apply gen...
263
264
  #else
  static int
303fc01fb   Michal Marek   genksyms: Regener...
265
266
  YYID (yyi)
      int yyi;
70f75246c   Sam Ravnborg   kbuild: apply gen...
267
268
  #endif
  {
303fc01fb   Michal Marek   genksyms: Regener...
269
    return yyi;
70f75246c   Sam Ravnborg   kbuild: apply gen...
270
271
272
273
  }
  #endif
  
  #if ! defined yyoverflow || YYERROR_VERBOSE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
274

c40f56409   Sam Ravnborg   kbuild: Create _s...
275
276
277
278
279
280
  /* The parser invokes alloca or malloc; define the necessary symbols.  */
  
  # ifdef YYSTACK_USE_ALLOCA
  #  if YYSTACK_USE_ALLOCA
  #   ifdef __GNUC__
  #    define YYSTACK_ALLOC __builtin_alloca
70f75246c   Sam Ravnborg   kbuild: apply gen...
281
282
283
284
285
286
287
  #   elif defined __BUILTIN_VA_ARG_INCR
  #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
  #   elif defined _AIX
  #    define YYSTACK_ALLOC __alloca
  #   elif defined _MSC_VER
  #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
  #    define alloca _alloca
c40f56409   Sam Ravnborg   kbuild: Create _s...
288
289
  #   else
  #    define YYSTACK_ALLOC alloca
0359de7dd   Michal Marek   genksyms: Regener...
290
  #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
70f75246c   Sam Ravnborg   kbuild: apply gen...
291
292
       || defined __cplusplus || defined _MSC_VER)
  #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
0359de7dd   Michal Marek   genksyms: Regener...
293
294
  #     ifndef EXIT_SUCCESS
  #      define EXIT_SUCCESS 0
70f75246c   Sam Ravnborg   kbuild: apply gen...
295
296
  #     endif
  #    endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
297
298
299
300
301
  #   endif
  #  endif
  # endif
  
  # ifdef YYSTACK_ALLOC
70f75246c   Sam Ravnborg   kbuild: apply gen...
302
303
304
305
306
307
308
309
     /* Pacify GCC's `empty if-body' warning.  */
  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
  #  ifndef YYSTACK_ALLOC_MAXIMUM
      /* The OS might guarantee only one guard page at the bottom of the stack,
         and a page size can be as small as 4096 bytes.  So we cannot safely
         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
         to allow for a few compiler-allocated temporary stack slots.  */
  #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
c40f56409   Sam Ravnborg   kbuild: Create _s...
310
  #  endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
311
  # else
c40f56409   Sam Ravnborg   kbuild: Create _s...
312
313
  #  define YYSTACK_ALLOC YYMALLOC
  #  define YYSTACK_FREE YYFREE
70f75246c   Sam Ravnborg   kbuild: apply gen...
314
315
316
  #  ifndef YYSTACK_ALLOC_MAXIMUM
  #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
  #  endif
0359de7dd   Michal Marek   genksyms: Regener...
317
  #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
70f75246c   Sam Ravnborg   kbuild: apply gen...
318
319
320
         && ! ((defined YYMALLOC || defined malloc) \
  	     && (defined YYFREE || defined free)))
  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
0359de7dd   Michal Marek   genksyms: Regener...
321
322
  #   ifndef EXIT_SUCCESS
  #    define EXIT_SUCCESS 0
70f75246c   Sam Ravnborg   kbuild: apply gen...
323
324
325
326
  #   endif
  #  endif
  #  ifndef YYMALLOC
  #   define YYMALLOC malloc
0359de7dd   Michal Marek   genksyms: Regener...
327
  #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
70f75246c   Sam Ravnborg   kbuild: apply gen...
328
329
330
331
332
333
       || defined __cplusplus || defined _MSC_VER)
  void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
  #   endif
  #  endif
  #  ifndef YYFREE
  #   define YYFREE free
0359de7dd   Michal Marek   genksyms: Regener...
334
  #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
70f75246c   Sam Ravnborg   kbuild: apply gen...
335
336
337
338
       || defined __cplusplus || defined _MSC_VER)
  void free (void *); /* INFRINGES ON USER NAME SPACE */
  #   endif
  #  endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
339
  # endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
340
  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
c40f56409   Sam Ravnborg   kbuild: Create _s...
341

70f75246c   Sam Ravnborg   kbuild: apply gen...
342
343
344
  #if (! defined yyoverflow \
       && (! defined __cplusplus \
  	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
c40f56409   Sam Ravnborg   kbuild: Create _s...
345
346
347
348
  
  /* A type that is properly aligned for any stack member.  */
  union yyalloc
  {
303fc01fb   Michal Marek   genksyms: Regener...
349
350
351
    yytype_int16 yyss_alloc;
    YYSTYPE yyvs_alloc;
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
352
353
354
355
356
357
358
  
  /* The size of the maximum gap between one aligned stack and the next.  */
  # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
  
  /* The size of an array large to enough to hold all stacks, each with
     N elements.  */
  # define YYSTACK_BYTES(N) \
70f75246c   Sam Ravnborg   kbuild: apply gen...
359
       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
c40f56409   Sam Ravnborg   kbuild: Create _s...
360
        + YYSTACK_GAP_MAXIMUM)
0359de7dd   Michal Marek   genksyms: Regener...
361
  # define YYCOPY_NEEDED 1
c40f56409   Sam Ravnborg   kbuild: Create _s...
362
363
364
365
366
367
  
  /* Relocate STACK from its old location to the new one.  The
     local variables YYSIZE and YYSTACKSIZE give the old and new number of
     elements in the stack, and YYPTR gives the new location of the
     stack.  Advance YYPTR to a properly aligned location for the next
     stack.  */
303fc01fb   Michal Marek   genksyms: Regener...
368
  # define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
c40f56409   Sam Ravnborg   kbuild: Create _s...
369
370
371
      do									\
        {									\
  	YYSIZE_T yynewbytes;						\
303fc01fb   Michal Marek   genksyms: Regener...
372
373
  	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
  	Stack = &yyptr->Stack_alloc;					\
c40f56409   Sam Ravnborg   kbuild: Create _s...
374
375
376
  	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
  	yyptr += yynewbytes / sizeof (*yyptr);				\
        }									\
70f75246c   Sam Ravnborg   kbuild: apply gen...
377
      while (YYID (0))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
378

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
379
  #endif
0359de7dd   Michal Marek   genksyms: Regener...
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
  #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
  /* Copy COUNT objects from FROM to TO.  The source and destination do
     not overlap.  */
  # ifndef YYCOPY
  #  if defined __GNUC__ && 1 < __GNUC__
  #   define YYCOPY(To, From, Count) \
        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
  #  else
  #   define YYCOPY(To, From, Count)		\
        do					\
  	{					\
  	  YYSIZE_T yyi;				\
  	  for (yyi = 0; yyi < (Count); yyi++)	\
  	    (To)[yyi] = (From)[yyi];		\
  	}					\
        while (YYID (0))
  #  endif
  # endif
  #endif /* !YYCOPY_NEEDED */
70f75246c   Sam Ravnborg   kbuild: apply gen...
399
  /* YYFINAL -- State number of the termination state.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
400
401
  #define YYFINAL  4
  /* YYLAST -- Last index in YYTABLE.  */
303fc01fb   Michal Marek   genksyms: Regener...
402
  #define YYLAST   532
c40f56409   Sam Ravnborg   kbuild: Create _s...
403

70f75246c   Sam Ravnborg   kbuild: apply gen...
404
405
406
  /* YYNTOKENS -- Number of terminals.  */
  #define YYNTOKENS  53
  /* YYNNTS -- Number of nonterminals.  */
303fc01fb   Michal Marek   genksyms: Regener...
407
  #define YYNNTS  49
70f75246c   Sam Ravnborg   kbuild: apply gen...
408
  /* YYNRULES -- Number of rules.  */
303fc01fb   Michal Marek   genksyms: Regener...
409
  #define YYNRULES  132
70f75246c   Sam Ravnborg   kbuild: apply gen...
410
  /* YYNRULES -- Number of states.  */
303fc01fb   Michal Marek   genksyms: Regener...
411
  #define YYNSTATES  188
c40f56409   Sam Ravnborg   kbuild: Create _s...
412
413
414
  
  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
  #define YYUNDEFTOK  2
70f75246c   Sam Ravnborg   kbuild: apply gen...
415
  #define YYMAXUTOK   298
c40f56409   Sam Ravnborg   kbuild: Create _s...
416

70f75246c   Sam Ravnborg   kbuild: apply gen...
417
  #define YYTRANSLATE(YYX)						\
c40f56409   Sam Ravnborg   kbuild: Create _s...
418
419
420
    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
  
  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
421
  static const yytype_uint8 yytranslate[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
422
423
424
425
426
  {
         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
70f75246c   Sam Ravnborg   kbuild: apply gen...
427
428
429
        47,    49,    48,     2,    46,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,    52,    44,
         2,    50,     2,     2,     2,     2,     2,     2,     2,     2,
c40f56409   Sam Ravnborg   kbuild: Create _s...
430
431
432
433
434
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
70f75246c   Sam Ravnborg   kbuild: apply gen...
435
         2,     2,     2,    51,     2,    45,     2,     2,     2,     2,
c40f56409   Sam Ravnborg   kbuild: Create _s...
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
70f75246c   Sam Ravnborg   kbuild: apply gen...
452
        35,    36,    37,    38,    39,    40,    41,    42,    43
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
453
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
454
455
456
  #if YYDEBUG
  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
     YYRHS.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
457
  static const yytype_uint16 yyprhs[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
458
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
459
460
461
462
463
464
465
466
467
468
469
470
         0,     0,     3,     5,     8,     9,    12,    13,    18,    19,
        23,    25,    27,    29,    31,    34,    37,    41,    42,    44,
        46,    50,    55,    56,    58,    60,    63,    65,    67,    69,
        71,    73,    75,    77,    79,    81,    87,    92,    95,    98,
       101,   105,   109,   113,   116,   119,   122,   124,   126,   128,
       130,   132,   134,   136,   138,   140,   142,   144,   147,   148,
       150,   152,   155,   157,   159,   161,   163,   166,   168,   170,
       175,   180,   183,   187,   191,   194,   196,   198,   200,   205,
       210,   213,   217,   221,   224,   226,   230,   231,   233,   235,
       239,   242,   245,   247,   248,   250,   252,   257,   262,   265,
       269,   273,   277,   278,   280,   283,   287,   291,   292,   294,
       296,   299,   303,   306,   307,   309,   311,   315,   318,   321,
303fc01fb   Michal Marek   genksyms: Regener...
471
472
       323,   326,   327,   330,   334,   339,   341,   345,   347,   351,
       354,   355,   357
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
473
  };
70f75246c   Sam Ravnborg   kbuild: apply gen...
474
475
  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
  static const yytype_int8 yyrhs[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
476
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
477
478
        54,     0,    -1,    55,    -1,    54,    55,    -1,    -1,    56,
        57,    -1,    -1,    12,    23,    58,    60,    -1,    -1,    23,
303fc01fb   Michal Marek   genksyms: Regener...
479
        59,    60,    -1,    60,    -1,    84,    -1,    99,    -1,   101,
70f75246c   Sam Ravnborg   kbuild: apply gen...
480
481
        -1,     1,    44,    -1,     1,    45,    -1,    64,    61,    44,
        -1,    -1,    62,    -1,    63,    -1,    62,    46,    63,    -1,
303fc01fb   Michal Marek   genksyms: Regener...
482
        74,   100,    95,    85,    -1,    -1,    65,    -1,    66,    -1,
70f75246c   Sam Ravnborg   kbuild: apply gen...
483
484
485
486
487
        65,    66,    -1,    67,    -1,    68,    -1,     5,    -1,    17,
        -1,    21,    -1,    11,    -1,    14,    -1,    69,    -1,    73,
        -1,    28,    47,    65,    48,    49,    -1,    28,    47,    65,
        49,    -1,    22,    37,    -1,    24,    37,    -1,    10,    37,
        -1,    22,    37,    87,    -1,    24,    37,    87,    -1,    10,
303fc01fb   Michal Marek   genksyms: Regener...
488
        37,    96,    -1,    10,    96,    -1,    22,    87,    -1,    24,
70f75246c   Sam Ravnborg   kbuild: apply gen...
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
        87,    -1,     7,    -1,    19,    -1,    15,    -1,    16,    -1,
        20,    -1,    25,    -1,    13,    -1,     9,    -1,    26,    -1,
         6,    -1,    41,    -1,    48,    71,    -1,    -1,    72,    -1,
        73,    -1,    72,    73,    -1,     8,    -1,    27,    -1,    31,
        -1,    18,    -1,    70,    74,    -1,    75,    -1,    37,    -1,
        75,    47,    78,    49,    -1,    75,    47,     1,    49,    -1,
        75,    33,    -1,    47,    74,    49,    -1,    47,     1,    49,
        -1,    70,    76,    -1,    77,    -1,    37,    -1,    41,    -1,
        77,    47,    78,    49,    -1,    77,    47,     1,    49,    -1,
        77,    33,    -1,    47,    76,    49,    -1,    47,     1,    49,
        -1,    79,    36,    -1,    79,    -1,    80,    46,    36,    -1,
        -1,    80,    -1,    81,    -1,    80,    46,    81,    -1,    65,
        82,    -1,    70,    82,    -1,    83,    -1,    -1,    37,    -1,
        41,    -1,    83,    47,    78,    49,    -1,    83,    47,     1,
        49,    -1,    83,    33,    -1,    47,    82,    49,    -1,    47,
         1,    49,    -1,    64,    74,    32,    -1,    -1,    86,    -1,
        50,    34,    -1,    51,    88,    45,    -1,    51,     1,    45,
        -1,    -1,    89,    -1,    90,    -1,    89,    90,    -1,    64,
        91,    44,    -1,     1,    44,    -1,    -1,    92,    -1,    93,
        -1,    92,    46,    93,    -1,    76,    95,    -1,    37,    94,
94aa3d716   Andreas Gruenbacher   kbuild: genksyms ...
509
        -1,    94,    -1,    52,    34,    -1,    -1,    95,    31,    -1,
303fc01fb   Michal Marek   genksyms: Regener...
510
511
512
513
        51,    97,    45,    -1,    51,    97,    46,    45,    -1,    98,
        -1,    97,    46,    98,    -1,    37,    -1,    37,    50,    34,
        -1,    30,    44,    -1,    -1,    30,    -1,    29,    47,    37,
        49,    44,    -1
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
514
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
515
  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
516
  static const yytype_uint16 yyrline[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
517
  {
0359de7dd   Michal Marek   genksyms: Regener...
518
519
520
521
522
523
524
525
526
527
528
529
530
531
         0,   123,   123,   124,   128,   128,   134,   134,   136,   136,
       138,   139,   140,   141,   142,   143,   147,   161,   162,   166,
       174,   187,   193,   194,   198,   199,   203,   209,   213,   214,
       215,   216,   217,   221,   222,   223,   224,   228,   230,   232,
       236,   238,   240,   245,   248,   249,   253,   254,   255,   256,
       257,   258,   259,   260,   261,   262,   263,   267,   272,   273,
       277,   278,   282,   282,   282,   283,   291,   292,   296,   305,
       307,   309,   311,   313,   320,   321,   325,   326,   327,   329,
       331,   333,   335,   340,   341,   342,   346,   347,   351,   352,
       357,   362,   364,   368,   369,   377,   381,   383,   385,   387,
       389,   394,   403,   404,   409,   414,   415,   419,   420,   424,
       425,   429,   431,   436,   437,   441,   442,   446,   447,   448,
       452,   456,   457,   461,   462,   466,   467,   470,   475,   483,
       487,   488,   492
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
532
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
533
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
534

70f75246c   Sam Ravnborg   kbuild: apply gen...
535
536
537
  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
538
539
540
541
  static const char *const yytname[] =
  {
    "$end", "error", "$undefined", "ASM_KEYW", "ATTRIBUTE_KEYW",
    "AUTO_KEYW", "BOOL_KEYW", "CHAR_KEYW", "CONST_KEYW", "DOUBLE_KEYW",
70f75246c   Sam Ravnborg   kbuild: apply gen...
542
543
544
545
546
547
548
549
    "ENUM_KEYW", "EXTERN_KEYW", "EXTENSION_KEYW", "FLOAT_KEYW",
    "INLINE_KEYW", "INT_KEYW", "LONG_KEYW", "REGISTER_KEYW", "RESTRICT_KEYW",
    "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW",
    "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW",
    "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE",
    "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE",
    "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING",
    "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'",
303fc01fb   Michal Marek   genksyms: Regener...
550
551
    "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1",
    "declaration1", "$@2", "$@3", "simple_declaration",
70f75246c   Sam Ravnborg   kbuild: apply gen...
552
553
554
555
556
557
558
559
560
561
562
    "init_declarator_list_opt", "init_declarator_list", "init_declarator",
    "decl_specifier_seq_opt", "decl_specifier_seq", "decl_specifier",
    "storage_class_specifier", "type_specifier", "simple_type_specifier",
    "ptr_operator", "cvar_qualifier_seq_opt", "cvar_qualifier_seq",
    "cvar_qualifier", "declarator", "direct_declarator", "nested_declarator",
    "direct_nested_declarator", "parameter_declaration_clause",
    "parameter_declaration_list_opt", "parameter_declaration_list",
    "parameter_declaration", "m_abstract_declarator",
    "direct_m_abstract_declarator", "function_definition", "initializer_opt",
    "initializer", "class_body", "member_specification_opt",
    "member_specification", "member_declaration",
c40f56409   Sam Ravnborg   kbuild: Create _s...
563
564
    "member_declarator_list_opt", "member_declarator_list",
    "member_declarator", "member_bitfield_declarator", "attribute_opt",
303fc01fb   Michal Marek   genksyms: Regener...
565
566
    "enum_body", "enumerator_list", "enumerator", "asm_definition",
    "asm_phrase_opt", "export_definition", 0
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
567
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
568
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
569

c40f56409   Sam Ravnborg   kbuild: Create _s...
570
571
572
  # ifdef YYPRINT
  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
     token YYLEX-NUM.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
573
  static const yytype_uint16 yytoknum[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
574
575
576
577
578
  {
         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
70f75246c   Sam Ravnborg   kbuild: apply gen...
579
580
       295,   296,   297,   298,    59,   125,    44,    40,    42,    41,
        61,   123,    58
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
581
  };
c40f56409   Sam Ravnborg   kbuild: Create _s...
582
  # endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
583

c40f56409   Sam Ravnborg   kbuild: Create _s...
584
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
585
  static const yytype_uint8 yyr1[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
586
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
587
588
589
590
591
592
593
594
595
596
597
598
         0,    53,    54,    54,    56,    55,    58,    57,    59,    57,
        57,    57,    57,    57,    57,    57,    60,    61,    61,    62,
        62,    63,    64,    64,    65,    65,    66,    66,    67,    67,
        67,    67,    67,    68,    68,    68,    68,    68,    68,    68,
        68,    68,    68,    68,    68,    68,    69,    69,    69,    69,
        69,    69,    69,    69,    69,    69,    69,    70,    71,    71,
        72,    72,    73,    73,    73,    73,    74,    74,    75,    75,
        75,    75,    75,    75,    76,    76,    77,    77,    77,    77,
        77,    77,    77,    78,    78,    78,    79,    79,    80,    80,
        81,    82,    82,    83,    83,    83,    83,    83,    83,    83,
        83,    84,    85,    85,    86,    87,    87,    88,    88,    89,
        89,    90,    90,    91,    91,    92,    92,    93,    93,    93,
303fc01fb   Michal Marek   genksyms: Regener...
599
600
        94,    95,    95,    96,    96,    97,    97,    98,    98,    99,
       100,   100,   101
c40f56409   Sam Ravnborg   kbuild: Create _s...
601
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
602

c40f56409   Sam Ravnborg   kbuild: Create _s...
603
  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
604
  static const yytype_uint8 yyr2[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
605
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
606
607
608
609
610
611
612
613
614
615
616
617
         0,     2,     1,     2,     0,     2,     0,     4,     0,     3,
         1,     1,     1,     1,     2,     2,     3,     0,     1,     1,
         3,     4,     0,     1,     1,     2,     1,     1,     1,     1,
         1,     1,     1,     1,     1,     5,     4,     2,     2,     2,
         3,     3,     3,     2,     2,     2,     1,     1,     1,     1,
         1,     1,     1,     1,     1,     1,     1,     2,     0,     1,
         1,     2,     1,     1,     1,     1,     2,     1,     1,     4,
         4,     2,     3,     3,     2,     1,     1,     1,     4,     4,
         2,     3,     3,     2,     1,     3,     0,     1,     1,     3,
         2,     2,     1,     0,     1,     1,     4,     4,     2,     3,
         3,     3,     0,     1,     2,     3,     3,     0,     1,     1,
         2,     3,     2,     0,     1,     1,     3,     2,     2,     1,
303fc01fb   Michal Marek   genksyms: Regener...
618
619
         2,     0,     2,     3,     4,     1,     3,     1,     3,     2,
         0,     1,     5
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
620
  };
0359de7dd   Michal Marek   genksyms: Regener...
621
622
  /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
     Performed when YYTABLE doesn't specify something else to do.  Zero
c40f56409   Sam Ravnborg   kbuild: Create _s...
623
     means the default is an error.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
624
  static const yytype_uint8 yydefact[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
625
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
626
627
628
629
         4,     4,     2,     0,     1,     3,     0,    28,    55,    46,
        62,    53,     0,    31,     0,    52,    32,    48,    49,    29,
        65,    47,    50,    30,     0,     8,     0,    51,    54,    63,
         0,     0,     0,    64,    56,     5,    10,    17,    23,    24,
303fc01fb   Michal Marek   genksyms: Regener...
630
631
632
633
634
635
636
637
638
639
        26,    27,    33,    34,    11,    12,    13,    14,    15,    39,
         0,    43,     6,    37,     0,    44,    22,    38,    45,     0,
         0,   129,    68,     0,    58,     0,    18,    19,     0,   130,
        67,    25,    42,   127,     0,   125,    22,    40,     0,   113,
         0,     0,   109,     9,    17,    41,     0,     0,     0,     0,
        57,    59,    60,    16,     0,    66,   131,   101,   121,    71,
         0,     0,   123,     0,     7,   112,   106,    76,    77,     0,
         0,     0,   121,    75,     0,   114,   115,   119,   105,     0,
       110,   130,     0,    36,     0,    73,    72,    61,    20,   102,
         0,    93,     0,    84,    87,    88,   128,   124,   126,   118,
94aa3d716   Andreas Gruenbacher   kbuild: genksyms ...
640
         0,    76,     0,   120,    74,   117,    80,     0,   111,     0,
303fc01fb   Michal Marek   genksyms: Regener...
641
        35,   132,   122,     0,    21,   103,    70,    94,    56,     0,
70f75246c   Sam Ravnborg   kbuild: apply gen...
642
643
644
        93,    90,    92,    69,    83,     0,    82,    81,     0,     0,
       116,   104,     0,    95,     0,    91,    98,     0,    85,    89,
        79,    78,   100,    99,     0,     0,    97,    96
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
645
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
646

70f75246c   Sam Ravnborg   kbuild: apply gen...
647
648
  /* YYDEFGOTO[NTERM-NUM].  */
  static const yytype_int16 yydefgoto[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
649
  {
303fc01fb   Michal Marek   genksyms: Regener...
650
651
652
653
654
        -1,     1,     2,     3,    35,    76,    56,    36,    65,    66,
        67,    79,    38,    39,    40,    41,    42,    68,    90,    91,
        43,   121,    70,   112,   113,   132,   133,   134,   135,   161,
       162,    44,   154,   155,    55,    80,    81,    82,   114,   115,
       116,   117,   129,    51,    74,    75,    45,    98,    46
c40f56409   Sam Ravnborg   kbuild: Create _s...
655
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
656

c40f56409   Sam Ravnborg   kbuild: Create _s...
657
658
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     STATE-NUM.  */
303fc01fb   Michal Marek   genksyms: Regener...
659
  #define YYPACT_NINF -135
70f75246c   Sam Ravnborg   kbuild: apply gen...
660
  static const yytype_int16 yypact[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
661
  {
303fc01fb   Michal Marek   genksyms: Regener...
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
      -135,    20,  -135,   321,  -135,  -135,    30,  -135,  -135,  -135,
      -135,  -135,   -28,  -135,     2,  -135,  -135,  -135,  -135,  -135,
      -135,  -135,  -135,  -135,    -6,  -135,     9,  -135,  -135,  -135,
        -5,    15,   -17,  -135,  -135,  -135,  -135,    18,   491,  -135,
      -135,  -135,  -135,  -135,  -135,  -135,  -135,  -135,  -135,   -22,
        31,  -135,  -135,    19,   106,  -135,   491,    19,  -135,   491,
        50,  -135,  -135,    11,    -3,    51,    57,  -135,    18,   -14,
        14,  -135,  -135,    48,    46,  -135,   491,  -135,    33,    32,
        59,   154,  -135,  -135,    18,  -135,   365,    56,    60,    61,
      -135,    -3,  -135,  -135,    18,  -135,  -135,  -135,  -135,  -135,
       202,    74,  -135,   -23,  -135,  -135,  -135,    77,  -135,    16,
       101,    49,  -135,    34,    92,    93,  -135,  -135,  -135,    94,
      -135,   110,    95,  -135,    97,  -135,  -135,  -135,  -135,   -20,
        96,   410,    99,   113,   100,  -135,  -135,  -135,  -135,  -135,
       103,  -135,   107,  -135,  -135,   111,  -135,   239,  -135,    32,
      -135,  -135,  -135,   123,  -135,  -135,  -135,  -135,  -135,     3,
        52,  -135,    38,  -135,  -135,   454,  -135,  -135,   117,   128,
      -135,  -135,   134,  -135,   135,  -135,  -135,   276,  -135,  -135,
      -135,  -135,  -135,  -135,   137,   138,  -135,  -135
c40f56409   Sam Ravnborg   kbuild: Create _s...
681
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
682

c40f56409   Sam Ravnborg   kbuild: Create _s...
683
  /* YYPGOTO[NTERM-NUM].  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
684
  static const yytype_int16 yypgoto[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
685
  {
303fc01fb   Michal Marek   genksyms: Regener...
686
687
688
689
690
      -135,  -135,   187,  -135,  -135,  -135,  -135,   -50,  -135,  -135,
        98,     0,   -59,   -37,  -135,  -135,  -135,   -77,  -135,  -135,
       -54,   -30,  -135,   -90,  -135,  -134,  -135,  -135,    24,   -58,
      -135,  -135,  -135,  -135,   -18,  -135,  -135,   109,  -135,  -135,
        44,    87,    84,   148,  -135,   102,  -135,  -135,  -135
c40f56409   Sam Ravnborg   kbuild: Create _s...
691
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
692

c40f56409   Sam Ravnborg   kbuild: Create _s...
693
694
  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
     positive, shift that token.  If negative, reduce the rule which
0359de7dd   Michal Marek   genksyms: Regener...
695
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
696
697
  #define YYTABLE_NINF -109
  static const yytype_int16 yytable[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
698
  {
303fc01fb   Michal Marek   genksyms: Regener...
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
        86,    71,   111,    37,   172,    10,    83,    69,    58,    49,
        92,   152,    88,   169,    73,    20,    96,   140,    97,   142,
         4,   144,   137,    50,    29,    52,   104,    61,    33,    50,
       153,    53,   111,    89,   111,    77,   -93,   127,    95,    85,
       157,   131,    59,   185,   173,    54,    57,    99,    62,    71,
       159,    64,   -93,   141,   160,    62,    84,   108,    63,    64,
        54,   100,    60,   109,    64,    63,    64,   146,    73,   107,
        54,   176,   111,   108,    47,    48,    84,   105,   106,   109,
        64,   147,   160,   160,   110,   177,   141,    87,   131,   157,
       108,   102,   103,   173,    71,    93,   109,    64,   101,   159,
        64,   174,   175,    94,   118,   124,   131,    78,   136,   125,
       126,     7,     8,     9,    10,    11,    12,    13,   131,    15,
        16,    17,    18,    19,    20,    21,    22,    23,    24,   110,
        26,    27,    28,    29,    30,   143,   148,    33,   105,   149,
        96,   151,   152,   -22,   150,   156,   165,    34,   163,   164,
       -22,  -107,   166,   -22,   -22,   119,   167,   171,   -22,     7,
         8,     9,    10,    11,    12,    13,   180,    15,    16,    17,
        18,    19,    20,    21,    22,    23,    24,   181,    26,    27,
        28,    29,    30,   182,   183,    33,   186,   187,     5,   179,
       120,   -22,   128,   170,   139,    34,   145,    72,   -22,  -108,
         0,   -22,   -22,   130,     0,   138,   -22,     7,     8,     9,
        10,    11,    12,    13,     0,    15,    16,    17,    18,    19,
        20,    21,    22,    23,    24,     0,    26,    27,    28,    29,
        30,     0,     0,    33,     0,     0,     0,     0,   -86,     0,
       168,     0,     0,    34,     7,     8,     9,    10,    11,    12,
        13,   -86,    15,    16,    17,    18,    19,    20,    21,    22,
        23,    24,     0,    26,    27,    28,    29,    30,     0,     0,
        33,     0,     0,     0,     0,   -86,     0,   184,     0,     0,
        34,     7,     8,     9,    10,    11,    12,    13,   -86,    15,
70f75246c   Sam Ravnborg   kbuild: apply gen...
728
729
        16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
        26,    27,    28,    29,    30,     0,     0,    33,     0,     0,
303fc01fb   Michal Marek   genksyms: Regener...
730
731
732
733
734
735
         0,     0,   -86,     0,     0,     0,     0,    34,     0,     0,
         0,     0,     6,     0,     0,   -86,     7,     8,     9,    10,
        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
        31,    32,    33,     0,     0,     0,     0,     0,   -22,     0,
         0,     0,    34,     0,     0,   -22,     0,     0,   -22,   -22,
70f75246c   Sam Ravnborg   kbuild: apply gen...
736
737
738
         7,     8,     9,    10,    11,    12,    13,     0,    15,    16,
        17,    18,    19,    20,    21,    22,    23,    24,     0,    26,
        27,    28,    29,    30,     0,     0,    33,     0,     0,     0,
303fc01fb   Michal Marek   genksyms: Regener...
739
740
741
742
743
744
745
746
747
748
749
750
751
752
         0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
         0,     0,     0,   122,   123,     7,     8,     9,    10,    11,
        12,    13,     0,    15,    16,    17,    18,    19,    20,    21,
        22,    23,    24,     0,    26,    27,    28,    29,    30,     0,
         0,    33,     0,     0,     0,     0,     0,   157,     0,     0,
         0,   158,     0,     0,     0,     0,     0,   159,    64,     7,
         8,     9,    10,    11,    12,    13,     0,    15,    16,    17,
        18,    19,    20,    21,    22,    23,    24,     0,    26,    27,
        28,    29,    30,     0,     0,    33,     0,     0,     0,     0,
       178,     0,     0,     0,     0,    34,     7,     8,     9,    10,
        11,    12,    13,     0,    15,    16,    17,    18,    19,    20,
        21,    22,    23,    24,     0,    26,    27,    28,    29,    30,
         0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
         0,     0,    34
c40f56409   Sam Ravnborg   kbuild: Create _s...
753
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
754

0359de7dd   Michal Marek   genksyms: Regener...
755
756
757
758
759
  #define yypact_value_is_default(yystate) \
    ((yystate) == (-135))
  
  #define yytable_value_is_error(yytable_value) \
    YYID (0)
70f75246c   Sam Ravnborg   kbuild: apply gen...
760
  static const yytype_int16 yycheck[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
761
  {
303fc01fb   Michal Marek   genksyms: Regener...
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
        59,    38,    79,     3,     1,     8,    56,    37,    26,    37,
        64,    31,     1,   147,    37,    18,    30,     1,    32,   109,
         0,   111,    45,    51,    27,    23,    76,    44,    31,    51,
        50,    37,   109,    63,   111,    53,    33,    91,    68,    57,
        37,   100,    47,   177,    41,    51,    37,    33,    37,    86,
        47,    48,    49,    37,   131,    37,    56,    41,    47,    48,
        51,    47,    47,    47,    48,    47,    48,    33,    37,    37,
        51,    33,   149,    41,    44,    45,    76,    44,    45,    47,
        48,    47,   159,   160,    52,    47,    37,    37,   147,    37,
        41,    45,    46,    41,   131,    44,    47,    48,    50,    47,
        48,   159,   160,    46,    45,    49,   165,     1,    34,    49,
        49,     5,     6,     7,     8,     9,    10,    11,   177,    13,
        14,    15,    16,    17,    18,    19,    20,    21,    22,    52,
        24,    25,    26,    27,    28,    34,    44,    31,    44,    46,
        30,    44,    31,    37,    49,    49,    46,    41,    49,    36,
        44,    45,    49,    47,    48,     1,    49,    34,    52,     5,
         6,     7,     8,     9,    10,    11,    49,    13,    14,    15,
        16,    17,    18,    19,    20,    21,    22,    49,    24,    25,
        26,    27,    28,    49,    49,    31,    49,    49,     1,   165,
        81,    37,    94,   149,   107,    41,   112,    49,    44,    45,
        -1,    47,    48,     1,    -1,   103,    52,     5,     6,     7,
         8,     9,    10,    11,    -1,    13,    14,    15,    16,    17,
        18,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
        28,    -1,    -1,    31,    -1,    -1,    -1,    -1,    36,    -1,
         1,    -1,    -1,    41,     5,     6,     7,     8,     9,    10,
        11,    49,    13,    14,    15,    16,    17,    18,    19,    20,
        21,    22,    -1,    24,    25,    26,    27,    28,    -1,    -1,
        31,    -1,    -1,    -1,    -1,    36,    -1,     1,    -1,    -1,
        41,     5,     6,     7,     8,     9,    10,    11,    49,    13,
70f75246c   Sam Ravnborg   kbuild: apply gen...
791
792
        14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
        24,    25,    26,    27,    28,    -1,    -1,    31,    -1,    -1,
303fc01fb   Michal Marek   genksyms: Regener...
793
794
795
796
797
798
        -1,    -1,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,
        -1,    -1,     1,    -1,    -1,    49,     5,     6,     7,     8,
         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,
        -1,    -1,    41,    -1,    -1,    44,    -1,    -1,    47,    48,
70f75246c   Sam Ravnborg   kbuild: apply gen...
799
800
801
         5,     6,     7,     8,     9,    10,    11,    -1,    13,    14,
        15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
        25,    26,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,
303fc01fb   Michal Marek   genksyms: Regener...
802
803
804
805
806
807
808
809
810
811
812
813
814
815
        -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,
        -1,    -1,    -1,    48,    49,     5,     6,     7,     8,     9,
        10,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
        20,    21,    22,    -1,    24,    25,    26,    27,    28,    -1,
        -1,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
        -1,    41,    -1,    -1,    -1,    -1,    -1,    47,    48,     5,
         6,     7,     8,     9,    10,    11,    -1,    13,    14,    15,
        16,    17,    18,    19,    20,    21,    22,    -1,    24,    25,
        26,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,    -1,
        36,    -1,    -1,    -1,    -1,    41,     5,     6,     7,     8,
         9,    10,    11,    -1,    13,    14,    15,    16,    17,    18,
        19,    20,    21,    22,    -1,    24,    25,    26,    27,    28,
        -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    41
c40f56409   Sam Ravnborg   kbuild: Create _s...
816
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
817

c40f56409   Sam Ravnborg   kbuild: Create _s...
818
819
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
     symbol of state STATE-NUM.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
820
  static const yytype_uint8 yystos[] =
c40f56409   Sam Ravnborg   kbuild: Create _s...
821
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
822
         0,    54,    55,    56,     0,    55,     1,     5,     6,     7,
c40f56409   Sam Ravnborg   kbuild: Create _s...
823
824
         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
70f75246c   Sam Ravnborg   kbuild: apply gen...
825
        28,    29,    30,    31,    41,    57,    60,    64,    65,    66,
303fc01fb   Michal Marek   genksyms: Regener...
826
827
828
829
830
831
832
833
834
835
        67,    68,    69,    73,    84,    99,   101,    44,    45,    37,
        51,    96,    23,    37,    51,    87,    59,    37,    87,    47,
        47,    44,    37,    47,    48,    61,    62,    63,    70,    74,
        75,    66,    96,    37,    97,    98,    58,    87,     1,    64,
        88,    89,    90,    60,    64,    87,    65,    37,     1,    74,
        71,    72,    73,    44,    46,    74,    30,    32,   100,    33,
        47,    50,    45,    46,    60,    44,    45,    37,    41,    47,
        52,    70,    76,    77,    91,    92,    93,    94,    45,     1,
        90,    74,    48,    49,    49,    49,    49,    73,    63,    95,
         1,    65,    78,    79,    80,    81,    34,    45,    98,    94,
94aa3d716   Andreas Gruenbacher   kbuild: genksyms ...
836
837
         1,    37,    76,    34,    76,    95,    33,    47,    44,    46,
        49,    44,    31,    50,    85,    86,    49,    37,    41,    47,
70f75246c   Sam Ravnborg   kbuild: apply gen...
838
839
840
        70,    82,    83,    49,    36,    46,    49,    49,     1,    78,
        93,    34,     1,    41,    82,    82,    33,    47,    36,    81,
        49,    49,    49,    49,     1,    78,    49,    49
c40f56409   Sam Ravnborg   kbuild: Create _s...
841
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
842

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
843
844
  #define yyerrok		(yyerrstatus = 0)
  #define yyclearin	(yychar = YYEMPTY)
c40f56409   Sam Ravnborg   kbuild: Create _s...
845
  #define YYEMPTY		(-2)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
846
  #define YYEOF		0
c40f56409   Sam Ravnborg   kbuild: Create _s...
847

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
848
  #define YYACCEPT	goto yyacceptlab
c40f56409   Sam Ravnborg   kbuild: Create _s...
849
850
851
852
853
854
  #define YYABORT		goto yyabortlab
  #define YYERROR		goto yyerrorlab
  
  
  /* Like YYERROR except do call yyerror.  This remains here temporarily
     to ease the transition to the new meaning of YYERROR, for GCC.
58ef81c5c   Arnaud Lacombe   genksym: regen pa...
855
856
857
858
     Once GCC version 2 has supplanted version 1, this can go.  However,
     YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
     in Bison 2.4.2's NEWS entry, where a plan to phase it out is
     discussed.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
859

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
860
  #define YYFAIL		goto yyerrlab
58ef81c5c   Arnaud Lacombe   genksym: regen pa...
861
862
863
864
865
866
  #if defined YYFAIL
    /* This is here to suppress warnings from the GCC cpp's
       -Wunused-macros.  Normally we don't worry about that warning, but
       some users do, and we want to make it easy for users to remove
       YYFAIL uses, which will produce warnings from Bison 2.5.  */
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
867

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
868
  #define YYRECOVERING()  (!!yyerrstatus)
c40f56409   Sam Ravnborg   kbuild: Create _s...
869
870
  
  #define YYBACKUP(Token, Value)					\
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
871
872
  do								\
    if (yychar == YYEMPTY && yylen == 1)				\
c40f56409   Sam Ravnborg   kbuild: Create _s...
873
874
875
      {								\
        yychar = (Token);						\
        yylval = (Value);						\
70f75246c   Sam Ravnborg   kbuild: apply gen...
876
        YYPOPSTACK (1);						\
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
877
878
879
        goto yybackup;						\
      }								\
    else								\
70f75246c   Sam Ravnborg   kbuild: apply gen...
880
881
      {								\
        yyerror (YY_("syntax error: cannot back up")); \
c40f56409   Sam Ravnborg   kbuild: Create _s...
882
883
        YYERROR;							\
      }								\
70f75246c   Sam Ravnborg   kbuild: apply gen...
884
  while (YYID (0))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
885

c40f56409   Sam Ravnborg   kbuild: Create _s...
886

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
887
888
  #define YYTERROR	1
  #define YYERRCODE	256
c40f56409   Sam Ravnborg   kbuild: Create _s...
889
890
891
892
893
894
895
896
897
  
  /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
     If N is 0, then set CURRENT to the empty location which ends
     the previous symbol: RHS[0] (always defined).  */
  
  #define YYRHSLOC(Rhs, K) ((Rhs)[K])
  #ifndef YYLLOC_DEFAULT
  # define YYLLOC_DEFAULT(Current, Rhs, N)				\
      do									\
70f75246c   Sam Ravnborg   kbuild: apply gen...
898
        if (YYID (N))                                                    \
c40f56409   Sam Ravnborg   kbuild: Create _s...
899
900
901
902
903
904
905
906
907
908
909
910
911
  	{								\
  	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
  	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
  	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
  	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
  	}								\
        else								\
  	{								\
  	  (Current).first_line   = (Current).last_line   =		\
  	    YYRHSLOC (Rhs, 0).last_line;				\
  	  (Current).first_column = (Current).last_column =		\
  	    YYRHSLOC (Rhs, 0).last_column;				\
  	}								\
70f75246c   Sam Ravnborg   kbuild: apply gen...
912
      while (YYID (0))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
913
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
914

0359de7dd   Michal Marek   genksyms: Regener...
915
  /* This macro is provided for backward compatibility. */
c40f56409   Sam Ravnborg   kbuild: Create _s...
916
917
  
  #ifndef YY_LOCATION_PRINT
0359de7dd   Michal Marek   genksyms: Regener...
918
  # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
919
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
920
921
922
  
  
  /* YYLEX -- calling `yylex' with the right arguments.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
923
  #ifdef YYLEX_PARAM
c40f56409   Sam Ravnborg   kbuild: Create _s...
924
  # define YYLEX yylex (YYLEX_PARAM)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
925
  #else
c40f56409   Sam Ravnborg   kbuild: Create _s...
926
  # define YYLEX yylex ()
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
927
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
928
929
930
931
932
933
934
935
936
937
938
939
940
  
  /* Enable debugging if requested.  */
  #if YYDEBUG
  
  # ifndef YYFPRINTF
  #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
  #  define YYFPRINTF fprintf
  # endif
  
  # define YYDPRINTF(Args)			\
  do {						\
    if (yydebug)					\
      YYFPRINTF Args;				\
70f75246c   Sam Ravnborg   kbuild: apply gen...
941
942
943
944
945
946
947
948
949
950
951
952
953
  } while (YYID (0))
  
  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
  do {									  \
    if (yydebug)								  \
      {									  \
        YYFPRINTF (stderr, "%s ", Title);					  \
        yy_symbol_print (stderr,						  \
  		  Type, Value); \
        YYFPRINTF (stderr, "
  ");						  \
      }									  \
  } while (YYID (0))
c40f56409   Sam Ravnborg   kbuild: Create _s...
954

70f75246c   Sam Ravnborg   kbuild: apply gen...
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
  
  /*--------------------------------.
  | Print this symbol on YYOUTPUT.  |
  `--------------------------------*/
  
  /*ARGSUSED*/
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  static void
  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
  #else
  static void
  yy_symbol_value_print (yyoutput, yytype, yyvaluep)
      FILE *yyoutput;
      int yytype;
      YYSTYPE const * const yyvaluep;
  #endif
  {
    if (!yyvaluep)
      return;
  # ifdef YYPRINT
    if (yytype < YYNTOKENS)
      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
  # else
    YYUSE (yyoutput);
  # endif
    switch (yytype)
      {
        default:
  	break;
      }
  }
  
  
  /*--------------------------------.
  | Print this symbol on YYOUTPUT.  |
  `--------------------------------*/
  
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  static void
  yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
  #else
  static void
  yy_symbol_print (yyoutput, yytype, yyvaluep)
      FILE *yyoutput;
      int yytype;
      YYSTYPE const * const yyvaluep;
  #endif
  {
    if (yytype < YYNTOKENS)
      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    else
      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
  
    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
    YYFPRINTF (yyoutput, ")");
  }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1013
1014
1015
1016
1017
  
  /*------------------------------------------------------------------.
  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
  | TOP (included).                                                   |
  `------------------------------------------------------------------*/
70f75246c   Sam Ravnborg   kbuild: apply gen...
1018
1019
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1020
  static void
303fc01fb   Michal Marek   genksyms: Regener...
1021
  yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1022
1023
  #else
  static void
303fc01fb   Michal Marek   genksyms: Regener...
1024
1025
1026
  yy_stack_print (yybottom, yytop)
      yytype_int16 *yybottom;
      yytype_int16 *yytop;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1027
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1028
1029
  {
    YYFPRINTF (stderr, "Stack now");
303fc01fb   Michal Marek   genksyms: Regener...
1030
1031
1032
1033
1034
    for (; yybottom <= yytop; yybottom++)
      {
        int yybot = *yybottom;
        YYFPRINTF (stderr, " %d", yybot);
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1035
1036
1037
    YYFPRINTF (stderr, "
  ");
  }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1038

c40f56409   Sam Ravnborg   kbuild: Create _s...
1039
1040
1041
1042
  # define YY_STACK_PRINT(Bottom, Top)				\
  do {								\
    if (yydebug)							\
      yy_stack_print ((Bottom), (Top));				\
70f75246c   Sam Ravnborg   kbuild: apply gen...
1043
  } while (YYID (0))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1044

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1045

c40f56409   Sam Ravnborg   kbuild: Create _s...
1046
1047
1048
  /*------------------------------------------------.
  | Report that the YYRULE is going to be reduced.  |
  `------------------------------------------------*/
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1049

70f75246c   Sam Ravnborg   kbuild: apply gen...
1050
1051
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1052
  static void
70f75246c   Sam Ravnborg   kbuild: apply gen...
1053
  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1054
1055
  #else
  static void
70f75246c   Sam Ravnborg   kbuild: apply gen...
1056
1057
  yy_reduce_print (yyvsp, yyrule)
      YYSTYPE *yyvsp;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1058
      int yyrule;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1059
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1060
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1061
    int yynrhs = yyr2[yyrule];
c40f56409   Sam Ravnborg   kbuild: Create _s...
1062
    int yyi;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1063
1064
1065
1066
1067
1068
1069
    unsigned long int yylno = yyrline[yyrule];
    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):
  ",
  	     yyrule - 1, yylno);
    /* The symbols being reduced.  */
    for (yyi = 0; yyi < yynrhs; yyi++)
      {
303fc01fb   Michal Marek   genksyms: Regener...
1070
        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
70f75246c   Sam Ravnborg   kbuild: apply gen...
1071
1072
1073
        yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
  		       &(yyvsp[(yyi + 1) - (yynrhs)])
  		       		       );
303fc01fb   Michal Marek   genksyms: Regener...
1074
1075
        YYFPRINTF (stderr, "
  ");
70f75246c   Sam Ravnborg   kbuild: apply gen...
1076
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1077
  }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1078

c40f56409   Sam Ravnborg   kbuild: Create _s...
1079
1080
1081
  # define YY_REDUCE_PRINT(Rule)		\
  do {					\
    if (yydebug)				\
70f75246c   Sam Ravnborg   kbuild: apply gen...
1082
1083
      yy_reduce_print (yyvsp, Rule); \
  } while (YYID (0))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1084

c40f56409   Sam Ravnborg   kbuild: Create _s...
1085
1086
1087
1088
1089
1090
1091
1092
1093
  /* Nonzero means print parse trace.  It is left uninitialized so that
     multiple parsers can coexist.  */
  int yydebug;
  #else /* !YYDEBUG */
  # define YYDPRINTF(Args)
  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
  # define YY_STACK_PRINT(Bottom, Top)
  # define YY_REDUCE_PRINT(Rule)
  #endif /* !YYDEBUG */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1094

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1095

c40f56409   Sam Ravnborg   kbuild: Create _s...
1096
  /* YYINITDEPTH -- initial size of the parser's stacks.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1097
  #ifndef	YYINITDEPTH
c40f56409   Sam Ravnborg   kbuild: Create _s...
1098
  # define YYINITDEPTH 200
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1099
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1100
1101
  /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
     if the built-in stack extension method is used).
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1102

c40f56409   Sam Ravnborg   kbuild: Create _s...
1103
     Do not make this value too large; the results are undefined if
70f75246c   Sam Ravnborg   kbuild: apply gen...
1104
     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1105
     evaluated with infinite-precision integer arithmetic.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1106
1107
  
  #ifndef YYMAXDEPTH
c40f56409   Sam Ravnborg   kbuild: Create _s...
1108
  # define YYMAXDEPTH 10000
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1109
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1110

c40f56409   Sam Ravnborg   kbuild: Create _s...
1111
1112
1113
1114
  
  #if YYERROR_VERBOSE
  
  # ifndef yystrlen
70f75246c   Sam Ravnborg   kbuild: apply gen...
1115
  #  if defined __GLIBC__ && defined _STRING_H
c40f56409   Sam Ravnborg   kbuild: Create _s...
1116
1117
1118
  #   define yystrlen strlen
  #  else
  /* Return the length of YYSTR.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1119
1120
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1121
  static YYSIZE_T
c40f56409   Sam Ravnborg   kbuild: Create _s...
1122
  yystrlen (const char *yystr)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1123
1124
  #else
  static YYSIZE_T
c40f56409   Sam Ravnborg   kbuild: Create _s...
1125
  yystrlen (yystr)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1126
1127
      const char *yystr;
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1128
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1129
1130
    YYSIZE_T yylen;
    for (yylen = 0; yystr[yylen]; yylen++)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1131
      continue;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1132
    return yylen;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1133
1134
1135
1136
1137
  }
  #  endif
  # endif
  
  # ifndef yystpcpy
70f75246c   Sam Ravnborg   kbuild: apply gen...
1138
  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
c40f56409   Sam Ravnborg   kbuild: Create _s...
1139
1140
1141
1142
  #   define yystpcpy stpcpy
  #  else
  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
     YYDEST.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1143
1144
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1145
  static char *
c40f56409   Sam Ravnborg   kbuild: Create _s...
1146
  yystpcpy (char *yydest, const char *yysrc)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1147
1148
  #else
  static char *
c40f56409   Sam Ravnborg   kbuild: Create _s...
1149
  yystpcpy (yydest, yysrc)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1150
1151
1152
      char *yydest;
      const char *yysrc;
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1153
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1154
1155
    char *yyd = yydest;
    const char *yys = yysrc;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1156

c40f56409   Sam Ravnborg   kbuild: Create _s...
1157
1158
1159
1160
    while ((*yyd++ = *yys++) != '\0')
      continue;
  
    return yyd - 1;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1161
  }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1162
1163
  #  endif
  # endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
  # ifndef yytnamerr
  /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
     quotes and backslashes, so that it's suitable for yyerror.  The
     heuristic is that double-quoting is unnecessary unless the string
     contains an apostrophe, a comma, or backslash (other than
     backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
     null, do not copy; instead, return the length of what the result
     would have been.  */
  static YYSIZE_T
  yytnamerr (char *yyres, const char *yystr)
  {
    if (*yystr == '"')
      {
        YYSIZE_T yyn = 0;
        char const *yyp = yystr;
  
        for (;;)
  	switch (*++yyp)
  	  {
  	  case '\'':
  	  case ',':
  	    goto do_not_strip_quotes;
  
  	  case '\\':
  	    if (*++yyp != '\\')
  	      goto do_not_strip_quotes;
  	    /* Fall through.  */
  	  default:
  	    if (yyres)
  	      yyres[yyn] = *yyp;
  	    yyn++;
  	    break;
  
  	  case '"':
  	    if (yyres)
  	      yyres[yyn] = '\0';
  	    return yyn;
  	  }
      do_not_strip_quotes: ;
      }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1204

70f75246c   Sam Ravnborg   kbuild: apply gen...
1205
1206
    if (! yyres)
      return yystrlen (yystr);
c40f56409   Sam Ravnborg   kbuild: Create _s...
1207

70f75246c   Sam Ravnborg   kbuild: apply gen...
1208
1209
1210
    return yystpcpy (yyres, yystr) - yyres;
  }
  # endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1211

0359de7dd   Michal Marek   genksyms: Regener...
1212
1213
1214
  /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
     about the unexpected token YYTOKEN for the state stack whose top is
     YYSSP.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1215

0359de7dd   Michal Marek   genksyms: Regener...
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
     Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
     not large enough to hold the message.  In that case, also set
     *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
     required number of bytes is too large to store.  */
  static int
  yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                  yytype_int16 *yyssp, int yytoken)
  {
    YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
    YYSIZE_T yysize = yysize0;
    YYSIZE_T yysize1;
    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
    /* Internationalized format string. */
    const char *yyformat = 0;
    /* Arguments of yyformat. */
    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
    /* Number of reported tokens (one for the "unexpected", one per
       "expected"). */
    int yycount = 0;
  
    /* There are many possibilities here to consider:
       - Assume YYFAIL is not used.  It's too flawed to consider.  See
         <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
         for details.  YYERROR is fine as it does not invoke this
         function.
       - If this state is a consistent state with a default action, then
         the only way this function was invoked is if the default action
         is an error action.  In that case, don't check for expected
         tokens because there are none.
       - The only way there can be no lookahead present (in yychar) is if
         this state is a consistent state with a default action.  Thus,
         detecting the absence of a lookahead is sufficient to determine
         that there is no unexpected or expected token to report.  In that
         case, just report a simple "syntax error".
       - Don't assume there isn't a lookahead just because this state is a
         consistent state with a default action.  There might have been a
         previous inconsistent state, consistent state with a non-default
         action, or user semantic action that manipulated yychar.
       - Of course, the expected token list depends on states to have
         correct lookahead information, and it depends on the parser not
         to perform extra reductions after fetching a lookahead from the
         scanner and before detecting a syntax error.  Thus, state merging
         (from LALR or IELR) and default reductions corrupt the expected
         token list.  However, the list is correct for canonical LR with
         one exception: it will still contain any token that will not be
         accepted due to an error action in a later state.
    */
    if (yytoken != YYEMPTY)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1264
      {
0359de7dd   Michal Marek   genksyms: Regener...
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
        int yyn = yypact[*yyssp];
        yyarg[yycount++] = yytname[yytoken];
        if (!yypact_value_is_default (yyn))
          {
            /* Start YYX at -YYN if negative to avoid negative indexes in
               YYCHECK.  In other words, skip the first -YYN actions for
               this state because they are default actions.  */
            int yyxbegin = yyn < 0 ? -yyn : 0;
            /* Stay within bounds of both yycheck and yytname.  */
            int yychecklim = YYLAST - yyn + 1;
            int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
            int yyx;
  
            for (yyx = yyxbegin; yyx < yyxend; ++yyx)
              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
                  && !yytable_value_is_error (yytable[yyx + yyn]))
                {
                  if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
                    {
                      yycount = 1;
                      yysize = yysize0;
                      break;
                    }
                  yyarg[yycount++] = yytname[yyx];
                  yysize1 = yysize + yytnamerr (0, yytname[yyx]);
                  if (! (yysize <= yysize1
                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                    return 2;
                  yysize = yysize1;
                }
          }
      }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1297

0359de7dd   Michal Marek   genksyms: Regener...
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
    switch (yycount)
      {
  # define YYCASE_(N, S)                      \
        case N:                               \
          yyformat = S;                       \
        break
        YYCASE_(0, YY_("syntax error"));
        YYCASE_(1, YY_("syntax error, unexpected %s"));
        YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
        YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
        YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
        YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
  # undef YYCASE_
      }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1312

0359de7dd   Michal Marek   genksyms: Regener...
1313
1314
1315
1316
    yysize1 = yysize + yystrlen (yyformat);
    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
      return 2;
    yysize = yysize1;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1317

0359de7dd   Michal Marek   genksyms: Regener...
1318
1319
1320
1321
1322
1323
1324
    if (*yymsg_alloc < yysize)
      {
        *yymsg_alloc = 2 * yysize;
        if (! (yysize <= *yymsg_alloc
               && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
          *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
        return 1;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1325
      }
0359de7dd   Michal Marek   genksyms: Regener...
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
  
    /* Avoid sprintf, as that infringes on the user's name space.
       Don't have undefined behavior even if the translation
       produced a string with the wrong number of "%s"s.  */
    {
      char *yyp = *yymsg;
      int yyi = 0;
      while ((*yyp = *yyformat) != '\0')
        if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
          {
            yyp += yytnamerr (yyp, yyarg[yyi++]);
            yyformat += 2;
          }
        else
          {
            yyp++;
            yyformat++;
          }
    }
    return 0;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1346
  }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1347
  #endif /* YYERROR_VERBOSE */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1348

c40f56409   Sam Ravnborg   kbuild: Create _s...
1349
1350
1351
  /*-----------------------------------------------.
  | Release the memory associated to this symbol.  |
  `-----------------------------------------------*/
70f75246c   Sam Ravnborg   kbuild: apply gen...
1352
1353
1354
  /*ARGSUSED*/
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1355
1356
1357
1358
1359
1360
1361
1362
  static void
  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
  #else
  static void
  yydestruct (yymsg, yytype, yyvaluep)
      const char *yymsg;
      int yytype;
      YYSTYPE *yyvaluep;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1363
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1364
  {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1365
    YYUSE (yyvaluep);
c40f56409   Sam Ravnborg   kbuild: Create _s...
1366
1367
1368
1369
1370
1371
1372
1373
1374
  
    if (!yymsg)
      yymsg = "Deleting";
    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
  
    switch (yytype)
      {
  
        default:
70f75246c   Sam Ravnborg   kbuild: apply gen...
1375
  	break;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1376
1377
      }
  }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1378

0359de7dd   Michal Marek   genksyms: Regener...
1379

c40f56409   Sam Ravnborg   kbuild: Create _s...
1380
  /* Prevent warnings from -Wmissing-prototypes.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1381
  #ifdef YYPARSE_PARAM
70f75246c   Sam Ravnborg   kbuild: apply gen...
1382
  #if defined __STDC__ || defined __cplusplus
c40f56409   Sam Ravnborg   kbuild: Create _s...
1383
  int yyparse (void *YYPARSE_PARAM);
70f75246c   Sam Ravnborg   kbuild: apply gen...
1384
  #else
c40f56409   Sam Ravnborg   kbuild: Create _s...
1385
  int yyparse ();
70f75246c   Sam Ravnborg   kbuild: apply gen...
1386
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1387
  #else /* ! YYPARSE_PARAM */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1388
  #if defined __STDC__ || defined __cplusplus
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1389
  int yyparse (void);
c40f56409   Sam Ravnborg   kbuild: Create _s...
1390
1391
  #else
  int yyparse ();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1392
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1393
  #endif /* ! YYPARSE_PARAM */
303fc01fb   Michal Marek   genksyms: Regener...
1394
  /* The lookahead symbol.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1395
  int yychar;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1396

303fc01fb   Michal Marek   genksyms: Regener...
1397
  /* The semantic value of the lookahead symbol.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1398
1399
1400
1401
  YYSTYPE yylval;
  
  /* Number of syntax errors so far.  */
  int yynerrs;
0359de7dd   Michal Marek   genksyms: Regener...
1402
1403
1404
  /*----------.
  | yyparse.  |
  `----------*/
c40f56409   Sam Ravnborg   kbuild: Create _s...
1405
1406
  
  #ifdef YYPARSE_PARAM
70f75246c   Sam Ravnborg   kbuild: apply gen...
1407
1408
1409
1410
1411
1412
1413
1414
1415
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
  int
  yyparse (void *YYPARSE_PARAM)
  #else
  int
  yyparse (YYPARSE_PARAM)
      void *YYPARSE_PARAM;
  #endif
c40f56409   Sam Ravnborg   kbuild: Create _s...
1416
  #else /* ! YYPARSE_PARAM */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1417
1418
  #if (defined __STDC__ || defined __C99__FUNC__ \
       || defined __cplusplus || defined _MSC_VER)
c40f56409   Sam Ravnborg   kbuild: Create _s...
1419
1420
1421
  int
  yyparse (void)
  #else
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1422
  int
c40f56409   Sam Ravnborg   kbuild: Create _s...
1423
1424
1425
1426
  yyparse ()
  
  #endif
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1427
  {
303fc01fb   Michal Marek   genksyms: Regener...
1428
1429
1430
      int yystate;
      /* Number of tokens to shift before error messages enabled.  */
      int yyerrstatus;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1431

303fc01fb   Michal Marek   genksyms: Regener...
1432
1433
1434
      /* The stacks and their tools:
         `yyss': related to states.
         `yyvs': related to semantic values.
c40f56409   Sam Ravnborg   kbuild: Create _s...
1435

303fc01fb   Michal Marek   genksyms: Regener...
1436
1437
         Refer to the stacks thru separate pointers, to allow yyoverflow
         to reallocate them elsewhere.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1438

303fc01fb   Michal Marek   genksyms: Regener...
1439
1440
1441
1442
      /* The state stack.  */
      yytype_int16 yyssa[YYINITDEPTH];
      yytype_int16 *yyss;
      yytype_int16 *yyssp;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1443

303fc01fb   Michal Marek   genksyms: Regener...
1444
1445
1446
1447
      /* The semantic value stack.  */
      YYSTYPE yyvsa[YYINITDEPTH];
      YYSTYPE *yyvs;
      YYSTYPE *yyvsp;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1448

303fc01fb   Michal Marek   genksyms: Regener...
1449
      YYSIZE_T yystacksize;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1450

303fc01fb   Michal Marek   genksyms: Regener...
1451
1452
1453
1454
    int yyn;
    int yyresult;
    /* Lookahead token as an internal (translated) token number.  */
    int yytoken;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1455
1456
1457
    /* The variables used to return semantic value and location from the
       action routines.  */
    YYSTYPE yyval;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1458

303fc01fb   Michal Marek   genksyms: Regener...
1459
1460
1461
1462
1463
1464
1465
1466
  #if YYERROR_VERBOSE
    /* Buffer for error messages, and its allocated size.  */
    char yymsgbuf[128];
    char *yymsg = yymsgbuf;
    YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
  #endif
  
  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1467

70f75246c   Sam Ravnborg   kbuild: apply gen...
1468
1469
1470
    /* The number of symbols on the RHS of the reduced rule.
       Keep to zero when no symbol should be popped.  */
    int yylen = 0;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1471

303fc01fb   Michal Marek   genksyms: Regener...
1472
1473
1474
1475
    yytoken = 0;
    yyss = yyssa;
    yyvs = yyvsa;
    yystacksize = YYINITDEPTH;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1476
1477
    YYDPRINTF ((stderr, "Starting parse
  "));
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1478
1479
1480
1481
  
    yystate = 0;
    yyerrstatus = 0;
    yynerrs = 0;
303fc01fb   Michal Marek   genksyms: Regener...
1482
    yychar = YYEMPTY; /* Cause a token to be read.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1483
1484
1485
1486
1487
  
    /* Initialize stack pointers.
       Waste one element of value and location stack
       so that they stay on the same level as the state stack.
       The wasted elements are never initialized.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1488
    yyssp = yyss;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1489
    yyvsp = yyvs;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1490

c40f56409   Sam Ravnborg   kbuild: Create _s...
1491
    goto yysetstate;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1492

c40f56409   Sam Ravnborg   kbuild: Create _s...
1493
1494
1495
1496
1497
  /*------------------------------------------------------------.
  | yynewstate -- Push a new state, which is found in yystate.  |
  `------------------------------------------------------------*/
   yynewstate:
    /* In all cases, when you get here, the value and location stacks
70f75246c   Sam Ravnborg   kbuild: apply gen...
1498
       have just been pushed.  So pushing a state here evens the stacks.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1499
1500
1501
1502
1503
1504
1505
    yyssp++;
  
   yysetstate:
    *yyssp = yystate;
  
    if (yyss + yystacksize - 1 <= yyssp)
      {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1506
        /* Get the current used size of the three stacks, in elements.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1507
        YYSIZE_T yysize = yyssp - yyss + 1;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1508
1509
  
  #ifdef yyoverflow
c40f56409   Sam Ravnborg   kbuild: Create _s...
1510
        {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1511
  	/* Give user a chance to reallocate the stack.  Use copies of
c40f56409   Sam Ravnborg   kbuild: Create _s...
1512
1513
1514
  	   these so that the &'s don't force the real ones into
  	   memory.  */
  	YYSTYPE *yyvs1 = yyvs;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1515
  	yytype_int16 *yyss1 = yyss;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1516

c40f56409   Sam Ravnborg   kbuild: Create _s...
1517
1518
1519
1520
  	/* Each stack pointer address is followed by the size of the
  	   data in use in that stack, in bytes.  This used to be a
  	   conditional around just the two extra args, but that might
  	   be undefined if yyoverflow is a macro.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1521
  	yyoverflow (YY_("memory exhausted"),
c40f56409   Sam Ravnborg   kbuild: Create _s...
1522
1523
  		    &yyss1, yysize * sizeof (*yyssp),
  		    &yyvs1, yysize * sizeof (*yyvsp),
c40f56409   Sam Ravnborg   kbuild: Create _s...
1524
1525
1526
1527
1528
  		    &yystacksize);
  
  	yyss = yyss1;
  	yyvs = yyvs1;
        }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1529
  #else /* no yyoverflow */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1530
  # ifndef YYSTACK_RELOCATE
70f75246c   Sam Ravnborg   kbuild: apply gen...
1531
        goto yyexhaustedlab;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1532
  # else
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1533
        /* Extend the stack our own way.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1534
        if (YYMAXDEPTH <= yystacksize)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1535
  	goto yyexhaustedlab;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1536
        yystacksize *= 2;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1537
        if (YYMAXDEPTH < yystacksize)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1538
  	yystacksize = YYMAXDEPTH;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1539
1540
  
        {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1541
  	yytype_int16 *yyss1 = yyss;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1542
1543
1544
  	union yyalloc *yyptr =
  	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
  	if (! yyptr)
70f75246c   Sam Ravnborg   kbuild: apply gen...
1545
  	  goto yyexhaustedlab;
303fc01fb   Michal Marek   genksyms: Regener...
1546
1547
  	YYSTACK_RELOCATE (yyss_alloc, yyss);
  	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
c40f56409   Sam Ravnborg   kbuild: Create _s...
1548
1549
1550
1551
1552
  #  undef YYSTACK_RELOCATE
  	if (yyss1 != yyssa)
  	  YYSTACK_FREE (yyss1);
        }
  # endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1553
  #endif /* no yyoverflow */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1554
1555
        yyssp = yyss + yysize - 1;
        yyvsp = yyvs + yysize - 1;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1556

c40f56409   Sam Ravnborg   kbuild: Create _s...
1557
1558
1559
1560
1561
        YYDPRINTF ((stderr, "Stack size increased to %lu
  ",
  		  (unsigned long int) yystacksize));
  
        if (yyss + yystacksize - 1 <= yyssp)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1562
1563
  	YYABORT;
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1564
1565
    YYDPRINTF ((stderr, "Entering state %d
  ", yystate));
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1566

303fc01fb   Michal Marek   genksyms: Regener...
1567
1568
    if (yystate == YYFINAL)
      YYACCEPT;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1569
    goto yybackup;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1570
1571
1572
1573
1574
  
  /*-----------.
  | yybackup.  |
  `-----------*/
  yybackup:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1575

70f75246c   Sam Ravnborg   kbuild: apply gen...
1576
    /* Do appropriate processing given the current state.  Read a
303fc01fb   Michal Marek   genksyms: Regener...
1577
       lookahead token if we need one and don't already have one.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1578

303fc01fb   Michal Marek   genksyms: Regener...
1579
    /* First try to decide what to do without reference to lookahead token.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1580
    yyn = yypact[yystate];
0359de7dd   Michal Marek   genksyms: Regener...
1581
    if (yypact_value_is_default (yyn))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1582
      goto yydefault;
303fc01fb   Michal Marek   genksyms: Regener...
1583
    /* Not known => get a lookahead token if don't already have one.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1584

303fc01fb   Michal Marek   genksyms: Regener...
1585
    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1586
1587
    if (yychar == YYEMPTY)
      {
c40f56409   Sam Ravnborg   kbuild: Create _s...
1588
        YYDPRINTF ((stderr, "Reading a token: "));
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1589
1590
        yychar = YYLEX;
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1591
    if (yychar <= YYEOF)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1592
      {
c40f56409   Sam Ravnborg   kbuild: Create _s...
1593
1594
1595
        yychar = yytoken = YYEOF;
        YYDPRINTF ((stderr, "Now at end of input.
  "));
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1596
1597
1598
      }
    else
      {
c40f56409   Sam Ravnborg   kbuild: Create _s...
1599
1600
        yytoken = YYTRANSLATE (yychar);
        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1601
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1602
1603
1604
1605
    /* If the proper action on seeing token YYTOKEN is to reduce or to
       detect an error, take that action.  */
    yyn += yytoken;
    if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1606
      goto yydefault;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1607
    yyn = yytable[yyn];
c40f56409   Sam Ravnborg   kbuild: Create _s...
1608
    if (yyn <= 0)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1609
      {
0359de7dd   Michal Marek   genksyms: Regener...
1610
1611
        if (yytable_value_is_error (yyn))
          goto yyerrlab;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1612
1613
1614
        yyn = -yyn;
        goto yyreduce;
      }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1615

70f75246c   Sam Ravnborg   kbuild: apply gen...
1616
1617
1618
1619
    /* Count tokens shifted since error; after three, turn off error
       status.  */
    if (yyerrstatus)
      yyerrstatus--;
303fc01fb   Michal Marek   genksyms: Regener...
1620
    /* Shift the lookahead token.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
1621
    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1622

303fc01fb   Michal Marek   genksyms: Regener...
1623
1624
    /* Discard the shifted token.  */
    yychar = YYEMPTY;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1625

70f75246c   Sam Ravnborg   kbuild: apply gen...
1626
    yystate = yyn;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1627
    *++yyvsp = yylval;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1628

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1629
    goto yynewstate;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1630

c40f56409   Sam Ravnborg   kbuild: Create _s...
1631
1632
1633
1634
  /*-----------------------------------------------------------.
  | yydefault -- do the default action for the current state.  |
  `-----------------------------------------------------------*/
  yydefault:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1635
1636
1637
    yyn = yydefact[yystate];
    if (yyn == 0)
      goto yyerrlab;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1638
    goto yyreduce;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1639

c40f56409   Sam Ravnborg   kbuild: Create _s...
1640
1641
1642
1643
  
  /*-----------------------------.
  | yyreduce -- Do a reduction.  |
  `-----------------------------*/
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1644
  yyreduce:
c40f56409   Sam Ravnborg   kbuild: Create _s...
1645
    /* yyn is the number of a rule to reduce with.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1646
    yylen = yyr2[yyn];
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1647

c40f56409   Sam Ravnborg   kbuild: Create _s...
1648
1649
    /* If YYLEN is nonzero, implement the default value of the action:
       `$$ = $1'.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1650

c40f56409   Sam Ravnborg   kbuild: Create _s...
1651
1652
1653
1654
1655
1656
       Otherwise, the following line sets YYVAL to garbage.
       This behavior is undocumented and Bison
       users should not rely upon it.  Assigning to YYVAL
       unconditionally makes the parser a bit smaller, and it avoids a
       GCC warning that YYVAL may be used uninitialized.  */
    yyval = yyvsp[1-yylen];
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1657

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1658

c40f56409   Sam Ravnborg   kbuild: Create _s...
1659
1660
1661
1662
    YY_REDUCE_PRINT (yyn);
    switch (yyn)
      {
          case 4:
303fc01fb   Michal Marek   genksyms: Regener...
1663

0359de7dd   Michal Marek   genksyms: Regener...
1664
      { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1665
1666
1667
      break;
  
    case 5:
303fc01fb   Michal Marek   genksyms: Regener...
1668

0359de7dd   Michal Marek   genksyms: Regener...
1669
      { free_list(*(yyvsp[(2) - (2)]), NULL); *(yyvsp[(2) - (2)]) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1670
1671
1672
      break;
  
    case 6:
303fc01fb   Michal Marek   genksyms: Regener...
1673

0359de7dd   Michal Marek   genksyms: Regener...
1674
      { is_typedef = 1; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1675
1676
1677
      break;
  
    case 7:
303fc01fb   Michal Marek   genksyms: Regener...
1678

0359de7dd   Michal Marek   genksyms: Regener...
1679
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1680
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1681
    case 8:
303fc01fb   Michal Marek   genksyms: Regener...
1682

0359de7dd   Michal Marek   genksyms: Regener...
1683
      { is_typedef = 1; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1684
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1685
    case 9:
303fc01fb   Michal Marek   genksyms: Regener...
1686

0359de7dd   Michal Marek   genksyms: Regener...
1687
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1688
1689
1690
      break;
  
    case 14:
303fc01fb   Michal Marek   genksyms: Regener...
1691

0359de7dd   Michal Marek   genksyms: Regener...
1692
      { (yyval) = (yyvsp[(2) - (2)]); }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1693
1694
1695
      break;
  
    case 15:
303fc01fb   Michal Marek   genksyms: Regener...
1696

0359de7dd   Michal Marek   genksyms: Regener...
1697
      { (yyval) = (yyvsp[(2) - (2)]); }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1698
1699
1700
      break;
  
    case 16:
303fc01fb   Michal Marek   genksyms: Regener...
1701

c40f56409   Sam Ravnborg   kbuild: Create _s...
1702
      { if (current_name) {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1703
1704
  		    struct string_list *decl = (*(yyvsp[(3) - (3)]))->next;
  		    (*(yyvsp[(3) - (3)]))->next = NULL;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1705
1706
1707
1708
1709
  		    add_symbol(current_name,
  			       is_typedef ? SYM_TYPEDEF : SYM_NORMAL,
  			       decl, is_extern);
  		    current_name = NULL;
  		  }
70f75246c   Sam Ravnborg   kbuild: apply gen...
1710
  		  (yyval) = (yyvsp[(3) - (3)]);
0359de7dd   Michal Marek   genksyms: Regener...
1711
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1712
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1713
    case 17:
303fc01fb   Michal Marek   genksyms: Regener...
1714

0359de7dd   Michal Marek   genksyms: Regener...
1715
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1716
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1717
    case 19:
303fc01fb   Michal Marek   genksyms: Regener...
1718

70f75246c   Sam Ravnborg   kbuild: apply gen...
1719
1720
      { struct string_list *decl = *(yyvsp[(1) - (1)]);
  		  *(yyvsp[(1) - (1)]) = NULL;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1721
1722
1723
  		  add_symbol(current_name,
  			     is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern);
  		  current_name = NULL;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1724
  		  (yyval) = (yyvsp[(1) - (1)]);
0359de7dd   Michal Marek   genksyms: Regener...
1725
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1726
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1727
    case 20:
303fc01fb   Michal Marek   genksyms: Regener...
1728

70f75246c   Sam Ravnborg   kbuild: apply gen...
1729
1730
1731
1732
      { struct string_list *decl = *(yyvsp[(3) - (3)]);
  		  *(yyvsp[(3) - (3)]) = NULL;
  		  free_list(*(yyvsp[(2) - (3)]), NULL);
  		  *(yyvsp[(2) - (3)]) = decl_spec;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1733
1734
1735
  		  add_symbol(current_name,
  			     is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern);
  		  current_name = NULL;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1736
  		  (yyval) = (yyvsp[(3) - (3)]);
0359de7dd   Michal Marek   genksyms: Regener...
1737
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1738
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1739
    case 21:
303fc01fb   Michal Marek   genksyms: Regener...
1740

0359de7dd   Michal Marek   genksyms: Regener...
1741
      { (yyval) = (yyvsp[(4) - (4)]) ? (yyvsp[(4) - (4)]) : (yyvsp[(3) - (4)]) ? (yyvsp[(3) - (4)]) : (yyvsp[(2) - (4)]) ? (yyvsp[(2) - (4)]) : (yyvsp[(1) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1742
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1743
    case 22:
303fc01fb   Michal Marek   genksyms: Regener...
1744

0359de7dd   Michal Marek   genksyms: Regener...
1745
      { decl_spec = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1746
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1747
    case 24:
303fc01fb   Michal Marek   genksyms: Regener...
1748

0359de7dd   Michal Marek   genksyms: Regener...
1749
      { decl_spec = *(yyvsp[(1) - (1)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1750
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1751
    case 25:
303fc01fb   Michal Marek   genksyms: Regener...
1752

0359de7dd   Michal Marek   genksyms: Regener...
1753
      { decl_spec = *(yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1754
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1755
    case 26:
303fc01fb   Michal Marek   genksyms: Regener...
1756

c40f56409   Sam Ravnborg   kbuild: Create _s...
1757
      { /* Version 2 checksumming ignores storage class, as that
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1758
  		     is really irrelevant to the linkage.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1759
1760
  		  remove_node((yyvsp[(1) - (1)]));
  		  (yyval) = (yyvsp[(1) - (1)]);
0359de7dd   Michal Marek   genksyms: Regener...
1761
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1762
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1763
    case 31:
303fc01fb   Michal Marek   genksyms: Regener...
1764

0359de7dd   Michal Marek   genksyms: Regener...
1765
      { is_extern = 1; (yyval) = (yyvsp[(1) - (1)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1766
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1767
    case 32:
303fc01fb   Michal Marek   genksyms: Regener...
1768

0359de7dd   Michal Marek   genksyms: Regener...
1769
      { is_extern = 0; (yyval) = (yyvsp[(1) - (1)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1770
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1771
    case 37:
303fc01fb   Michal Marek   genksyms: Regener...
1772

0359de7dd   Michal Marek   genksyms: Regener...
1773
      { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_STRUCT; (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1774
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1775
    case 38:
303fc01fb   Michal Marek   genksyms: Regener...
1776

0359de7dd   Michal Marek   genksyms: Regener...
1777
      { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_UNION; (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1778
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1779
    case 39:
303fc01fb   Michal Marek   genksyms: Regener...
1780

0359de7dd   Michal Marek   genksyms: Regener...
1781
      { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_ENUM; (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1782
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1783
    case 40:
303fc01fb   Michal Marek   genksyms: Regener...
1784

0359de7dd   Michal Marek   genksyms: Regener...
1785
      { record_compound((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]), SYM_STRUCT); (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1786
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1787
    case 41:
303fc01fb   Michal Marek   genksyms: Regener...
1788

0359de7dd   Michal Marek   genksyms: Regener...
1789
      { record_compound((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]), SYM_UNION); (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1790
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1791
    case 42:
303fc01fb   Michal Marek   genksyms: Regener...
1792

0359de7dd   Michal Marek   genksyms: Regener...
1793
      { record_compound((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]), SYM_ENUM); (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1794
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1795
    case 43:
303fc01fb   Michal Marek   genksyms: Regener...
1796

0359de7dd   Michal Marek   genksyms: Regener...
1797
      { add_symbol(NULL, SYM_ENUM, NULL, 0); (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1798
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1799
    case 44:
303fc01fb   Michal Marek   genksyms: Regener...
1800

0359de7dd   Michal Marek   genksyms: Regener...
1801
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1802
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1803
    case 45:
303fc01fb   Michal Marek   genksyms: Regener...
1804

0359de7dd   Michal Marek   genksyms: Regener...
1805
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1806
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1807
    case 56:
303fc01fb   Michal Marek   genksyms: Regener...
1808

0359de7dd   Michal Marek   genksyms: Regener...
1809
      { (*(yyvsp[(1) - (1)]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[(1) - (1)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1810
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1811
    case 57:
303fc01fb   Michal Marek   genksyms: Regener...
1812

0359de7dd   Michal Marek   genksyms: Regener...
1813
      { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1814
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1815
    case 58:
303fc01fb   Michal Marek   genksyms: Regener...
1816

0359de7dd   Michal Marek   genksyms: Regener...
1817
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1818
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1819
    case 61:
303fc01fb   Michal Marek   genksyms: Regener...
1820

0359de7dd   Michal Marek   genksyms: Regener...
1821
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1822
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1823
    case 65:
303fc01fb   Michal Marek   genksyms: Regener...
1824

c40f56409   Sam Ravnborg   kbuild: Create _s...
1825
      { /* restrict has no effect in prototypes so ignore it */
70f75246c   Sam Ravnborg   kbuild: apply gen...
1826
1827
  		  remove_node((yyvsp[(1) - (1)]));
  		  (yyval) = (yyvsp[(1) - (1)]);
0359de7dd   Michal Marek   genksyms: Regener...
1828
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1829
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1830
    case 66:
303fc01fb   Michal Marek   genksyms: Regener...
1831

0359de7dd   Michal Marek   genksyms: Regener...
1832
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1833
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1834
    case 68:
303fc01fb   Michal Marek   genksyms: Regener...
1835

c40f56409   Sam Ravnborg   kbuild: Create _s...
1836
      { if (current_name != NULL) {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1837
1838
1839
  		    error_with_pos("unexpected second declaration name");
  		    YYERROR;
  		  } else {
70f75246c   Sam Ravnborg   kbuild: apply gen...
1840
1841
  		    current_name = (*(yyvsp[(1) - (1)]))->string;
  		    (yyval) = (yyvsp[(1) - (1)]);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1842
  		  }
0359de7dd   Michal Marek   genksyms: Regener...
1843
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1844
      break;
c40f56409   Sam Ravnborg   kbuild: Create _s...
1845
    case 69:
303fc01fb   Michal Marek   genksyms: Regener...
1846

0359de7dd   Michal Marek   genksyms: Regener...
1847
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1848
1849
1850
      break;
  
    case 70:
303fc01fb   Michal Marek   genksyms: Regener...
1851

0359de7dd   Michal Marek   genksyms: Regener...
1852
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1853
1854
1855
      break;
  
    case 71:
303fc01fb   Michal Marek   genksyms: Regener...
1856

0359de7dd   Michal Marek   genksyms: Regener...
1857
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1858
1859
1860
      break;
  
    case 72:
303fc01fb   Michal Marek   genksyms: Regener...
1861

0359de7dd   Michal Marek   genksyms: Regener...
1862
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1863
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1864
    case 73:
303fc01fb   Michal Marek   genksyms: Regener...
1865

0359de7dd   Michal Marek   genksyms: Regener...
1866
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1867
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1868
    case 74:
303fc01fb   Michal Marek   genksyms: Regener...
1869

0359de7dd   Michal Marek   genksyms: Regener...
1870
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1871
1872
1873
      break;
  
    case 78:
303fc01fb   Michal Marek   genksyms: Regener...
1874

0359de7dd   Michal Marek   genksyms: Regener...
1875
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1876
1877
1878
      break;
  
    case 79:
303fc01fb   Michal Marek   genksyms: Regener...
1879

0359de7dd   Michal Marek   genksyms: Regener...
1880
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1881
1882
1883
      break;
  
    case 80:
303fc01fb   Michal Marek   genksyms: Regener...
1884

0359de7dd   Michal Marek   genksyms: Regener...
1885
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1886
1887
1888
      break;
  
    case 81:
303fc01fb   Michal Marek   genksyms: Regener...
1889

0359de7dd   Michal Marek   genksyms: Regener...
1890
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1891
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1892
    case 82:
303fc01fb   Michal Marek   genksyms: Regener...
1893

0359de7dd   Michal Marek   genksyms: Regener...
1894
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1895
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1896
    case 83:
303fc01fb   Michal Marek   genksyms: Regener...
1897

0359de7dd   Michal Marek   genksyms: Regener...
1898
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1899
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1900
    case 85:
303fc01fb   Michal Marek   genksyms: Regener...
1901

0359de7dd   Michal Marek   genksyms: Regener...
1902
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1903
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1904
    case 86:
303fc01fb   Michal Marek   genksyms: Regener...
1905

0359de7dd   Michal Marek   genksyms: Regener...
1906
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1907
1908
1909
      break;
  
    case 89:
303fc01fb   Michal Marek   genksyms: Regener...
1910

0359de7dd   Michal Marek   genksyms: Regener...
1911
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1912
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1913
    case 90:
303fc01fb   Michal Marek   genksyms: Regener...
1914

0359de7dd   Michal Marek   genksyms: Regener...
1915
      { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1916
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1917
    case 91:
303fc01fb   Michal Marek   genksyms: Regener...
1918

0359de7dd   Michal Marek   genksyms: Regener...
1919
      { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1920
1921
1922
      break;
  
    case 93:
303fc01fb   Michal Marek   genksyms: Regener...
1923

0359de7dd   Michal Marek   genksyms: Regener...
1924
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1925
1926
1927
      break;
  
    case 94:
303fc01fb   Michal Marek   genksyms: Regener...
1928

70f75246c   Sam Ravnborg   kbuild: apply gen...
1929
1930
1931
1932
      { /* For version 2 checksums, we don't want to remember
  		     private parameter names.  */
  		  remove_node((yyvsp[(1) - (1)]));
  		  (yyval) = (yyvsp[(1) - (1)]);
0359de7dd   Michal Marek   genksyms: Regener...
1933
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1934
1935
1936
      break;
  
    case 95:
303fc01fb   Michal Marek   genksyms: Regener...
1937

70f75246c   Sam Ravnborg   kbuild: apply gen...
1938
1939
      { remove_node((yyvsp[(1) - (1)]));
  		  (yyval) = (yyvsp[(1) - (1)]);
0359de7dd   Michal Marek   genksyms: Regener...
1940
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1941
1942
1943
      break;
  
    case 96:
303fc01fb   Michal Marek   genksyms: Regener...
1944

0359de7dd   Michal Marek   genksyms: Regener...
1945
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1946
1947
1948
      break;
  
    case 97:
303fc01fb   Michal Marek   genksyms: Regener...
1949

0359de7dd   Michal Marek   genksyms: Regener...
1950
      { (yyval) = (yyvsp[(4) - (4)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1951
1952
1953
      break;
  
    case 98:
303fc01fb   Michal Marek   genksyms: Regener...
1954

0359de7dd   Michal Marek   genksyms: Regener...
1955
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1956
1957
1958
      break;
  
    case 99:
303fc01fb   Michal Marek   genksyms: Regener...
1959

0359de7dd   Michal Marek   genksyms: Regener...
1960
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1961
1962
1963
      break;
  
    case 100:
303fc01fb   Michal Marek   genksyms: Regener...
1964

0359de7dd   Michal Marek   genksyms: Regener...
1965
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1966
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1967
    case 101:
303fc01fb   Michal Marek   genksyms: Regener...
1968

70f75246c   Sam Ravnborg   kbuild: apply gen...
1969
1970
1971
1972
      { struct string_list *decl = *(yyvsp[(2) - (3)]);
  		  *(yyvsp[(2) - (3)]) = NULL;
  		  add_symbol(current_name, SYM_NORMAL, decl, is_extern);
  		  (yyval) = (yyvsp[(3) - (3)]);
0359de7dd   Michal Marek   genksyms: Regener...
1973
  		}
c40f56409   Sam Ravnborg   kbuild: Create _s...
1974
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1975
    case 102:
303fc01fb   Michal Marek   genksyms: Regener...
1976

0359de7dd   Michal Marek   genksyms: Regener...
1977
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1978
1979
1980
      break;
  
    case 104:
303fc01fb   Michal Marek   genksyms: Regener...
1981

0359de7dd   Michal Marek   genksyms: Regener...
1982
      { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1983
1984
1985
      break;
  
    case 105:
303fc01fb   Michal Marek   genksyms: Regener...
1986

0359de7dd   Michal Marek   genksyms: Regener...
1987
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1988
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1989
    case 106:
303fc01fb   Michal Marek   genksyms: Regener...
1990

0359de7dd   Michal Marek   genksyms: Regener...
1991
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1992
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
1993
    case 107:
303fc01fb   Michal Marek   genksyms: Regener...
1994

0359de7dd   Michal Marek   genksyms: Regener...
1995
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
1996
1997
1998
      break;
  
    case 110:
303fc01fb   Michal Marek   genksyms: Regener...
1999

0359de7dd   Michal Marek   genksyms: Regener...
2000
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2001
2002
2003
      break;
  
    case 111:
303fc01fb   Michal Marek   genksyms: Regener...
2004

0359de7dd   Michal Marek   genksyms: Regener...
2005
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2006
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2007
    case 112:
303fc01fb   Michal Marek   genksyms: Regener...
2008

0359de7dd   Michal Marek   genksyms: Regener...
2009
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2010
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2011
    case 113:
303fc01fb   Michal Marek   genksyms: Regener...
2012

0359de7dd   Michal Marek   genksyms: Regener...
2013
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2014
2015
2016
      break;
  
    case 116:
303fc01fb   Michal Marek   genksyms: Regener...
2017

0359de7dd   Michal Marek   genksyms: Regener...
2018
      { (yyval) = (yyvsp[(3) - (3)]); }
70f75246c   Sam Ravnborg   kbuild: apply gen...
2019
2020
2021
      break;
  
    case 117:
303fc01fb   Michal Marek   genksyms: Regener...
2022

0359de7dd   Michal Marek   genksyms: Regener...
2023
      { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2024
2025
2026
      break;
  
    case 118:
303fc01fb   Michal Marek   genksyms: Regener...
2027

0359de7dd   Michal Marek   genksyms: Regener...
2028
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2029
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2030
    case 120:
303fc01fb   Michal Marek   genksyms: Regener...
2031

0359de7dd   Michal Marek   genksyms: Regener...
2032
      { (yyval) = (yyvsp[(2) - (2)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2033
2034
2035
      break;
  
    case 121:
303fc01fb   Michal Marek   genksyms: Regener...
2036

0359de7dd   Michal Marek   genksyms: Regener...
2037
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2038
      break;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2039
    case 123:
303fc01fb   Michal Marek   genksyms: Regener...
2040

0359de7dd   Michal Marek   genksyms: Regener...
2041
      { (yyval) = (yyvsp[(3) - (3)]); }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2042
2043
2044
      break;
  
    case 124:
303fc01fb   Michal Marek   genksyms: Regener...
2045

0359de7dd   Michal Marek   genksyms: Regener...
2046
      { (yyval) = (yyvsp[(4) - (4)]); }
303fc01fb   Michal Marek   genksyms: Regener...
2047
2048
2049
      break;
  
    case 127:
303fc01fb   Michal Marek   genksyms: Regener...
2050
2051
2052
      {
  			const char *name = strdup((*(yyvsp[(1) - (1)]))->string);
  			add_symbol(name, SYM_ENUM_CONST, NULL, 0);
0359de7dd   Michal Marek   genksyms: Regener...
2053
  		}
303fc01fb   Michal Marek   genksyms: Regener...
2054
2055
2056
      break;
  
    case 128:
303fc01fb   Michal Marek   genksyms: Regener...
2057
2058
2059
2060
      {
  			const char *name = strdup((*(yyvsp[(1) - (3)]))->string);
  			struct string_list *expr = copy_list_range(*(yyvsp[(3) - (3)]), *(yyvsp[(2) - (3)]));
  			add_symbol(name, SYM_ENUM_CONST, expr, 0);
0359de7dd   Michal Marek   genksyms: Regener...
2061
  		}
303fc01fb   Michal Marek   genksyms: Regener...
2062
2063
2064
      break;
  
    case 129:
0359de7dd   Michal Marek   genksyms: Regener...
2065
      { (yyval) = (yyvsp[(2) - (2)]); }
303fc01fb   Michal Marek   genksyms: Regener...
2066
2067
2068
      break;
  
    case 130:
0359de7dd   Michal Marek   genksyms: Regener...
2069
      { (yyval) = NULL; }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2070
      break;
303fc01fb   Michal Marek   genksyms: Regener...
2071
    case 132:
0359de7dd   Michal Marek   genksyms: Regener...
2072
      { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); }
70f75246c   Sam Ravnborg   kbuild: apply gen...
2073
      break;
c40f56409   Sam Ravnborg   kbuild: Create _s...
2074

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2075

303fc01fb   Michal Marek   genksyms: Regener...
2076

70f75246c   Sam Ravnborg   kbuild: apply gen...
2077
2078
        default: break;
      }
0359de7dd   Michal Marek   genksyms: Regener...
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
    /* User semantic actions sometimes alter yychar, and that requires
       that yytoken be updated with the new translation.  We take the
       approach of translating immediately before every use of yytoken.
       One alternative is translating here after every semantic action,
       but that translation would be missed if the semantic action invokes
       YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
       if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
       incorrect destructor might then be invoked immediately.  In the
       case of YYERROR or YYBACKUP, subsequent parser actions might lead
       to an incorrect destructor call or verbose syntax error message
       before the lookahead is translated.  */
70f75246c   Sam Ravnborg   kbuild: apply gen...
2090
    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
c40f56409   Sam Ravnborg   kbuild: Create _s...
2091

70f75246c   Sam Ravnborg   kbuild: apply gen...
2092
2093
    YYPOPSTACK (yylen);
    yylen = 0;
c40f56409   Sam Ravnborg   kbuild: Create _s...
2094
    YY_STACK_PRINT (yyss, yyssp);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2095
2096
  
    *++yyvsp = yyval;
c40f56409   Sam Ravnborg   kbuild: Create _s...
2097
2098
2099
    /* Now `shift' the result of the reduction.  Determine what state
       that goes to, based on the state we popped back to and the rule
       number reduced by.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2100
2101
  
    yyn = yyr1[yyn];
c40f56409   Sam Ravnborg   kbuild: Create _s...
2102
2103
    yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
    if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2104
2105
      yystate = yytable[yystate];
    else
c40f56409   Sam Ravnborg   kbuild: Create _s...
2106
      yystate = yydefgoto[yyn - YYNTOKENS];
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2107
2108
  
    goto yynewstate;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2109

c40f56409   Sam Ravnborg   kbuild: Create _s...
2110
2111
2112
2113
  /*------------------------------------.
  | yyerrlab -- here on detecting error |
  `------------------------------------*/
  yyerrlab:
0359de7dd   Michal Marek   genksyms: Regener...
2114
2115
2116
    /* Make sure we have latest lookahead translation.  See comments at
       user semantic actions for why this is necessary.  */
    yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
c40f56409   Sam Ravnborg   kbuild: Create _s...
2117
2118
    /* If not already recovering from an error, report this error.  */
    if (!yyerrstatus)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2119
2120
      {
        ++yynerrs;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2121
2122
2123
  #if ! YYERROR_VERBOSE
        yyerror (YY_("syntax error"));
  #else
0359de7dd   Michal Marek   genksyms: Regener...
2124
2125
  # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
                                          yyssp, yytoken)
70f75246c   Sam Ravnborg   kbuild: apply gen...
2126
        {
0359de7dd   Michal Marek   genksyms: Regener...
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
          char const *yymsgp = YY_("syntax error");
          int yysyntax_error_status;
          yysyntax_error_status = YYSYNTAX_ERROR;
          if (yysyntax_error_status == 0)
            yymsgp = yymsg;
          else if (yysyntax_error_status == 1)
            {
              if (yymsg != yymsgbuf)
                YYSTACK_FREE (yymsg);
              yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
              if (!yymsg)
                {
                  yymsg = yymsgbuf;
                  yymsg_alloc = sizeof yymsgbuf;
                  yysyntax_error_status = 2;
                }
              else
                {
                  yysyntax_error_status = YYSYNTAX_ERROR;
                  yymsgp = yymsg;
                }
            }
          yyerror (yymsgp);
          if (yysyntax_error_status == 2)
            goto yyexhaustedlab;
70f75246c   Sam Ravnborg   kbuild: apply gen...
2152
        }
0359de7dd   Michal Marek   genksyms: Regener...
2153
  # undef YYSYNTAX_ERROR
70f75246c   Sam Ravnborg   kbuild: apply gen...
2154
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2155
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2156

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2157
2158
2159
  
    if (yyerrstatus == 3)
      {
303fc01fb   Michal Marek   genksyms: Regener...
2160
        /* If just tried and failed to reuse lookahead token after an
c40f56409   Sam Ravnborg   kbuild: Create _s...
2161
2162
2163
  	 error, discard it.  */
  
        if (yychar <= YYEOF)
70f75246c   Sam Ravnborg   kbuild: apply gen...
2164
2165
  	{
  	  /* Return failure if at end of input.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
2166
  	  if (yychar == YYEOF)
70f75246c   Sam Ravnborg   kbuild: apply gen...
2167
2168
  	    YYABORT;
  	}
c40f56409   Sam Ravnborg   kbuild: Create _s...
2169
2170
        else
  	{
70f75246c   Sam Ravnborg   kbuild: apply gen...
2171
2172
  	  yydestruct ("Error: discarding",
  		      yytoken, &yylval);
c40f56409   Sam Ravnborg   kbuild: Create _s...
2173
2174
  	  yychar = YYEMPTY;
  	}
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2175
      }
303fc01fb   Michal Marek   genksyms: Regener...
2176
    /* Else will try to reuse lookahead token after shifting the error
c40f56409   Sam Ravnborg   kbuild: Create _s...
2177
2178
       token.  */
    goto yyerrlab1;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2179

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2180

c40f56409   Sam Ravnborg   kbuild: Create _s...
2181
2182
2183
2184
  /*---------------------------------------------------.
  | yyerrorlab -- error raised explicitly by YYERROR.  |
  `---------------------------------------------------*/
  yyerrorlab:
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2185

70f75246c   Sam Ravnborg   kbuild: apply gen...
2186
2187
2188
2189
    /* Pacify compilers like GCC when the user code never invokes
       YYERROR and the label yyerrorlab therefore never appears in user
       code.  */
    if (/*CONSTCOND*/ 0)
c40f56409   Sam Ravnborg   kbuild: Create _s...
2190
       goto yyerrorlab;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2191

70f75246c   Sam Ravnborg   kbuild: apply gen...
2192
2193
2194
2195
2196
    /* Do not reclaim the symbols of the rule which action triggered
       this YYERROR.  */
    YYPOPSTACK (yylen);
    yylen = 0;
    YY_STACK_PRINT (yyss, yyssp);
c40f56409   Sam Ravnborg   kbuild: Create _s...
2197
2198
    yystate = *yyssp;
    goto yyerrlab1;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2199

c40f56409   Sam Ravnborg   kbuild: Create _s...
2200
2201
2202
2203
2204
  /*-------------------------------------------------------------.
  | yyerrlab1 -- common code for both syntax error and YYERROR.  |
  `-------------------------------------------------------------*/
  yyerrlab1:
    yyerrstatus = 3;	/* Each real token shifted decrements this.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2205

c40f56409   Sam Ravnborg   kbuild: Create _s...
2206
    for (;;)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2207
      {
c40f56409   Sam Ravnborg   kbuild: Create _s...
2208
        yyn = yypact[yystate];
0359de7dd   Michal Marek   genksyms: Regener...
2209
        if (!yypact_value_is_default (yyn))
c40f56409   Sam Ravnborg   kbuild: Create _s...
2210
2211
2212
2213
2214
2215
2216
2217
2218
  	{
  	  yyn += YYTERROR;
  	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
  	    {
  	      yyn = yytable[yyn];
  	      if (0 < yyn)
  		break;
  	    }
  	}
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2219

c40f56409   Sam Ravnborg   kbuild: Create _s...
2220
2221
2222
        /* Pop the current state because it cannot handle the error token.  */
        if (yyssp == yyss)
  	YYABORT;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2223

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2224

70f75246c   Sam Ravnborg   kbuild: apply gen...
2225
2226
2227
        yydestruct ("Error: popping",
  		  yystos[yystate], yyvsp);
        YYPOPSTACK (1);
c40f56409   Sam Ravnborg   kbuild: Create _s...
2228
2229
        yystate = *yyssp;
        YY_STACK_PRINT (yyss, yyssp);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2230
      }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2231

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2232
    *++yyvsp = yylval;
c40f56409   Sam Ravnborg   kbuild: Create _s...
2233

70f75246c   Sam Ravnborg   kbuild: apply gen...
2234
    /* Shift the error token.  */
c40f56409   Sam Ravnborg   kbuild: Create _s...
2235
    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2236
2237
2238
  
    yystate = yyn;
    goto yynewstate;
c40f56409   Sam Ravnborg   kbuild: Create _s...
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
  
  /*-------------------------------------.
  | yyacceptlab -- YYACCEPT comes here.  |
  `-------------------------------------*/
  yyacceptlab:
    yyresult = 0;
    goto yyreturn;
  
  /*-----------------------------------.
  | yyabortlab -- YYABORT comes here.  |
  `-----------------------------------*/
  yyabortlab:
c40f56409   Sam Ravnborg   kbuild: Create _s...
2251
2252
    yyresult = 1;
    goto yyreturn;
303fc01fb   Michal Marek   genksyms: Regener...
2253
  #if !defined(yyoverflow) || YYERROR_VERBOSE
70f75246c   Sam Ravnborg   kbuild: apply gen...
2254
2255
2256
2257
2258
  /*-------------------------------------------------.
  | yyexhaustedlab -- memory exhaustion comes here.  |
  `-------------------------------------------------*/
  yyexhaustedlab:
    yyerror (YY_("memory exhausted"));
c40f56409   Sam Ravnborg   kbuild: Create _s...
2259
2260
    yyresult = 2;
    /* Fall through.  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2261
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2262

c40f56409   Sam Ravnborg   kbuild: Create _s...
2263
  yyreturn:
303fc01fb   Michal Marek   genksyms: Regener...
2264
    if (yychar != YYEMPTY)
0359de7dd   Michal Marek   genksyms: Regener...
2265
2266
2267
2268
2269
2270
2271
      {
        /* Make sure we have latest lookahead translation.  See comments at
           user semantic actions for why this is necessary.  */
        yytoken = YYTRANSLATE (yychar);
        yydestruct ("Cleanup: discarding lookahead",
                    yytoken, &yylval);
      }
70f75246c   Sam Ravnborg   kbuild: apply gen...
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
    /* Do not reclaim the symbols of the rule which action triggered
       this YYABORT or YYACCEPT.  */
    YYPOPSTACK (yylen);
    YY_STACK_PRINT (yyss, yyssp);
    while (yyssp != yyss)
      {
        yydestruct ("Cleanup: popping",
  		  yystos[*yyssp], yyvsp);
        YYPOPSTACK (1);
      }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2282
2283
2284
  #ifndef yyoverflow
    if (yyss != yyssa)
      YYSTACK_FREE (yyss);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2285
  #endif
70f75246c   Sam Ravnborg   kbuild: apply gen...
2286
2287
2288
2289
2290
2291
  #if YYERROR_VERBOSE
    if (yymsg != yymsgbuf)
      YYSTACK_FREE (yymsg);
  #endif
    /* Make sure YYID is used.  */
    return YYID (yyresult);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2292
  }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2293

303fc01fb   Michal Marek   genksyms: Regener...
2294

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2295
2296
2297
2298
2299
2300
2301
  
  
  static void
  yyerror(const char *e)
  {
    error_with_pos("%s", e);
  }
c40f56409   Sam Ravnborg   kbuild: Create _s...
2302