1 From 8534735503255814ae6fffc19e30e03ca4ccbc75 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Mon, 10 Aug 2015 09:44:59 +0100
4 Subject: [PATCH 175/381] Revert "scripts/dtc: Add overlay support"
6 This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9.
8 scripts/dtc/checks.c | 119 +--
9 scripts/dtc/dtc-lexer.l | 5 -
10 scripts/dtc/dtc-lexer.lex.c_shipped | 490 +++++----
11 scripts/dtc/dtc-parser.tab.c_shipped | 1896 +++++++++++++++-------------------
12 scripts/dtc/dtc-parser.tab.h_shipped | 107 +-
13 scripts/dtc/dtc-parser.y | 23 +-
14 scripts/dtc/dtc.c | 9 +-
15 scripts/dtc/dtc.h | 38 -
16 scripts/dtc/flattree.c | 141 +--
17 scripts/dtc/version_gen.h | 2 +-
18 10 files changed, 1145 insertions(+), 1685 deletions(-)
20 --- a/scripts/dtc/checks.c
21 +++ b/scripts/dtc/checks.c
22 @@ -458,91 +458,21 @@ static void fixup_phandle_references(str
23 struct node *node, struct property *prop)
25 struct marker *m = prop->val.markers;
26 - struct fixup *f, **fp;
27 - struct fixup_entry *fe, **fep;
30 - int has_phandle_refs;
32 - has_phandle_refs = 0;
33 - for_each_marker_of_type(m, REF_PHANDLE) {
34 - has_phandle_refs = 1;
38 - if (!has_phandle_refs)
41 for_each_marker_of_type(m, REF_PHANDLE) {
42 assert(m->offset + sizeof(cell_t) <= prop->val.len);
44 refnode = get_node_by_ref(dt, m->ref);
45 - if (!refnode && !symbol_fixup_support) {
47 FAIL(c, "Reference to non-existent node or label \"%s\"\n",
54 - /* allocate fixup entry */
55 - fe = xmalloc(sizeof(*fe));
59 - fe->offset = m->offset;
62 - /* search for an already existing fixup */
63 - for_each_fixup(dt, f)
64 - if (strcmp(f->ref, m->ref) == 0)
67 - /* no fixup found, add new */
69 - f = xmalloc(sizeof(*f));
74 - /* add it to the tree */
81 - /* and now append fixup entry */
84 - fep = &(*fep)->next;
87 - /* mark the entry as unresolved */
88 - phandle = 0xdeadbeef;
90 - phandle = get_node_phandle(dt, refnode);
92 - /* if it's a plugin, we need to record it */
93 - if (symbol_fixup_support && dt->is_plugin) {
95 - /* allocate a new local fixup entry */
96 - fe = xmalloc(sizeof(*fe));
100 - fe->offset = m->offset;
103 - /* append it to the local fixups */
104 - fep = &dt->local_fixups;
106 - fep = &(*fep)->next;
111 - *((cell_t *)(prop->val.val + m->offset)) =
112 - cpu_to_fdt32(phandle);
113 + phandle = get_node_phandle(dt, refnode);
114 + *((cell_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(phandle);
117 ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL,
118 @@ -722,45 +652,6 @@ static void check_obsolete_chosen_interr
120 TREE_WARNING(obsolete_chosen_interrupt_controller, NULL);
122 -static void check_auto_label_phandles(struct check *c, struct node *dt,
126 - struct symbol *s, **sp;
129 - if (!symbol_fixup_support)
133 - for_each_label(node->labels, l) {
141 - /* force allocation of a phandle for this node */
142 - (void)get_node_phandle(dt, node);
144 - /* add the symbol */
145 - for_each_label(node->labels, l) {
147 - s = xmalloc(sizeof(*s));
152 - /* add it to the symbols list */
155 - sp = &((*sp)->next);
159 -NODE_WARNING(auto_label_phandles, NULL);
161 static struct check *check_table[] = {
162 &duplicate_node_names, &duplicate_property_names,
163 &node_name_chars, &node_name_format, &property_name_chars,
164 @@ -779,8 +670,6 @@ static struct check *check_table[] = {
165 &avoid_default_addr_size,
166 &obsolete_chosen_interrupt_controller,
168 - &auto_label_phandles,
173 --- a/scripts/dtc/dtc-lexer.l
174 +++ b/scripts/dtc/dtc-lexer.l
175 @@ -113,11 +113,6 @@ static void lexical_error(const char *fm
180 - DPRINT("Keyword: /plugin/\n");
185 DPRINT("Keyword: /memreserve/\n");
187 --- a/scripts/dtc/dtc-lexer.lex.c_shipped
188 +++ b/scripts/dtc/dtc-lexer.lex.c_shipped
191 #define YY_FLEX_MAJOR_VERSION 2
192 #define YY_FLEX_MINOR_VERSION 5
193 -#define YY_FLEX_SUBMINOR_VERSION 35
194 +#define YY_FLEX_SUBMINOR_VERSION 39
195 #if YY_FLEX_SUBMINOR_VERSION > 0
198 @@ -162,7 +162,12 @@ typedef unsigned int flex_uint32_t;
199 typedef struct yy_buffer_state *YY_BUFFER_STATE;
203 +#ifndef YY_TYPEDEF_YY_SIZE_T
204 +#define YY_TYPEDEF_YY_SIZE_T
205 +typedef size_t yy_size_t;
208 +extern yy_size_t yyleng;
210 extern FILE *yyin, *yyout;
212 @@ -171,6 +176,7 @@ extern FILE *yyin, *yyout;
213 #define EOB_ACT_LAST_MATCH 2
215 #define YY_LESS_LINENO(n)
216 + #define YY_LINENO_REWIND_TO(ptr)
218 /* Return all but the first "n" matched characters back to the input stream. */
220 @@ -188,11 +194,6 @@ extern FILE *yyin, *yyout;
222 #define unput(c) yyunput( c, (yytext_ptr) )
224 -#ifndef YY_TYPEDEF_YY_SIZE_T
225 -#define YY_TYPEDEF_YY_SIZE_T
226 -typedef size_t yy_size_t;
229 #ifndef YY_STRUCT_YY_BUFFER_STATE
230 #define YY_STRUCT_YY_BUFFER_STATE
231 struct yy_buffer_state
232 @@ -210,7 +211,7 @@ struct yy_buffer_state
233 /* Number of characters read into yy_ch_buf, not including EOB
237 + yy_size_t yy_n_chars;
239 /* Whether we "own" the buffer - i.e., we know we created it,
240 * and can realloc() it to grow it, and should free() it to
241 @@ -280,8 +281,8 @@ static YY_BUFFER_STATE * yy_buffer_stack
243 /* yy_hold_char holds the character lost when yytext is formed. */
244 static char yy_hold_char;
245 -static int yy_n_chars; /* number of characters read into yy_ch_buf */
247 +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
250 /* Points to current character in buffer. */
251 static char *yy_c_buf_p = (char *) 0;
252 @@ -309,7 +310,7 @@ static void yy_init_buffer (YY_BUFFER_ST
254 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
255 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
256 -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
257 +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
259 void *yyalloc (yy_size_t );
260 void *yyrealloc (void *,yy_size_t );
261 @@ -341,7 +342,7 @@ void yyfree (void * );
263 /* Begin user sect3 */
267 #define YY_SKIP_YYWRAP
269 typedef unsigned char YY_CHAR;
270 @@ -372,8 +373,8 @@ static void yy_fatal_error (yyconst char
272 (yy_c_buf_p) = yy_cp;
274 -#define YY_NUM_RULES 31
275 -#define YY_END_OF_BUFFER 32
276 +#define YY_NUM_RULES 30
277 +#define YY_END_OF_BUFFER 31
278 /* This struct is not used in this scanner,
279 but its presence is necessary. */
281 @@ -381,26 +382,25 @@ struct yy_trans_info
282 flex_int32_t yy_verify;
285 -static yyconst flex_int16_t yy_accept[166] =
286 +static yyconst flex_int16_t yy_accept[159] =
288 - 0, 0, 0, 0, 0, 0, 0, 0, 32, 30,
289 - 19, 19, 30, 30, 30, 30, 30, 30, 30, 30,
290 - 30, 30, 30, 30, 30, 30, 16, 17, 17, 30,
291 - 17, 11, 11, 19, 27, 0, 3, 0, 28, 13,
292 - 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
293 - 0, 22, 24, 26, 25, 23, 0, 10, 29, 0,
294 - 0, 0, 15, 15, 17, 17, 17, 11, 11, 11,
295 - 0, 13, 0, 12, 0, 0, 0, 21, 0, 0,
296 - 0, 0, 0, 0, 0, 0, 0, 17, 11, 11,
297 - 11, 0, 14, 20, 0, 0, 0, 0, 0, 0,
299 - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
300 - 0, 0, 0, 0, 0, 17, 7, 0, 0, 0,
301 - 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
302 - 0, 0, 0, 0, 4, 18, 0, 0, 5, 2,
303 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304 - 0, 0, 1, 0, 0, 0, 0, 6, 9, 0,
306 + 0, 0, 0, 0, 0, 0, 0, 0, 31, 29,
307 + 18, 18, 29, 29, 29, 29, 29, 29, 29, 29,
308 + 29, 29, 29, 29, 29, 29, 15, 16, 16, 29,
309 + 16, 10, 10, 18, 26, 0, 3, 0, 27, 12,
310 + 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
311 + 21, 23, 25, 24, 22, 0, 9, 28, 0, 0,
312 + 0, 14, 14, 16, 16, 16, 10, 10, 10, 0,
313 + 12, 0, 11, 0, 0, 0, 20, 0, 0, 0,
314 + 0, 0, 0, 0, 0, 16, 10, 10, 10, 0,
315 + 13, 19, 0, 0, 0, 0, 0, 0, 0, 0,
317 + 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
318 + 0, 16, 6, 0, 0, 0, 0, 0, 0, 2,
319 + 0, 0, 0, 0, 0, 0, 0, 0, 4, 17,
320 + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
321 + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
322 + 5, 8, 0, 0, 0, 0, 7, 0
325 static yyconst flex_int32_t yy_ec[256] =
326 @@ -416,9 +416,9 @@ static yyconst flex_int32_t yy_ec[256] =
327 22, 22, 22, 22, 24, 22, 22, 25, 22, 22,
328 1, 26, 27, 1, 22, 1, 21, 28, 29, 30,
330 - 31, 21, 32, 22, 33, 22, 22, 34, 35, 36,
331 - 37, 38, 22, 39, 40, 41, 42, 43, 22, 25,
332 - 44, 22, 45, 46, 47, 1, 1, 1, 1, 1,
333 + 31, 21, 22, 22, 32, 22, 22, 33, 34, 35,
334 + 36, 37, 22, 38, 39, 40, 41, 42, 22, 25,
335 + 43, 22, 44, 45, 46, 1, 1, 1, 1, 1,
336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
337 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
338 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
339 @@ -435,165 +435,163 @@ static yyconst flex_int32_t yy_ec[256] =
343 -static yyconst flex_int32_t yy_meta[48] =
344 +static yyconst flex_int32_t yy_meta[47] =
346 1, 1, 1, 1, 1, 1, 2, 3, 1, 2,
347 2, 2, 4, 5, 5, 5, 6, 1, 1, 1,
348 7, 8, 8, 8, 8, 1, 1, 7, 7, 7,
349 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
350 - 8, 8, 8, 8, 3, 1, 4
354 -static yyconst flex_int16_t yy_base[180] =
355 +static yyconst flex_int16_t yy_base[173] =
357 - 0, 393, 35, 392, 66, 391, 38, 107, 397, 401,
358 - 55, 113, 377, 112, 111, 111, 114, 42, 376, 106,
359 - 377, 347, 126, 120, 0, 147, 401, 0, 124, 0,
360 - 137, 158, 170, 163, 401, 153, 401, 389, 401, 0,
361 - 378, 120, 401, 131, 380, 386, 355, 139, 351, 355,
362 - 351, 401, 401, 401, 401, 401, 367, 401, 401, 185,
363 - 350, 346, 401, 364, 0, 185, 347, 189, 356, 355,
364 - 0, 0, 330, 180, 366, 141, 372, 361, 332, 338,
365 - 331, 341, 334, 326, 205, 331, 337, 329, 401, 341,
366 - 167, 316, 401, 349, 348, 320, 328, 346, 180, 318,
368 - 324, 209, 324, 320, 322, 342, 338, 309, 306, 315,
369 - 305, 315, 312, 192, 342, 341, 401, 293, 306, 282,
370 - 268, 252, 255, 203, 285, 282, 272, 268, 252, 233,
371 - 232, 239, 208, 107, 401, 401, 238, 211, 401, 211,
372 - 212, 208, 228, 203, 215, 207, 233, 222, 212, 211,
373 - 203, 227, 401, 237, 225, 204, 185, 401, 401, 149,
374 - 128, 88, 42, 401, 401, 253, 259, 267, 271, 275,
375 - 281, 288, 292, 300, 308, 312, 318, 326, 334
376 + 0, 383, 34, 382, 65, 381, 37, 105, 387, 391,
377 + 54, 111, 367, 110, 109, 109, 112, 41, 366, 104,
378 + 367, 338, 124, 117, 0, 144, 391, 0, 121, 0,
379 + 135, 155, 140, 179, 391, 160, 391, 379, 391, 0,
380 + 368, 141, 391, 167, 370, 376, 346, 103, 342, 345,
381 + 391, 391, 391, 391, 391, 358, 391, 391, 175, 342,
382 + 338, 391, 355, 0, 185, 339, 184, 347, 346, 0,
383 + 0, 322, 175, 357, 175, 363, 352, 324, 330, 323,
384 + 332, 326, 201, 324, 329, 322, 391, 333, 181, 309,
385 + 391, 341, 340, 313, 320, 338, 178, 311, 146, 317,
387 + 314, 315, 335, 331, 303, 300, 309, 299, 308, 188,
388 + 336, 335, 391, 305, 320, 281, 283, 271, 203, 288,
389 + 281, 271, 266, 264, 245, 242, 208, 104, 391, 391,
390 + 244, 218, 204, 219, 206, 224, 201, 212, 204, 229,
391 + 215, 208, 207, 200, 219, 391, 233, 221, 200, 181,
392 + 391, 391, 149, 122, 86, 41, 391, 391, 245, 251,
393 + 259, 263, 267, 273, 280, 284, 292, 300, 304, 310,
397 -static yyconst flex_int16_t yy_def[180] =
398 +static yyconst flex_int16_t yy_def[173] =
400 - 165, 1, 1, 3, 165, 5, 1, 1, 165, 165,
401 - 165, 165, 165, 166, 167, 168, 165, 165, 165, 165,
402 - 169, 165, 165, 165, 170, 169, 165, 171, 172, 171,
403 - 171, 165, 165, 165, 165, 166, 165, 166, 165, 173,
404 - 165, 168, 165, 168, 174, 175, 165, 165, 165, 165,
405 - 165, 165, 165, 165, 165, 165, 169, 165, 165, 165,
406 - 165, 165, 165, 169, 171, 172, 171, 165, 165, 165,
407 - 176, 173, 177, 168, 174, 174, 175, 165, 165, 165,
408 - 165, 165, 165, 165, 165, 165, 165, 171, 165, 165,
409 - 176, 177, 165, 165, 165, 165, 165, 165, 165, 165,
411 - 165, 165, 165, 165, 171, 165, 165, 165, 165, 165,
412 - 165, 165, 165, 178, 165, 171, 165, 165, 165, 165,
413 - 165, 165, 165, 178, 165, 178, 165, 165, 165, 165,
414 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
415 - 165, 165, 165, 165, 165, 165, 165, 179, 165, 165,
416 - 165, 179, 165, 179, 165, 165, 165, 165, 165, 165,
417 - 165, 165, 165, 165, 0, 165, 165, 165, 165, 165,
418 - 165, 165, 165, 165, 165, 165, 165, 165, 165
419 + 158, 1, 1, 3, 158, 5, 1, 1, 158, 158,
420 + 158, 158, 158, 159, 160, 161, 158, 158, 158, 158,
421 + 162, 158, 158, 158, 163, 162, 158, 164, 165, 164,
422 + 164, 158, 158, 158, 158, 159, 158, 159, 158, 166,
423 + 158, 161, 158, 161, 167, 168, 158, 158, 158, 158,
424 + 158, 158, 158, 158, 158, 162, 158, 158, 158, 158,
425 + 158, 158, 162, 164, 165, 164, 158, 158, 158, 169,
426 + 166, 170, 161, 167, 167, 168, 158, 158, 158, 158,
427 + 158, 158, 158, 158, 158, 164, 158, 158, 169, 170,
428 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
430 + 158, 164, 158, 158, 158, 158, 158, 158, 158, 171,
431 + 158, 164, 158, 158, 158, 158, 158, 158, 171, 158,
432 + 171, 158, 158, 158, 158, 158, 158, 158, 158, 158,
433 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
434 + 172, 158, 158, 158, 172, 158, 172, 158, 158, 158,
435 + 158, 158, 158, 158, 158, 158, 158, 0, 158, 158,
436 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
440 -static yyconst flex_int16_t yy_nxt[449] =
441 +static yyconst flex_int16_t yy_nxt[438] =
443 10, 11, 12, 11, 13, 14, 10, 15, 16, 10,
444 10, 10, 17, 10, 10, 10, 10, 18, 19, 20,
445 21, 21, 21, 21, 21, 10, 10, 21, 21, 21,
446 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
447 - 21, 21, 21, 21, 10, 22, 10, 24, 25, 25,
448 - 25, 32, 33, 33, 164, 26, 34, 34, 34, 52,
449 - 53, 27, 26, 26, 26, 26, 10, 11, 12, 11,
450 - 13, 14, 28, 15, 16, 28, 28, 28, 24, 28,
451 - 28, 28, 10, 18, 19, 20, 29, 29, 29, 29,
452 - 29, 30, 10, 29, 29, 29, 29, 29, 29, 29,
454 - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
455 - 10, 22, 10, 23, 34, 34, 34, 37, 39, 43,
456 - 32, 33, 33, 45, 55, 56, 46, 60, 43, 45,
457 - 65, 163, 46, 65, 65, 65, 44, 38, 60, 74,
458 - 58, 47, 141, 48, 142, 44, 49, 47, 50, 48,
459 - 76, 51, 62, 94, 50, 41, 44, 51, 37, 61,
460 - 64, 64, 64, 58, 34, 34, 34, 64, 162, 80,
461 - 67, 68, 68, 68, 64, 64, 64, 64, 38, 81,
462 - 69, 70, 71, 68, 68, 68, 60, 161, 43, 69,
463 - 70, 65, 69, 70, 65, 65, 65, 125, 85, 85,
465 - 85, 58, 68, 68, 68, 44, 102, 110, 125, 133,
466 - 102, 69, 70, 111, 114, 160, 159, 126, 85, 85,
467 - 85, 140, 140, 140, 140, 140, 140, 153, 126, 147,
468 - 147, 147, 153, 148, 147, 147, 147, 158, 148, 165,
469 - 157, 156, 155, 151, 150, 149, 146, 154, 145, 144,
470 - 143, 139, 154, 36, 36, 36, 36, 36, 36, 36,
471 - 36, 40, 138, 137, 136, 40, 40, 42, 42, 42,
472 - 42, 42, 42, 42, 42, 57, 57, 57, 57, 63,
473 - 135, 63, 65, 134, 165, 65, 133, 65, 65, 66,
474 - 132, 131, 66, 66, 66, 66, 72, 130, 72, 72,
476 - 75, 75, 75, 75, 75, 75, 75, 75, 77, 77,
477 - 77, 77, 77, 77, 77, 77, 91, 129, 91, 92,
478 - 128, 92, 92, 127, 92, 92, 124, 124, 124, 124,
479 - 124, 124, 124, 124, 152, 152, 152, 152, 152, 152,
480 - 152, 152, 60, 60, 123, 122, 121, 120, 119, 118,
481 - 117, 45, 116, 111, 115, 113, 112, 109, 108, 107,
482 - 46, 106, 93, 89, 105, 104, 103, 101, 100, 99,
483 - 98, 97, 96, 95, 78, 76, 93, 90, 89, 88,
484 - 58, 87, 86, 58, 84, 83, 82, 79, 78, 76,
485 - 73, 165, 59, 58, 54, 35, 165, 31, 23, 23,
487 - 9, 165, 165, 165, 165, 165, 165, 165, 165, 165,
488 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
489 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
490 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
491 - 165, 165, 165, 165, 165, 165, 165, 165
492 + 21, 21, 21, 10, 22, 10, 24, 25, 25, 25,
493 + 32, 33, 33, 157, 26, 34, 34, 34, 51, 52,
494 + 27, 26, 26, 26, 26, 10, 11, 12, 11, 13,
495 + 14, 28, 15, 16, 28, 28, 28, 24, 28, 28,
496 + 28, 10, 18, 19, 20, 29, 29, 29, 29, 29,
497 + 30, 10, 29, 29, 29, 29, 29, 29, 29, 29,
499 + 29, 29, 29, 29, 29, 29, 29, 29, 10, 22,
500 + 10, 23, 34, 34, 34, 37, 39, 43, 32, 33,
501 + 33, 45, 54, 55, 46, 59, 45, 64, 156, 46,
502 + 64, 64, 64, 79, 44, 38, 59, 57, 134, 47,
503 + 135, 48, 80, 49, 47, 50, 48, 99, 61, 43,
504 + 50, 110, 41, 67, 67, 67, 60, 63, 63, 63,
505 + 57, 155, 68, 69, 63, 37, 44, 66, 67, 67,
506 + 67, 63, 63, 63, 63, 73, 59, 68, 69, 70,
507 + 34, 34, 34, 43, 75, 38, 154, 92, 83, 83,
508 + 83, 64, 44, 120, 64, 64, 64, 67, 67, 67,
510 + 44, 57, 99, 68, 69, 107, 68, 69, 120, 127,
511 + 108, 153, 152, 121, 83, 83, 83, 133, 133, 133,
512 + 146, 133, 133, 133, 146, 140, 140, 140, 121, 141,
513 + 140, 140, 140, 151, 141, 158, 150, 149, 148, 144,
514 + 147, 143, 142, 139, 147, 36, 36, 36, 36, 36,
515 + 36, 36, 36, 40, 138, 137, 136, 40, 40, 42,
516 + 42, 42, 42, 42, 42, 42, 42, 56, 56, 56,
517 + 56, 62, 132, 62, 64, 131, 130, 64, 129, 64,
518 + 64, 65, 128, 158, 65, 65, 65, 65, 71, 127,
519 + 71, 71, 74, 74, 74, 74, 74, 74, 74, 74,
521 + 76, 76, 76, 76, 76, 76, 76, 76, 89, 126,
522 + 89, 90, 125, 90, 90, 124, 90, 90, 119, 119,
523 + 119, 119, 119, 119, 119, 119, 145, 145, 145, 145,
524 + 145, 145, 145, 145, 123, 122, 59, 59, 118, 117,
525 + 116, 115, 114, 113, 45, 112, 108, 111, 109, 106,
526 + 105, 104, 46, 103, 91, 87, 102, 101, 100, 98,
527 + 97, 96, 95, 94, 93, 77, 75, 91, 88, 87,
528 + 86, 57, 85, 84, 57, 82, 81, 78, 77, 75,
529 + 72, 158, 58, 57, 53, 35, 158, 31, 23, 23,
530 + 9, 158, 158, 158, 158, 158, 158, 158, 158, 158,
532 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
533 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
534 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
535 + 158, 158, 158, 158, 158, 158, 158
538 -static yyconst flex_int16_t yy_chk[449] =
539 +static yyconst flex_int16_t yy_chk[438] =
541 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
545 - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3,
546 - 3, 7, 7, 7, 163, 3, 11, 11, 11, 18,
547 - 18, 3, 3, 3, 3, 3, 5, 5, 5, 5,
548 + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
549 + 7, 7, 7, 156, 3, 11, 11, 11, 18, 18,
550 + 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,
551 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
552 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
553 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
555 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
556 - 5, 5, 5, 8, 12, 12, 12, 14, 15, 16,
557 - 8, 8, 8, 17, 20, 20, 17, 23, 42, 24,
558 - 29, 162, 24, 29, 29, 29, 16, 14, 31, 44,
559 - 29, 17, 134, 17, 134, 42, 17, 24, 17, 24,
560 - 76, 17, 24, 76, 24, 15, 44, 24, 36, 23,
561 - 26, 26, 26, 26, 34, 34, 34, 26, 161, 48,
562 - 31, 32, 32, 32, 26, 26, 26, 26, 36, 48,
563 - 32, 32, 32, 33, 33, 33, 60, 160, 74, 91,
564 - 91, 66, 33, 33, 66, 66, 66, 114, 60, 60,
566 - 60, 66, 68, 68, 68, 74, 85, 99, 124, 133,
567 - 102, 68, 68, 99, 102, 157, 156, 114, 85, 85,
568 - 85, 133, 133, 133, 140, 140, 140, 148, 124, 143,
569 - 143, 143, 152, 143, 147, 147, 147, 155, 147, 154,
570 - 151, 150, 149, 146, 145, 144, 142, 148, 141, 138,
571 - 137, 132, 152, 166, 166, 166, 166, 166, 166, 166,
572 - 166, 167, 131, 130, 129, 167, 167, 168, 168, 168,
573 - 168, 168, 168, 168, 168, 169, 169, 169, 169, 170,
574 - 128, 170, 171, 127, 126, 171, 125, 171, 171, 172,
575 - 123, 122, 172, 172, 172, 172, 173, 121, 173, 173,
577 - 174, 174, 174, 174, 174, 174, 174, 174, 175, 175,
578 - 175, 175, 175, 175, 175, 175, 176, 120, 176, 177,
579 - 119, 177, 177, 118, 177, 177, 178, 178, 178, 178,
580 - 178, 178, 178, 178, 179, 179, 179, 179, 179, 179,
581 - 179, 179, 116, 115, 113, 112, 111, 110, 109, 108,
582 - 107, 106, 105, 104, 103, 101, 100, 98, 97, 96,
583 - 95, 94, 92, 90, 88, 87, 86, 84, 83, 82,
584 - 81, 80, 79, 78, 77, 75, 73, 70, 69, 67,
585 - 64, 62, 61, 57, 51, 50, 49, 47, 46, 45,
586 + 5, 8, 12, 12, 12, 14, 15, 16, 8, 8,
587 + 8, 17, 20, 20, 17, 23, 24, 29, 155, 24,
588 + 29, 29, 29, 48, 16, 14, 31, 29, 128, 17,
589 + 128, 17, 48, 17, 24, 17, 24, 99, 24, 42,
590 + 24, 99, 15, 33, 33, 33, 23, 26, 26, 26,
591 + 26, 154, 33, 33, 26, 36, 42, 31, 32, 32,
592 + 32, 26, 26, 26, 26, 44, 59, 32, 32, 32,
593 + 34, 34, 34, 73, 75, 36, 153, 75, 59, 59,
594 + 59, 65, 44, 110, 65, 65, 65, 67, 67, 67,
596 + 73, 65, 83, 89, 89, 97, 67, 67, 119, 127,
597 + 97, 150, 149, 110, 83, 83, 83, 133, 133, 133,
598 + 141, 127, 127, 127, 145, 136, 136, 136, 119, 136,
599 + 140, 140, 140, 148, 140, 147, 144, 143, 142, 139,
600 + 141, 138, 137, 135, 145, 159, 159, 159, 159, 159,
601 + 159, 159, 159, 160, 134, 132, 131, 160, 160, 161,
602 + 161, 161, 161, 161, 161, 161, 161, 162, 162, 162,
603 + 162, 163, 126, 163, 164, 125, 124, 164, 123, 164,
604 + 164, 165, 122, 121, 165, 165, 165, 165, 166, 120,
605 + 166, 166, 167, 167, 167, 167, 167, 167, 167, 167,
607 + 168, 168, 168, 168, 168, 168, 168, 168, 169, 118,
608 + 169, 170, 117, 170, 170, 116, 170, 170, 171, 171,
609 + 171, 171, 171, 171, 171, 171, 172, 172, 172, 172,
610 + 172, 172, 172, 172, 115, 114, 112, 111, 109, 108,
611 + 107, 106, 105, 104, 103, 102, 101, 100, 98, 96,
612 + 95, 94, 93, 92, 90, 88, 86, 85, 84, 82,
613 + 81, 80, 79, 78, 77, 76, 74, 72, 69, 68,
614 + 66, 63, 61, 60, 56, 50, 49, 47, 46, 45,
615 41, 38, 22, 21, 19, 13, 9, 6, 4, 2,
616 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
618 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
619 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
620 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
621 - 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
622 - 165, 165, 165, 165, 165, 165, 165, 165
623 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
624 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
625 + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
626 + 158, 158, 158, 158, 158, 158, 158
629 static yy_state_type yy_last_accepting_state;
630 @@ -664,7 +662,7 @@ static int dts_version = 1;
631 static void push_input_file(const char *filename);
632 static bool pop_input_file(void);
633 static void lexical_error(const char *fmt, ...);
634 -#line 668 "dtc-lexer.lex.c"
635 +#line 666 "dtc-lexer.lex.c"
639 @@ -706,7 +704,7 @@ FILE *yyget_out (void );
641 void yyset_out (FILE * out_str );
643 -int yyget_leng (void );
644 +yy_size_t yyget_leng (void );
646 char *yyget_text (void );
648 @@ -855,10 +853,6 @@ YY_DECL
649 register char *yy_cp, *yy_bp;
652 -#line 68 "dtc-lexer.l"
654 -#line 861 "dtc-lexer.lex.c"
659 @@ -885,6 +879,11 @@ YY_DECL
660 yy_load_buffer_state( );
664 +#line 68 "dtc-lexer.l"
666 +#line 886 "dtc-lexer.lex.c"
668 while ( 1 ) /* loops until end-of-file is reached */
670 yy_cp = (yy_c_buf_p);
671 @@ -902,7 +901,7 @@ YY_DECL
675 - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
676 + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
677 if ( yy_accept[yy_current_state] )
679 (yy_last_accepting_state) = yy_current_state;
680 @@ -911,13 +910,13 @@ yy_match:
681 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
683 yy_current_state = (int) yy_def[yy_current_state];
684 - if ( yy_current_state >= 166 )
685 + if ( yy_current_state >= 159 )
686 yy_c = yy_meta[(unsigned int) yy_c];
688 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
691 - while ( yy_current_state != 165 );
692 + while ( yy_current_state != 158 );
693 yy_cp = (yy_last_accepting_cpos);
694 yy_current_state = (yy_last_accepting_state);
696 @@ -1008,31 +1007,23 @@ case 5:
698 #line 116 "dtc-lexer.l"
700 - DPRINT("Keyword: /plugin/\n");
706 -#line 121 "dtc-lexer.l"
708 DPRINT("Keyword: /memreserve/\n");
710 return DT_MEMRESERVE;
716 -#line 127 "dtc-lexer.l"
717 +#line 122 "dtc-lexer.l"
719 DPRINT("Keyword: /bits/\n");
727 -#line 133 "dtc-lexer.l"
728 +#line 128 "dtc-lexer.l"
730 DPRINT("Keyword: /delete-property/\n");
731 DPRINT("<PROPNODENAME>\n");
732 @@ -1040,9 +1031,9 @@ YY_RULE_SETUP
739 -#line 140 "dtc-lexer.l"
740 +#line 135 "dtc-lexer.l"
742 DPRINT("Keyword: /delete-node/\n");
743 DPRINT("<PROPNODENAME>\n");
744 @@ -1050,9 +1041,9 @@ YY_RULE_SETUP
751 -#line 147 "dtc-lexer.l"
752 +#line 142 "dtc-lexer.l"
754 DPRINT("Label: %s\n", yytext);
755 yylval.labelref = xstrdup(yytext);
756 @@ -1060,9 +1051,9 @@ YY_RULE_SETUP
763 -#line 154 "dtc-lexer.l"
764 +#line 149 "dtc-lexer.l"
767 DPRINT("Integer Literal: '%s'\n", yytext);
768 @@ -1082,10 +1073,10 @@ YY_RULE_SETUP
773 -/* rule 12 can match eol */
775 +/* rule 11 can match eol */
777 -#line 173 "dtc-lexer.l"
778 +#line 168 "dtc-lexer.l"
781 DPRINT("Character literal: %s\n", yytext);
782 @@ -1107,18 +1098,18 @@ YY_RULE_SETUP
783 return DT_CHAR_LITERAL;
789 -#line 194 "dtc-lexer.l"
790 +#line 189 "dtc-lexer.l"
791 { /* label reference */
792 DPRINT("Ref: %s\n", yytext+1);
793 yylval.labelref = xstrdup(yytext+1);
800 -#line 200 "dtc-lexer.l"
801 +#line 195 "dtc-lexer.l"
802 { /* new-style path reference */
803 yytext[yyleng-1] = '\0';
804 DPRINT("Ref: %s\n", yytext+2);
805 @@ -1126,27 +1117,27 @@ YY_RULE_SETUP
812 -#line 207 "dtc-lexer.l"
813 +#line 202 "dtc-lexer.l"
815 yylval.byte = strtol(yytext, NULL, 16);
816 DPRINT("Byte: %02x\n", (int)yylval.byte);
823 -#line 213 "dtc-lexer.l"
824 +#line 208 "dtc-lexer.l"
826 DPRINT("/BYTESTRING\n");
834 -#line 219 "dtc-lexer.l"
835 +#line 214 "dtc-lexer.l"
837 DPRINT("PropNodeName: %s\n", yytext);
838 yylval.propnodename = xstrdup((yytext[0] == '\\') ?
839 @@ -1155,75 +1146,75 @@ YY_RULE_SETUP
840 return DT_PROPNODENAME;
846 -#line 227 "dtc-lexer.l"
847 +#line 222 "dtc-lexer.l"
849 DPRINT("Binary Include\n");
854 -/* rule 19 can match eol */
856 +/* rule 18 can match eol */
858 -#line 232 "dtc-lexer.l"
859 +#line 227 "dtc-lexer.l"
863 -/* rule 20 can match eol */
865 +/* rule 19 can match eol */
867 -#line 233 "dtc-lexer.l"
868 +#line 228 "dtc-lexer.l"
869 /* eat C-style comments */
872 -/* rule 21 can match eol */
874 +/* rule 20 can match eol */
876 -#line 234 "dtc-lexer.l"
877 +#line 229 "dtc-lexer.l"
878 /* eat C++-style comments */
883 -#line 236 "dtc-lexer.l"
884 +#line 231 "dtc-lexer.l"
885 { return DT_LSHIFT; };
890 -#line 237 "dtc-lexer.l"
891 +#line 232 "dtc-lexer.l"
892 { return DT_RSHIFT; };
897 -#line 238 "dtc-lexer.l"
898 +#line 233 "dtc-lexer.l"
904 -#line 239 "dtc-lexer.l"
905 +#line 234 "dtc-lexer.l"
911 -#line 240 "dtc-lexer.l"
912 +#line 235 "dtc-lexer.l"
918 -#line 241 "dtc-lexer.l"
919 +#line 236 "dtc-lexer.l"
925 -#line 242 "dtc-lexer.l"
926 +#line 237 "dtc-lexer.l"
932 -#line 243 "dtc-lexer.l"
933 +#line 238 "dtc-lexer.l"
939 -#line 245 "dtc-lexer.l"
940 +#line 240 "dtc-lexer.l"
942 DPRINT("Char: %c (\\x%02x)\n", yytext[0],
943 (unsigned)yytext[0]);
944 @@ -1239,12 +1230,12 @@ YY_RULE_SETUP
951 -#line 260 "dtc-lexer.l"
952 +#line 255 "dtc-lexer.l"
955 -#line 1248 "dtc-lexer.lex.c"
956 +#line 1239 "dtc-lexer.lex.c"
958 case YY_END_OF_BUFFER:
960 @@ -1374,6 +1365,7 @@ ECHO;
961 "fatal flex scanner internal error--no action found" );
962 } /* end of action switch */
963 } /* end of scanning one token */
964 + } /* end of user's declarations */
967 /* yy_get_next_buffer - try to read in a new buffer
968 @@ -1429,21 +1421,21 @@ static int yy_get_next_buffer (void)
973 + yy_size_t num_to_read =
974 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
976 while ( num_to_read <= 0 )
977 { /* Not enough room in the buffer - grow it. */
979 /* just a shorter name for the current buffer */
980 - YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
981 + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
983 int yy_c_buf_p_offset =
984 (int) ((yy_c_buf_p) - b->yy_ch_buf);
986 if ( b->yy_is_our_buffer )
988 - int new_size = b->yy_buf_size * 2;
989 + yy_size_t new_size = b->yy_buf_size * 2;
992 b->yy_buf_size += b->yy_buf_size / 8;
993 @@ -1474,7 +1466,7 @@ static int yy_get_next_buffer (void)
995 /* Read in more data. */
996 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
997 - (yy_n_chars), (size_t) num_to_read );
998 + (yy_n_chars), num_to_read );
1000 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1002 @@ -1536,7 +1528,7 @@ static int yy_get_next_buffer (void)
1003 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1005 yy_current_state = (int) yy_def[yy_current_state];
1006 - if ( yy_current_state >= 166 )
1007 + if ( yy_current_state >= 159 )
1008 yy_c = yy_meta[(unsigned int) yy_c];
1010 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1011 @@ -1564,13 +1556,13 @@ static int yy_get_next_buffer (void)
1012 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1014 yy_current_state = (int) yy_def[yy_current_state];
1015 - if ( yy_current_state >= 166 )
1016 + if ( yy_current_state >= 159 )
1017 yy_c = yy_meta[(unsigned int) yy_c];
1019 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1020 - yy_is_jam = (yy_current_state == 165);
1021 + yy_is_jam = (yy_current_state == 158);
1023 - return yy_is_jam ? 0 : yy_current_state;
1024 + return yy_is_jam ? 0 : yy_current_state;
1028 @@ -1597,7 +1589,7 @@ static int yy_get_next_buffer (void)
1031 { /* need more input */
1032 - int offset = (yy_c_buf_p) - (yytext_ptr);
1033 + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
1036 switch ( yy_get_next_buffer( ) )
1037 @@ -1871,7 +1863,7 @@ void yypop_buffer_state (void)
1039 static void yyensure_buffer_stack (void)
1042 + yy_size_t num_to_alloc;
1044 if (!(yy_buffer_stack)) {
1046 @@ -1968,12 +1960,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst
1048 * @return the newly allocated buffer state object.
1050 -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
1051 +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
1059 /* Get memory for full buffer, including space for trailing EOB's. */
1060 n = _yybytes_len + 2;
1061 @@ -2055,7 +2047,7 @@ FILE *yyget_out (void)
1062 /** Get the length of the current token.
1065 -int yyget_leng (void)
1066 +yy_size_t yyget_leng (void)
1070 @@ -2203,7 +2195,7 @@ void yyfree (void * ptr )
1072 #define YYTABLES_NAME "yytables"
1074 -#line 260 "dtc-lexer.l"
1075 +#line 254 "dtc-lexer.l"
1079 --- a/scripts/dtc/dtc-parser.tab.c_shipped
1080 +++ b/scripts/dtc/dtc-parser.tab.c_shipped
1082 -/* A Bison parser, made by GNU Bison 2.5. */
1083 +/* A Bison parser, made by GNU Bison 3.0.2. */
1085 /* Bison implementation for Yacc-like parsers in C
1087 - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
1090 + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
1092 This program is free software: you can redistribute it and/or modify
1093 it under the terms of the GNU General Public License as published by
1094 the Free Software Foundation, either version 3 of the License, or
1095 (at your option) any later version.
1098 This program is distributed in the hope that it will be useful,
1099 but WITHOUT ANY WARRANTY; without even the implied warranty of
1100 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1101 GNU General Public License for more details.
1104 You should have received a copy of the GNU General Public License
1105 along with this program. If not, see <http://www.gnu.org/licenses/>. */
1108 special exception, which will cause the skeleton and the resulting
1109 Bison output files to be licensed under the GNU General Public
1110 License without this special exception.
1113 This special exception was added by the Free Software Foundation in
1114 version 2.2 of Bison. */
1119 /* Bison version. */
1120 -#define YYBISON_VERSION "2.5"
1121 +#define YYBISON_VERSION "3.0.2"
1123 /* Skeleton name. */
1124 #define YYSKELETON_NAME "yacc.c"
1129 -/* Using locations. */
1130 -#define YYLSP_NEEDED 1
1134 /* Copy the first part of user declarations. */
1136 -/* Line 268 of yacc.c */
1137 -#line 20 "dtc-parser.y"
1138 +#line 20 "dtc-parser.y" /* yacc.c:339 */
1141 -#include <inttypes.h>
1145 @@ -85,14 +80,15 @@ extern void yyerror(char const *s);
1146 extern struct boot_info *the_boot_info;
1147 extern bool treesource_error;
1149 +#line 84 "dtc-parser.tab.c" /* yacc.c:339 */
1151 -/* Line 268 of yacc.c */
1152 -#line 91 "dtc-parser.tab.c"
1154 -/* Enabling traces. */
1158 +# ifndef YY_NULLPTR
1159 +# if defined __cplusplus && 201103L <= __cplusplus
1160 +# define YY_NULLPTR nullptr
1162 +# define YY_NULLPTR 0
1166 /* Enabling verbose error messages. */
1167 #ifdef YYERROR_VERBOSE
1168 @@ -102,51 +98,53 @@ extern bool treesource_error;
1169 # define YYERROR_VERBOSE 0
1172 -/* Enabling the token table. */
1173 -#ifndef YYTOKEN_TABLE
1174 -# define YYTOKEN_TABLE 0
1175 +/* In a future release of Bison, this section will be replaced
1176 + by #include "dtc-parser.tab.h". */
1177 +#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
1178 +# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
1179 +/* Debug traces. */
1184 +extern int yydebug;
1191 # define YYTOKENTYPE
1192 - /* Put the tokens into the symbol table, so that GDB and other debuggers
1193 - know about them. */
1194 - enum yytokentype {
1197 - DT_MEMRESERVE = 260,
1207 - DT_DEL_PROP = 270,
1208 - DT_DEL_NODE = 271,
1209 - DT_PROPNODENAME = 272,
1211 - DT_CHAR_LITERAL = 274,
1221 + DT_MEMRESERVE = 259,
1231 + DT_DEL_PROP = 269,
1232 + DT_DEL_NODE = 270,
1233 + DT_PROPNODENAME = 271,
1235 + DT_CHAR_LITERAL = 273,
1247 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1248 -typedef union YYSTYPE
1249 +typedef union YYSTYPE YYSTYPE;
1253 -/* Line 293 of yacc.c */
1254 -#line 39 "dtc-parser.y"
1255 +#line 38 "dtc-parser.y" /* yacc.c:355 */
1259 @@ -164,37 +162,37 @@ typedef union YYSTYPE
1260 struct node *nodelist;
1261 struct reserve_info *re;
1267 -/* Line 293 of yacc.c */
1268 -#line 173 "dtc-parser.tab.c"
1270 +#line 167 "dtc-parser.tab.c" /* yacc.c:355 */
1272 # define YYSTYPE_IS_TRIVIAL 1
1273 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */
1274 # define YYSTYPE_IS_DECLARED 1
1277 +/* Location type. */
1278 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1279 -typedef struct YYLTYPE
1280 +typedef struct YYLTYPE YYLTYPE;
1288 -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
1290 # define YYLTYPE_IS_DECLARED 1
1291 # define YYLTYPE_IS_TRIVIAL 1
1295 -/* Copy the second part of user declarations. */
1296 +extern YYSTYPE yylval;
1297 +extern YYLTYPE yylloc;
1298 +int yyparse (void);
1300 +#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
1302 +/* Copy the second part of user declarations. */
1304 -/* Line 343 of yacc.c */
1305 -#line 198 "dtc-parser.tab.c"
1306 +#line 196 "dtc-parser.tab.c" /* yacc.c:358 */
1310 @@ -208,11 +206,8 @@ typedef unsigned char yytype_uint8;
1313 typedef YYTYPE_INT8 yytype_int8;
1314 -#elif (defined __STDC__ || defined __C99__FUNC__ \
1315 - || defined __cplusplus || defined _MSC_VER)
1316 -typedef signed char yytype_int8;
1318 -typedef short int yytype_int8;
1319 +typedef signed char yytype_int8;
1322 #ifdef YYTYPE_UINT16
1323 @@ -232,8 +227,7 @@ typedef short int yytype_int16;
1324 # define YYSIZE_T __SIZE_TYPE__
1325 # elif defined size_t
1326 # define YYSIZE_T size_t
1327 -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1328 - || defined __cplusplus || defined _MSC_VER)
1329 +# elif ! defined YYSIZE_T
1330 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1331 # define YYSIZE_T size_t
1333 @@ -247,39 +241,68 @@ typedef short int yytype_int16;
1334 # if defined YYENABLE_NLS && YYENABLE_NLS
1336 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1337 -# define YY_(msgid) dgettext ("bison-runtime", msgid)
1338 +# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
1342 -# define YY_(msgid) msgid
1343 +# define YY_(Msgid) Msgid
1347 +#ifndef YY_ATTRIBUTE
1348 +# if (defined __GNUC__ \
1349 + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
1350 + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
1351 +# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
1353 +# define YY_ATTRIBUTE(Spec) /* empty */
1357 +#ifndef YY_ATTRIBUTE_PURE
1358 +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
1361 +#ifndef YY_ATTRIBUTE_UNUSED
1362 +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1365 +#if !defined _Noreturn \
1366 + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1367 +# if defined _MSC_VER && 1200 <= _MSC_VER
1368 +# define _Noreturn __declspec (noreturn)
1370 +# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1374 /* Suppress unused-variable warnings by "using" E. */
1375 #if ! defined lint || defined __GNUC__
1376 -# define YYUSE(e) ((void) (e))
1377 +# define YYUSE(E) ((void) (E))
1379 -# define YYUSE(e) /* empty */
1380 +# define YYUSE(E) /* empty */
1383 -/* Identity function, used to suppress warnings about constant conditions. */
1385 -# define YYID(n) (n)
1387 -#if (defined __STDC__ || defined __C99__FUNC__ \
1388 - || defined __cplusplus || defined _MSC_VER)
1391 +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
1392 +/* Suppress an incorrect diagnostic about yylval being uninitialized. */
1393 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
1394 + _Pragma ("GCC diagnostic push") \
1395 + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
1396 + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
1397 +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
1398 + _Pragma ("GCC diagnostic pop")
1403 +# define YY_INITIAL_VALUE(Value) Value
1408 +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1409 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1410 +# define YY_IGNORE_MAYBE_UNINITIALIZED_END
1412 +#ifndef YY_INITIAL_VALUE
1413 +# define YY_INITIAL_VALUE(Value) /* Nothing. */
1417 #if ! defined yyoverflow || YYERROR_VERBOSE
1419 /* The parser invokes alloca or malloc; define the necessary symbols. */
1420 @@ -297,9 +320,9 @@ YYID (yyi)
1421 # define alloca _alloca
1423 # define YYSTACK_ALLOC alloca
1424 -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1425 - || defined __cplusplus || defined _MSC_VER)
1426 +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1427 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1428 + /* Use EXIT_SUCCESS as a witness for stdlib.h. */
1429 # ifndef EXIT_SUCCESS
1430 # define EXIT_SUCCESS 0
1432 @@ -309,8 +332,8 @@ YYID (yyi)
1435 # ifdef YYSTACK_ALLOC
1436 - /* Pacify GCC's `empty if-body' warning. */
1437 -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1438 + /* Pacify GCC's 'empty if-body' warning. */
1439 +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1440 # ifndef YYSTACK_ALLOC_MAXIMUM
1441 /* The OS might guarantee only one guard page at the bottom of the stack,
1442 and a page size can be as small as 4096 bytes. So we cannot safely
1443 @@ -326,7 +349,7 @@ YYID (yyi)
1445 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1446 && ! ((defined YYMALLOC || defined malloc) \
1447 - && (defined YYFREE || defined free)))
1448 + && (defined YYFREE || defined free)))
1449 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1450 # ifndef EXIT_SUCCESS
1451 # define EXIT_SUCCESS 0
1452 @@ -334,15 +357,13 @@ YYID (yyi)
1455 # define YYMALLOC malloc
1456 -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1457 - || defined __cplusplus || defined _MSC_VER)
1458 +# if ! defined malloc && ! defined EXIT_SUCCESS
1459 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1463 # define YYFREE free
1464 -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1465 - || defined __cplusplus || defined _MSC_VER)
1466 +# if ! defined free && ! defined EXIT_SUCCESS
1467 void free (void *); /* INFRINGES ON USER NAME SPACE */
1470 @@ -352,8 +373,8 @@ void free (void *); /* INFRINGES ON USER
1472 #if (! defined yyoverflow \
1473 && (! defined __cplusplus \
1474 - || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1475 - && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1476 + || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1477 + && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1479 /* A type that is properly aligned for any stack member. */
1481 @@ -379,35 +400,35 @@ union yyalloc
1482 elements in the stack, and YYPTR gives the new location of the
1483 stack. Advance YYPTR to a properly aligned location for the next
1485 -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1488 - YYSIZE_T yynewbytes; \
1489 - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1490 - Stack = &yyptr->Stack_alloc; \
1491 - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1492 - yyptr += yynewbytes / sizeof (*yyptr); \
1495 +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1498 + YYSIZE_T yynewbytes; \
1499 + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1500 + Stack = &yyptr->Stack_alloc; \
1501 + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1502 + yyptr += yynewbytes / sizeof (*yyptr); \
1508 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1509 -/* Copy COUNT objects from FROM to TO. The source and destination do
1510 +/* Copy COUNT objects from SRC to DST. The source and destination do
1513 # if defined __GNUC__ && 1 < __GNUC__
1514 -# define YYCOPY(To, From, Count) \
1515 - __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1516 +# define YYCOPY(Dst, Src, Count) \
1517 + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1519 -# define YYCOPY(To, From, Count) \
1523 - for (yyi = 0; yyi < (Count); yyi++) \
1524 - (To)[yyi] = (From)[yyi]; \
1527 +# define YYCOPY(Dst, Src, Count) \
1531 + for (yyi = 0; yyi < (Count); yyi++) \
1532 + (Dst)[yyi] = (Src)[yyi]; \
1537 #endif /* !YYCOPY_NEEDED */
1538 @@ -418,37 +439,39 @@ union yyalloc
1541 /* YYNTOKENS -- Number of terminals. */
1542 -#define YYNTOKENS 48
1543 +#define YYNTOKENS 47
1544 /* YYNNTS -- Number of nonterminals. */
1547 /* YYNRULES -- Number of rules. */
1548 -#define YYNRULES 82
1549 -/* YYNRULES -- Number of states. */
1550 -#define YYNSTATES 147
1551 +#define YYNRULES 80
1552 +/* YYNSTATES -- Number of states. */
1553 +#define YYNSTATES 144
1555 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1556 +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1557 + by yylex, with out-of-bounds checking. */
1558 #define YYUNDEFTOK 2
1559 -#define YYMAXUTOK 279
1560 +#define YYMAXUTOK 278
1562 -#define YYTRANSLATE(YYX) \
1563 +#define YYTRANSLATE(YYX) \
1564 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1566 -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1567 +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1568 + as returned by yylex, without out-of-bounds checking. */
1569 static const yytype_uint8 yytranslate[] =
1571 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1574 - 2, 2, 2, 47, 2, 2, 2, 45, 41, 2,
1575 - 33, 35, 44, 42, 34, 43, 2, 26, 2, 2,
1576 - 2, 2, 2, 2, 2, 2, 2, 2, 38, 25,
1577 - 36, 29, 30, 37, 2, 2, 2, 2, 2, 2,
1578 + 2, 2, 2, 46, 2, 2, 2, 44, 40, 2,
1579 + 32, 34, 43, 41, 33, 42, 2, 25, 2, 2,
1580 + 2, 2, 2, 2, 2, 2, 2, 2, 37, 24,
1581 + 35, 28, 29, 36, 2, 2, 2, 2, 2, 2,
1582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584 - 2, 31, 2, 32, 40, 2, 2, 2, 2, 2,
1585 + 2, 30, 2, 31, 39, 2, 2, 2, 2, 2,
1586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1588 - 2, 2, 2, 27, 39, 28, 46, 2, 2, 2,
1589 + 2, 2, 2, 26, 38, 27, 45, 2, 2, 2,
1590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1593 @@ -463,335 +486,292 @@ static const yytype_uint8 yytranslate[]
1594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1595 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1596 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1597 - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
1598 + 15, 16, 17, 18, 19, 20, 21, 22, 23
1602 -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1604 -static const yytype_uint16 yyprhs[] =
1606 - 0, 0, 3, 9, 10, 13, 14, 17, 22, 25,
1607 - 28, 32, 37, 41, 46, 52, 53, 56, 61, 64,
1608 - 68, 71, 74, 78, 83, 86, 96, 102, 105, 106,
1609 - 109, 112, 116, 118, 121, 124, 127, 129, 131, 135,
1610 - 137, 139, 145, 147, 151, 153, 157, 159, 163, 165,
1611 - 169, 171, 175, 177, 181, 185, 187, 191, 195, 199,
1612 - 203, 207, 211, 213, 217, 221, 223, 227, 231, 235,
1613 - 237, 239, 242, 245, 248, 249, 252, 255, 256, 259,
1617 -/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1618 -static const yytype_int8 yyrhs[] =
1620 - 49, 0, -1, 3, 25, 50, 51, 53, -1, -1,
1621 - 4, 25, -1, -1, 52, 51, -1, 5, 60, 60,
1622 - 25, -1, 22, 52, -1, 26, 54, -1, 53, 26,
1623 - 54, -1, 53, 22, 23, 54, -1, 53, 23, 54,
1624 - -1, 53, 16, 23, 25, -1, 27, 55, 75, 28,
1625 - 25, -1, -1, 55, 56, -1, 17, 29, 57, 25,
1626 - -1, 17, 25, -1, 15, 17, 25, -1, 22, 56,
1627 - -1, 58, 21, -1, 58, 59, 30, -1, 58, 31,
1628 - 74, 32, -1, 58, 23, -1, 58, 24, 33, 21,
1629 - 34, 60, 34, 60, 35, -1, 58, 24, 33, 21,
1630 - 35, -1, 57, 22, -1, -1, 57, 34, -1, 58,
1631 - 22, -1, 14, 18, 36, -1, 36, -1, 59, 60,
1632 - -1, 59, 23, -1, 59, 22, -1, 18, -1, 19,
1633 - -1, 33, 61, 35, -1, 62, -1, 63, -1, 63,
1634 - 37, 61, 38, 62, -1, 64, -1, 63, 13, 64,
1635 - -1, 65, -1, 64, 12, 65, -1, 66, -1, 65,
1636 - 39, 66, -1, 67, -1, 66, 40, 67, -1, 68,
1637 - -1, 67, 41, 68, -1, 69, -1, 68, 10, 69,
1638 - -1, 68, 11, 69, -1, 70, -1, 69, 36, 70,
1639 - -1, 69, 30, 70, -1, 69, 8, 70, -1, 69,
1640 - 9, 70, -1, 70, 6, 71, -1, 70, 7, 71,
1641 - -1, 71, -1, 71, 42, 72, -1, 71, 43, 72,
1642 - -1, 72, -1, 72, 44, 73, -1, 72, 26, 73,
1643 - -1, 72, 45, 73, -1, 73, -1, 60, -1, 43,
1644 - 73, -1, 46, 73, -1, 47, 73, -1, -1, 74,
1645 - 20, -1, 74, 22, -1, -1, 76, 75, -1, 76,
1646 - 56, -1, 17, 54, -1, 16, 17, 25, -1, 22,
1650 -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1651 + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1652 static const yytype_uint16 yyrline[] =
1654 - 0, 108, 108, 119, 122, 130, 133, 140, 144, 152,
1655 - 156, 161, 172, 182, 197, 205, 208, 215, 219, 223,
1656 - 227, 235, 239, 243, 247, 251, 267, 277, 285, 288,
1657 - 292, 299, 315, 320, 339, 353, 360, 361, 362, 369,
1658 - 373, 374, 378, 379, 383, 384, 388, 389, 393, 394,
1659 - 398, 399, 403, 404, 405, 409, 410, 411, 412, 413,
1660 - 417, 418, 419, 423, 424, 425, 429, 430, 431, 432,
1661 - 436, 437, 438, 439, 444, 447, 451, 459, 462, 466,
1663 + 0, 104, 104, 113, 116, 123, 127, 135, 139, 144,
1664 + 155, 165, 180, 188, 191, 198, 202, 206, 210, 218,
1665 + 222, 226, 230, 234, 250, 260, 268, 271, 275, 282,
1666 + 298, 303, 322, 336, 343, 344, 345, 352, 356, 357,
1667 + 361, 362, 366, 367, 371, 372, 376, 377, 381, 382,
1668 + 386, 387, 388, 392, 393, 394, 395, 396, 400, 401,
1669 + 402, 406, 407, 408, 412, 413, 414, 415, 419, 420,
1670 + 421, 422, 427, 430, 434, 442, 445, 449, 457, 461,
1675 -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1676 +#if YYDEBUG || YYERROR_VERBOSE || 0
1677 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1678 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1679 static const char *const yytname[] =
1681 - "$end", "error", "$undefined", "DT_V1", "DT_PLUGIN", "DT_MEMRESERVE",
1682 - "DT_LSHIFT", "DT_RSHIFT", "DT_LE", "DT_GE", "DT_EQ", "DT_NE", "DT_AND",
1683 - "DT_OR", "DT_BITS", "DT_DEL_PROP", "DT_DEL_NODE", "DT_PROPNODENAME",
1684 - "DT_LITERAL", "DT_CHAR_LITERAL", "DT_BYTE", "DT_STRING", "DT_LABEL",
1685 - "DT_REF", "DT_INCBIN", "';'", "'/'", "'{'", "'}'", "'='", "'>'", "'['",
1686 - "']'", "'('", "','", "')'", "'<'", "'?'", "':'", "'|'", "'^'", "'&'",
1687 - "'+'", "'-'", "'*'", "'%'", "'~'", "'!'", "$accept", "sourcefile",
1688 - "plugindecl", "memreserves", "memreserve", "devicetree", "nodedef",
1689 - "proplist", "propdef", "propdata", "propdataprefix", "arrayprefix",
1690 - "integer_prim", "integer_expr", "integer_trinary", "integer_or",
1691 - "integer_and", "integer_bitor", "integer_bitxor", "integer_bitand",
1692 - "integer_eq", "integer_rela", "integer_shift", "integer_add",
1693 - "integer_mul", "integer_unary", "bytestring", "subnodes", "subnode", 0
1694 + "$end", "error", "$undefined", "DT_V1", "DT_MEMRESERVE", "DT_LSHIFT",
1695 + "DT_RSHIFT", "DT_LE", "DT_GE", "DT_EQ", "DT_NE", "DT_AND", "DT_OR",
1696 + "DT_BITS", "DT_DEL_PROP", "DT_DEL_NODE", "DT_PROPNODENAME", "DT_LITERAL",
1697 + "DT_CHAR_LITERAL", "DT_BYTE", "DT_STRING", "DT_LABEL", "DT_REF",
1698 + "DT_INCBIN", "';'", "'/'", "'{'", "'}'", "'='", "'>'", "'['", "']'",
1699 + "'('", "','", "')'", "'<'", "'?'", "':'", "'|'", "'^'", "'&'", "'+'",
1700 + "'-'", "'*'", "'%'", "'~'", "'!'", "$accept", "sourcefile",
1701 + "memreserves", "memreserve", "devicetree", "nodedef", "proplist",
1702 + "propdef", "propdata", "propdataprefix", "arrayprefix", "integer_prim",
1703 + "integer_expr", "integer_trinary", "integer_or", "integer_and",
1704 + "integer_bitor", "integer_bitxor", "integer_bitand", "integer_eq",
1705 + "integer_rela", "integer_shift", "integer_add", "integer_mul",
1706 + "integer_unary", "bytestring", "subnodes", "subnode", YY_NULLPTR
1711 -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1712 - token YYLEX-NUM. */
1713 +/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1714 + (internal) symbol number NUM (which must be that of a token). */
1715 static const yytype_uint16 yytoknum[] =
1717 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1718 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1719 - 275, 276, 277, 278, 279, 59, 47, 123, 125, 61,
1720 - 62, 91, 93, 40, 44, 41, 60, 63, 58, 124,
1721 - 94, 38, 43, 45, 42, 37, 126, 33
1722 + 275, 276, 277, 278, 59, 47, 123, 125, 61, 62,
1723 + 91, 93, 40, 44, 41, 60, 63, 58, 124, 94,
1724 + 38, 43, 45, 42, 37, 126, 33
1728 -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1729 -static const yytype_uint8 yyr1[] =
1731 - 0, 48, 49, 50, 50, 51, 51, 52, 52, 53,
1732 - 53, 53, 53, 53, 54, 55, 55, 56, 56, 56,
1733 - 56, 57, 57, 57, 57, 57, 57, 57, 58, 58,
1734 - 58, 59, 59, 59, 59, 59, 60, 60, 60, 61,
1735 - 62, 62, 63, 63, 64, 64, 65, 65, 66, 66,
1736 - 67, 67, 68, 68, 68, 69, 69, 69, 69, 69,
1737 - 70, 70, 70, 71, 71, 71, 72, 72, 72, 72,
1738 - 73, 73, 73, 73, 74, 74, 74, 75, 75, 75,
1741 +#define YYPACT_NINF -81
1743 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1744 -static const yytype_uint8 yyr2[] =
1745 +#define yypact_value_is_default(Yystate) \
1746 + (!!((Yystate) == (-81)))
1748 +#define YYTABLE_NINF -1
1750 +#define yytable_value_is_error(Yytable_value) \
1753 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1755 +static const yytype_int8 yypact[] =
1757 - 0, 2, 5, 0, 2, 0, 2, 4, 2, 2,
1758 - 3, 4, 3, 4, 5, 0, 2, 4, 2, 3,
1759 - 2, 2, 3, 4, 2, 9, 5, 2, 0, 2,
1760 - 2, 3, 1, 2, 2, 2, 1, 1, 3, 1,
1761 - 1, 5, 1, 3, 1, 3, 1, 3, 1, 3,
1762 - 1, 3, 1, 3, 3, 1, 3, 3, 3, 3,
1763 - 3, 3, 1, 3, 3, 1, 3, 3, 3, 1,
1764 - 1, 2, 2, 2, 0, 2, 2, 0, 2, 2,
1766 + 16, -11, 21, 10, -81, 25, 10, 19, 10, -81,
1767 + -81, -9, 25, -81, 2, 51, -81, -9, -9, -9,
1768 + -81, 1, -81, -6, 50, 14, 28, 29, 36, 3,
1769 + 58, 44, -3, -81, 47, -81, -81, 65, 68, 2,
1770 + 2, -81, -81, -81, -81, -9, -9, -9, -9, -9,
1771 + -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
1772 + -9, -9, -9, -9, -81, 63, 69, 2, -81, -81,
1773 + 50, 57, 14, 28, 29, 36, 3, 3, 58, 58,
1774 + 58, 58, 44, 44, -3, -3, -81, -81, -81, 79,
1775 + 80, -8, 63, -81, 72, 63, -81, -81, -9, 76,
1776 + 77, -81, -81, -81, -81, -81, 78, -81, -81, -81,
1777 + -81, -81, 35, 4, -81, -81, -81, -81, 86, -81,
1778 + -81, -81, 73, -81, -81, 33, 71, 84, 39, -81,
1779 + -81, -81, -81, -81, 41, -81, -81, -81, 25, -81,
1783 -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1784 - Performed when YYTABLE doesn't specify something else to do. Zero
1785 - means the default is an error. */
1786 + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1787 + Performed when YYTABLE does not specify something else to do. Zero
1788 + means the default is an error. */
1789 static const yytype_uint8 yydefact[] =
1791 - 0, 0, 0, 3, 1, 0, 5, 4, 0, 0,
1792 - 0, 5, 36, 37, 0, 0, 8, 0, 2, 6,
1793 - 0, 0, 0, 70, 0, 39, 40, 42, 44, 46,
1794 - 48, 50, 52, 55, 62, 65, 69, 0, 15, 9,
1795 - 0, 0, 0, 0, 71, 72, 73, 38, 0, 0,
1796 + 0, 0, 0, 3, 1, 0, 0, 0, 3, 34,
1797 + 35, 0, 0, 6, 0, 2, 4, 0, 0, 0,
1798 + 68, 0, 37, 38, 40, 42, 44, 46, 48, 50,
1799 + 53, 60, 63, 67, 0, 13, 7, 0, 0, 0,
1800 + 0, 69, 70, 71, 36, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 - 0, 0, 0, 0, 0, 0, 0, 7, 77, 0,
1803 - 0, 12, 10, 43, 0, 45, 47, 49, 51, 53,
1804 - 54, 58, 59, 57, 56, 60, 61, 63, 64, 67,
1805 - 66, 68, 0, 0, 0, 0, 16, 0, 77, 13,
1806 - 11, 0, 0, 0, 18, 28, 80, 20, 82, 0,
1807 - 79, 78, 41, 19, 81, 0, 0, 14, 27, 17,
1808 - 29, 0, 21, 30, 24, 0, 74, 32, 0, 0,
1809 - 0, 0, 35, 34, 22, 33, 31, 0, 75, 76,
1810 - 23, 0, 26, 0, 0, 0, 25
1811 + 0, 0, 0, 0, 5, 75, 0, 0, 10, 8,
1812 + 41, 0, 43, 45, 47, 49, 51, 52, 56, 57,
1813 + 55, 54, 58, 59, 61, 62, 65, 64, 66, 0,
1814 + 0, 0, 0, 14, 0, 75, 11, 9, 0, 0,
1815 + 0, 16, 26, 78, 18, 80, 0, 77, 76, 39,
1816 + 17, 79, 0, 0, 12, 25, 15, 27, 0, 19,
1817 + 28, 22, 0, 72, 30, 0, 0, 0, 0, 33,
1818 + 32, 20, 31, 29, 0, 73, 74, 21, 0, 24,
1822 -/* YYDEFGOTO[NTERM-NUM]. */
1823 -static const yytype_int16 yydefgoto[] =
1824 + /* YYPGOTO[NTERM-NUM]. */
1825 +static const yytype_int8 yypgoto[] =
1827 - -1, 2, 6, 10, 11, 18, 39, 68, 96, 115,
1828 - 116, 128, 23, 24, 25, 26, 27, 28, 29, 30,
1829 - 31, 32, 33, 34, 35, 36, 131, 97, 98
1830 + -81, -81, 100, 104, -81, -38, -81, -80, -81, -81,
1831 + -81, -5, 66, 13, -81, 70, 67, 81, 64, 82,
1832 + 37, 27, 34, 38, -14, -81, 22, 24
1835 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1837 -#define YYPACT_NINF -84
1838 -static const yytype_int8 yypact[] =
1839 + /* YYDEFGOTO[NTERM-NUM]. */
1840 +static const yytype_int16 yydefgoto[] =
1842 - 15, -12, 35, 42, -84, 27, 9, -84, 24, 9,
1843 - 43, 9, -84, -84, -10, 24, -84, 60, 44, -84,
1844 - -10, -10, -10, -84, 55, -84, -7, 52, 53, 51,
1845 - 54, 10, 2, 38, 37, -4, -84, 68, -84, -84,
1846 - 71, 73, 60, 60, -84, -84, -84, -84, -10, -10,
1847 - -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
1848 - -10, -10, -10, -10, -10, -10, -10, -84, 56, 72,
1849 - 60, -84, -84, 52, 61, 53, 51, 54, 10, 2,
1850 - 2, 38, 38, 38, 38, 37, 37, -4, -4, -84,
1851 - -84, -84, 81, 83, 34, 56, -84, 74, 56, -84,
1852 - -84, -10, 76, 78, -84, -84, -84, -84, -84, 79,
1853 - -84, -84, -84, -84, -84, -6, 3, -84, -84, -84,
1854 - -84, 87, -84, -84, -84, 75, -84, -84, 32, 70,
1855 - 86, 36, -84, -84, -84, -84, -84, 47, -84, -84,
1856 - -84, 24, -84, 77, 24, 80, -84
1857 + -1, 2, 7, 8, 15, 36, 65, 93, 112, 113,
1858 + 125, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1859 + 29, 30, 31, 32, 33, 128, 94, 95
1862 -/* YYPGOTO[NTERM-NUM]. */
1863 -static const yytype_int8 yypgoto[] =
1864 + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1865 + positive, shift that token. If negative, reduce the rule whose
1866 + number is the opposite. If YYTABLE_NINF, syntax error. */
1867 +static const yytype_uint8 yytable[] =
1869 - -84, -84, -84, 98, 101, -84, -41, -84, -83, -84,
1870 - -84, -84, -8, 63, 12, -84, 66, 67, 65, 69,
1871 - 82, 29, 18, 25, 26, -17, -84, 20, 28
1872 + 12, 68, 69, 41, 42, 43, 45, 34, 9, 10,
1873 + 53, 54, 104, 3, 5, 107, 101, 118, 35, 1,
1874 + 102, 4, 61, 11, 119, 120, 121, 122, 35, 97,
1875 + 46, 6, 55, 17, 123, 44, 18, 19, 56, 124,
1876 + 62, 63, 9, 10, 14, 51, 52, 86, 87, 88,
1877 + 9, 10, 48, 103, 129, 130, 115, 11, 135, 116,
1878 + 136, 47, 131, 57, 58, 11, 37, 49, 117, 50,
1879 + 137, 64, 38, 39, 138, 139, 40, 89, 90, 91,
1880 + 78, 79, 80, 81, 92, 59, 60, 66, 76, 77,
1881 + 67, 82, 83, 96, 98, 99, 100, 84, 85, 106,
1882 + 110, 111, 114, 126, 134, 127, 133, 141, 16, 143,
1883 + 13, 109, 71, 74, 72, 70, 105, 108, 0, 0,
1884 + 132, 0, 0, 0, 0, 0, 0, 0, 0, 73,
1885 + 0, 0, 75, 140, 0, 0, 142
1888 -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1889 - positive, shift that token. If negative, reduce the rule which
1890 - number is the opposite. If YYTABLE_NINF, syntax error. */
1891 -#define YYTABLE_NINF -1
1892 -static const yytype_uint8 yytable[] =
1893 +static const yytype_int16 yycheck[] =
1895 - 15, 71, 72, 44, 45, 46, 48, 37, 12, 13,
1896 - 56, 57, 107, 3, 8, 110, 118, 121, 1, 119,
1897 - 54, 55, 64, 14, 122, 123, 124, 125, 120, 100,
1898 - 49, 9, 58, 20, 126, 4, 21, 22, 59, 127,
1899 - 65, 66, 12, 13, 60, 61, 5, 89, 90, 91,
1900 - 12, 13, 7, 106, 132, 133, 138, 14, 139, 104,
1901 - 40, 38, 134, 105, 50, 14, 41, 42, 140, 17,
1902 - 43, 92, 93, 94, 81, 82, 83, 84, 95, 62,
1903 - 63, 141, 142, 79, 80, 85, 86, 38, 87, 88,
1904 - 47, 52, 51, 67, 69, 53, 70, 99, 102, 101,
1905 - 103, 113, 109, 114, 117, 129, 136, 137, 130, 19,
1906 - 16, 144, 74, 112, 73, 146, 76, 75, 111, 0,
1907 - 135, 77, 0, 108, 0, 0, 0, 0, 0, 0,
1908 - 0, 0, 0, 143, 0, 78, 145
1909 + 5, 39, 40, 17, 18, 19, 12, 12, 17, 18,
1910 + 7, 8, 92, 24, 4, 95, 24, 13, 26, 3,
1911 + 28, 0, 25, 32, 20, 21, 22, 23, 26, 67,
1912 + 36, 21, 29, 42, 30, 34, 45, 46, 35, 35,
1913 + 43, 44, 17, 18, 25, 9, 10, 61, 62, 63,
1914 + 17, 18, 38, 91, 21, 22, 21, 32, 19, 24,
1915 + 21, 11, 29, 5, 6, 32, 15, 39, 33, 40,
1916 + 31, 24, 21, 22, 33, 34, 25, 14, 15, 16,
1917 + 53, 54, 55, 56, 21, 41, 42, 22, 51, 52,
1918 + 22, 57, 58, 24, 37, 16, 16, 59, 60, 27,
1919 + 24, 24, 24, 17, 20, 32, 35, 33, 8, 34,
1920 + 6, 98, 46, 49, 47, 45, 92, 95, -1, -1,
1921 + 125, -1, -1, -1, -1, -1, -1, -1, -1, 48,
1922 + -1, -1, 50, 138, -1, -1, 141
1925 -#define yypact_value_is_default(yystate) \
1926 - ((yystate) == (-84))
1928 -#define yytable_value_is_error(yytable_value) \
1930 + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1931 + symbol of state STATE-NUM. */
1932 +static const yytype_uint8 yystos[] =
1934 + 0, 3, 48, 24, 0, 4, 21, 49, 50, 17,
1935 + 18, 32, 58, 50, 25, 51, 49, 42, 45, 46,
1936 + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1937 + 68, 69, 70, 71, 58, 26, 52, 15, 21, 22,
1938 + 25, 71, 71, 71, 34, 12, 36, 11, 38, 39,
1939 + 40, 9, 10, 7, 8, 29, 35, 5, 6, 41,
1940 + 42, 25, 43, 44, 24, 53, 22, 22, 52, 52,
1941 + 62, 59, 63, 64, 65, 66, 67, 67, 68, 68,
1942 + 68, 68, 69, 69, 70, 70, 71, 71, 71, 14,
1943 + 15, 16, 21, 54, 73, 74, 24, 52, 37, 16,
1944 + 16, 24, 28, 52, 54, 74, 27, 54, 73, 60,
1945 + 24, 24, 55, 56, 24, 21, 24, 33, 13, 20,
1946 + 21, 22, 23, 30, 35, 57, 17, 32, 72, 21,
1947 + 22, 29, 58, 35, 20, 19, 21, 31, 33, 34,
1951 -static const yytype_int16 yycheck[] =
1952 + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1953 +static const yytype_uint8 yyr1[] =
1955 - 8, 42, 43, 20, 21, 22, 13, 15, 18, 19,
1956 - 8, 9, 95, 25, 5, 98, 22, 14, 3, 25,
1957 - 10, 11, 26, 33, 21, 22, 23, 24, 34, 70,
1958 - 37, 22, 30, 43, 31, 0, 46, 47, 36, 36,
1959 - 44, 45, 18, 19, 6, 7, 4, 64, 65, 66,
1960 - 18, 19, 25, 94, 22, 23, 20, 33, 22, 25,
1961 - 16, 27, 30, 29, 12, 33, 22, 23, 32, 26,
1962 - 26, 15, 16, 17, 56, 57, 58, 59, 22, 42,
1963 - 43, 34, 35, 54, 55, 60, 61, 27, 62, 63,
1964 - 35, 40, 39, 25, 23, 41, 23, 25, 17, 38,
1965 - 17, 25, 28, 25, 25, 18, 36, 21, 33, 11,
1966 - 9, 34, 49, 101, 48, 35, 51, 50, 98, -1,
1967 - 128, 52, -1, 95, -1, -1, -1, -1, -1, -1,
1968 - -1, -1, -1, 141, -1, 53, 144
1969 + 0, 47, 48, 49, 49, 50, 50, 51, 51, 51,
1970 + 51, 51, 52, 53, 53, 54, 54, 54, 54, 55,
1971 + 55, 55, 55, 55, 55, 55, 56, 56, 56, 57,
1972 + 57, 57, 57, 57, 58, 58, 58, 59, 60, 60,
1973 + 61, 61, 62, 62, 63, 63, 64, 64, 65, 65,
1974 + 66, 66, 66, 67, 67, 67, 67, 67, 68, 68,
1975 + 68, 69, 69, 69, 70, 70, 70, 70, 71, 71,
1976 + 71, 71, 72, 72, 72, 73, 73, 73, 74, 74,
1980 -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1981 - symbol of state STATE-NUM. */
1982 -static const yytype_uint8 yystos[] =
1983 + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1984 +static const yytype_uint8 yyr2[] =
1986 - 0, 3, 49, 25, 0, 4, 50, 25, 5, 22,
1987 - 51, 52, 18, 19, 33, 60, 52, 26, 53, 51,
1988 - 43, 46, 47, 60, 61, 62, 63, 64, 65, 66,
1989 - 67, 68, 69, 70, 71, 72, 73, 60, 27, 54,
1990 - 16, 22, 23, 26, 73, 73, 73, 35, 13, 37,
1991 - 12, 39, 40, 41, 10, 11, 8, 9, 30, 36,
1992 - 6, 7, 42, 43, 26, 44, 45, 25, 55, 23,
1993 - 23, 54, 54, 64, 61, 65, 66, 67, 68, 69,
1994 - 69, 70, 70, 70, 70, 71, 71, 72, 72, 73,
1995 - 73, 73, 15, 16, 17, 22, 56, 75, 76, 25,
1996 - 54, 38, 17, 17, 25, 29, 54, 56, 76, 28,
1997 - 56, 75, 62, 25, 25, 57, 58, 25, 22, 25,
1998 - 34, 14, 21, 22, 23, 24, 31, 36, 59, 18,
1999 - 33, 74, 22, 23, 30, 60, 36, 21, 20, 22,
2000 - 32, 34, 35, 60, 34, 60, 35
2001 + 0, 2, 4, 0, 2, 4, 2, 2, 3, 4,
2002 + 3, 4, 5, 0, 2, 4, 2, 3, 2, 2,
2003 + 3, 4, 2, 9, 5, 2, 0, 2, 2, 3,
2004 + 1, 2, 2, 2, 1, 1, 3, 1, 1, 5,
2005 + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
2006 + 1, 3, 3, 1, 3, 3, 3, 3, 3, 3,
2007 + 1, 3, 3, 1, 3, 3, 3, 1, 1, 2,
2008 + 2, 2, 0, 2, 2, 0, 2, 2, 2, 3,
2012 -#define yyerrok (yyerrstatus = 0)
2013 -#define yyclearin (yychar = YYEMPTY)
2014 -#define YYEMPTY (-2)
2017 -#define YYACCEPT goto yyacceptlab
2018 -#define YYABORT goto yyabortlab
2019 -#define YYERROR goto yyerrorlab
2022 -/* Like YYERROR except do call yyerror. This remains here temporarily
2023 - to ease the transition to the new meaning of YYERROR, for GCC.
2024 - Once GCC version 2 has supplanted version 1, this can go. However,
2025 - YYFAIL appears to be in use. Nevertheless, it is formally deprecated
2026 - in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2029 -#define YYFAIL goto yyerrlab
2031 - /* This is here to suppress warnings from the GCC cpp's
2032 - -Wunused-macros. Normally we don't worry about that warning, but
2033 - some users do, and we want to make it easy for users to remove
2034 - YYFAIL uses, which will produce warnings from Bison 2.5. */
2037 -#define YYRECOVERING() (!!yyerrstatus)
2038 +#define yyerrok (yyerrstatus = 0)
2039 +#define yyclearin (yychar = YYEMPTY)
2040 +#define YYEMPTY (-2)
2043 +#define YYACCEPT goto yyacceptlab
2044 +#define YYABORT goto yyabortlab
2045 +#define YYERROR goto yyerrorlab
2047 -#define YYBACKUP(Token, Value) \
2049 - if (yychar == YYEMPTY && yylen == 1) \
2051 - yychar = (Token); \
2052 - yylval = (Value); \
2058 - yyerror (YY_("syntax error: cannot back up")); \
2063 +#define YYRECOVERING() (!!yyerrstatus)
2066 -#define YYERRCODE 256
2067 +#define YYBACKUP(Token, Value) \
2069 + if (yychar == YYEMPTY) \
2071 + yychar = (Token); \
2072 + yylval = (Value); \
2073 + YYPOPSTACK (yylen); \
2074 + yystate = *yyssp; \
2079 + yyerror (YY_("syntax error: cannot back up")); \
2084 +/* Error token number */
2086 +#define YYERRCODE 256
2089 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2090 If N is 0, then set CURRENT to the empty location which ends
2091 the previous symbol: RHS[0] (always defined). */
2093 -#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2094 #ifndef YYLLOC_DEFAULT
2095 -# define YYLLOC_DEFAULT(Current, Rhs, N) \
2099 - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2100 - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2101 - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2102 - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2106 - (Current).first_line = (Current).last_line = \
2107 - YYRHSLOC (Rhs, 0).last_line; \
2108 - (Current).first_column = (Current).last_column = \
2109 - YYRHSLOC (Rhs, 0).last_column; \
2112 +# define YYLLOC_DEFAULT(Current, Rhs, N) \
2116 + (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2117 + (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2118 + (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2119 + (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2123 + (Current).first_line = (Current).last_line = \
2124 + YYRHSLOC (Rhs, 0).last_line; \
2125 + (Current).first_column = (Current).last_column = \
2126 + YYRHSLOC (Rhs, 0).last_column; \
2131 +#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2134 +/* Enable debugging if requested. */
2138 +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2139 +# define YYFPRINTF fprintf
2142 +# define YYDPRINTF(Args) \
2149 /* YY_LOCATION_PRINT -- Print the location on the stream.
2150 This macro was not mandated originally: define only if we know
2151 @@ -799,82 +779,73 @@ while (YYID (0))
2153 #ifndef YY_LOCATION_PRINT
2154 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2155 -# define YY_LOCATION_PRINT(File, Loc) \
2156 - fprintf (File, "%d.%d-%d.%d", \
2157 - (Loc).first_line, (Loc).first_column, \
2158 - (Loc).last_line, (Loc).last_column)
2160 -# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2165 -/* YYLEX -- calling `yylex' with the right arguments. */
2166 +/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
2169 -# define YYLEX yylex (YYLEX_PARAM)
2171 -# define YYLEX yylex ()
2173 +YY_ATTRIBUTE_UNUSED
2175 +yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
2178 + int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
2179 + if (0 <= yylocp->first_line)
2181 + res += YYFPRINTF (yyo, "%d", yylocp->first_line);
2182 + if (0 <= yylocp->first_column)
2183 + res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
2185 + if (0 <= yylocp->last_line)
2187 + if (yylocp->first_line < yylocp->last_line)
2189 + res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
2191 + res += YYFPRINTF (yyo, ".%d", end_col);
2193 + else if (0 <= end_col && yylocp->first_column < end_col)
2194 + res += YYFPRINTF (yyo, "-%d", end_col);
2199 -/* Enable debugging if requested. */
2201 +# define YY_LOCATION_PRINT(File, Loc) \
2202 + yy_location_print_ (File, &(Loc))
2205 -# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2206 -# define YYFPRINTF fprintf
2208 +# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2212 -# define YYDPRINTF(Args) \
2218 -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2222 - YYFPRINTF (stderr, "%s ", Title); \
2223 - yy_symbol_print (stderr, \
2224 - Type, Value, Location); \
2225 - YYFPRINTF (stderr, "\n"); \
2229 +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2233 + YYFPRINTF (stderr, "%s ", Title); \
2234 + yy_symbol_print (stderr, \
2235 + Type, Value, Location); \
2236 + YYFPRINTF (stderr, "\n"); \
2240 -/*--------------------------------.
2241 -| Print this symbol on YYOUTPUT. |
2242 -`--------------------------------*/
2245 -#if (defined __STDC__ || defined __C99__FUNC__ \
2246 - || defined __cplusplus || defined _MSC_VER)
2247 +/*----------------------------------------.
2248 +| Print this symbol's value on YYOUTPUT. |
2249 +`----------------------------------------*/
2252 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
2255 -yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
2258 - YYSTYPE const * const yyvaluep;
2259 - YYLTYPE const * const yylocationp;
2262 + FILE *yyo = yyoutput;
2264 + YYUSE (yylocationp);
2267 - YYUSE (yylocationp);
2269 if (yytype < YYNTOKENS)
2270 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2283 @@ -882,23 +853,11 @@ yy_symbol_value_print (yyoutput, yytype,
2284 | Print this symbol on YYOUTPUT. |
2285 `--------------------------------*/
2287 -#if (defined __STDC__ || defined __C99__FUNC__ \
2288 - || defined __cplusplus || defined _MSC_VER)
2290 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
2293 -yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
2296 - YYSTYPE const * const yyvaluep;
2297 - YYLTYPE const * const yylocationp;
2300 - if (yytype < YYNTOKENS)
2301 - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2303 - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2304 + YYFPRINTF (yyoutput, "%s %s (",
2305 + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2307 YY_LOCATION_PRINT (yyoutput, *yylocationp);
2308 YYFPRINTF (yyoutput, ": ");
2309 @@ -911,16 +870,8 @@ yy_symbol_print (yyoutput, yytype, yyval
2311 `------------------------------------------------------------------*/
2313 -#if (defined __STDC__ || defined __C99__FUNC__ \
2314 - || defined __cplusplus || defined _MSC_VER)
2316 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2319 -yy_stack_print (yybottom, yytop)
2320 - yytype_int16 *yybottom;
2321 - yytype_int16 *yytop;
2324 YYFPRINTF (stderr, "Stack now");
2325 for (; yybottom <= yytop; yybottom++)
2326 @@ -931,50 +882,42 @@ yy_stack_print (yybottom, yytop)
2327 YYFPRINTF (stderr, "\n");
2330 -# define YY_STACK_PRINT(Bottom, Top) \
2333 - yy_stack_print ((Bottom), (Top)); \
2335 +# define YY_STACK_PRINT(Bottom, Top) \
2338 + yy_stack_print ((Bottom), (Top)); \
2342 /*------------------------------------------------.
2343 | Report that the YYRULE is going to be reduced. |
2344 `------------------------------------------------*/
2346 -#if (defined __STDC__ || defined __C99__FUNC__ \
2347 - || defined __cplusplus || defined _MSC_VER)
2349 -yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
2352 -yy_reduce_print (yyvsp, yylsp, yyrule)
2357 +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
2359 + unsigned long int yylno = yyrline[yyrule];
2360 int yynrhs = yyr2[yyrule];
2362 - unsigned long int yylno = yyrline[yyrule];
2363 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2364 - yyrule - 1, yylno);
2365 + yyrule - 1, yylno);
2366 /* The symbols being reduced. */
2367 for (yyi = 0; yyi < yynrhs; yyi++)
2369 YYFPRINTF (stderr, " $%d = ", yyi + 1);
2370 - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2371 - &(yyvsp[(yyi + 1) - (yynrhs)])
2372 - , &(yylsp[(yyi + 1) - (yynrhs)]) );
2373 + yy_symbol_print (stderr,
2374 + yystos[yyssp[yyi + 1 - yynrhs]],
2375 + &(yyvsp[(yyi + 1) - (yynrhs)])
2376 + , &(yylsp[(yyi + 1) - (yynrhs)]) );
2377 YYFPRINTF (stderr, "\n");
2381 -# define YY_REDUCE_PRINT(Rule) \
2384 - yy_reduce_print (yyvsp, yylsp, Rule); \
2386 +# define YY_REDUCE_PRINT(Rule) \
2389 + yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
2392 /* Nonzero means print parse trace. It is left uninitialized so that
2393 multiple parsers can coexist. */
2394 @@ -988,7 +931,7 @@ int yydebug;
2397 /* YYINITDEPTH -- initial size of the parser's stacks. */
2398 -#ifndef YYINITDEPTH
2399 +#ifndef YYINITDEPTH
2400 # define YYINITDEPTH 200
2403 @@ -1011,15 +954,8 @@ int yydebug;
2404 # define yystrlen strlen
2406 /* Return the length of YYSTR. */
2407 -#if (defined __STDC__ || defined __C99__FUNC__ \
2408 - || defined __cplusplus || defined _MSC_VER)
2410 yystrlen (const char *yystr)
2414 - const char *yystr;
2418 for (yylen = 0; yystr[yylen]; yylen++)
2419 @@ -1035,16 +971,8 @@ yystrlen (yystr)
2421 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2423 -#if (defined __STDC__ || defined __C99__FUNC__ \
2424 - || defined __cplusplus || defined _MSC_VER)
2426 yystpcpy (char *yydest, const char *yysrc)
2429 -yystpcpy (yydest, yysrc)
2431 - const char *yysrc;
2435 const char *yys = yysrc;
2436 @@ -1074,27 +1002,27 @@ yytnamerr (char *yyres, const char *yyst
2437 char const *yyp = yystr;
2444 - goto do_not_strip_quotes;
2447 - if (*++yyp != '\\')
2448 - goto do_not_strip_quotes;
2449 - /* Fall through. */
2452 - yyres[yyn] = *yyp;
2458 - yyres[yyn] = '\0';
2465 + goto do_not_strip_quotes;
2468 + if (*++yyp != '\\')
2469 + goto do_not_strip_quotes;
2470 + /* Fall through. */
2473 + yyres[yyn] = *yyp;
2479 + yyres[yyn] = '\0';
2482 do_not_strip_quotes: ;
2485 @@ -1117,12 +1045,11 @@ static int
2486 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2487 yytype_int16 *yyssp, int yytoken)
2489 - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2490 + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2491 YYSIZE_T yysize = yysize0;
2493 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2494 /* Internationalized format string. */
2495 - const char *yyformat = 0;
2496 + const char *yyformat = YY_NULLPTR;
2497 /* Arguments of yyformat. */
2498 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2499 /* Number of reported tokens (one for the "unexpected", one per
2500 @@ -1130,10 +1057,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2503 /* There are many possibilities here to consider:
2504 - - Assume YYFAIL is not used. It's too flawed to consider. See
2505 - <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2506 - for details. YYERROR is fine as it does not invoke this
2508 - If this state is a consistent state with a default action, then
2509 the only way this function was invoked is if the default action
2510 is an error action. In that case, don't check for expected
2511 @@ -1182,11 +1105,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2514 yyarg[yycount++] = yytname[yyx];
2515 - yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2516 - if (! (yysize <= yysize1
2517 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2521 + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2522 + if (! (yysize <= yysize1
2523 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2530 @@ -1206,10 +1131,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2534 - yysize1 = yysize + yystrlen (yyformat);
2535 - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2539 + YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
2540 + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2545 if (*yymsg_alloc < yysize)
2547 @@ -1246,50 +1173,21 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2548 | Release the memory associated to this symbol. |
2549 `-----------------------------------------------*/
2552 -#if (defined __STDC__ || defined __C99__FUNC__ \
2553 - || defined __cplusplus || defined _MSC_VER)
2555 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
2558 -yydestruct (yymsg, yytype, yyvaluep, yylocationp)
2559 - const char *yymsg;
2561 - YYSTYPE *yyvaluep;
2562 - YYLTYPE *yylocationp;
2566 YYUSE (yylocationp);
2570 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2578 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2580 + YY_IGNORE_MAYBE_UNINITIALIZED_END
2584 -/* Prevent warnings from -Wmissing-prototypes. */
2585 -#ifdef YYPARSE_PARAM
2586 -#if defined __STDC__ || defined __cplusplus
2587 -int yyparse (void *YYPARSE_PARAM);
2591 -#else /* ! YYPARSE_PARAM */
2592 -#if defined __STDC__ || defined __cplusplus
2593 -int yyparse (void);
2597 -#endif /* ! YYPARSE_PARAM */
2600 /* The lookahead symbol. */
2601 @@ -1297,10 +1195,12 @@ int yychar;
2603 /* The semantic value of the lookahead symbol. */
2606 /* Location data for the lookahead symbol. */
2610 +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2614 /* Number of syntax errors so far. */
2617 @@ -1309,38 +1209,19 @@ int yynerrs;
2621 -#ifdef YYPARSE_PARAM
2622 -#if (defined __STDC__ || defined __C99__FUNC__ \
2623 - || defined __cplusplus || defined _MSC_VER)
2625 -yyparse (void *YYPARSE_PARAM)
2628 -yyparse (YYPARSE_PARAM)
2629 - void *YYPARSE_PARAM;
2631 -#else /* ! YYPARSE_PARAM */
2632 -#if (defined __STDC__ || defined __C99__FUNC__ \
2633 - || defined __cplusplus || defined _MSC_VER)
2644 /* Number of tokens to shift before error messages enabled. */
2647 /* The stacks and their tools:
2648 - `yyss': related to states.
2649 - `yyvs': related to semantic values.
2650 - `yyls': related to locations.
2651 + 'yyss': related to states.
2652 + 'yyvs': related to semantic values.
2653 + 'yyls': related to locations.
2655 - Refer to the stacks thru separate pointers, to allow yyoverflow
2656 + Refer to the stacks through separate pointers, to allow yyoverflow
2657 to reallocate them elsewhere. */
2659 /* The state stack. */
2660 @@ -1366,7 +1247,7 @@ yyparse ()
2663 /* Lookahead token as an internal (translated) token number. */
2666 /* The variables used to return semantic value and location from the
2669 @@ -1385,10 +1266,9 @@ yyparse ()
2670 Keep to zero when no symbol should be popped. */
2677 + yyssp = yyss = yyssa;
2678 + yyvsp = yyvs = yyvsa;
2679 + yylsp = yyls = yylsa;
2680 yystacksize = YYINITDEPTH;
2682 YYDPRINTF ((stderr, "Starting parse\n"));
2683 @@ -1397,21 +1277,7 @@ yyparse ()
2686 yychar = YYEMPTY; /* Cause a token to be read. */
2688 - /* Initialize stack pointers.
2689 - Waste one element of value and location stack
2690 - so that they stay on the same level as the state stack.
2691 - The wasted elements are never initialized. */
2696 -#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2697 - /* Initialize the default location before parsing starts. */
2698 - yylloc.first_line = yylloc.last_line = 1;
2699 - yylloc.first_column = yylloc.last_column = 1;
2702 + yylsp[0] = yylloc;
2705 /*------------------------------------------------------------.
2706 @@ -1432,26 +1298,26 @@ yyparse ()
2710 - /* Give user a chance to reallocate the stack. Use copies of
2711 - these so that the &'s don't force the real ones into
2713 - YYSTYPE *yyvs1 = yyvs;
2714 - yytype_int16 *yyss1 = yyss;
2715 - YYLTYPE *yyls1 = yyls;
2717 - /* Each stack pointer address is followed by the size of the
2718 - data in use in that stack, in bytes. This used to be a
2719 - conditional around just the two extra args, but that might
2720 - be undefined if yyoverflow is a macro. */
2721 - yyoverflow (YY_("memory exhausted"),
2722 - &yyss1, yysize * sizeof (*yyssp),
2723 - &yyvs1, yysize * sizeof (*yyvsp),
2724 - &yyls1, yysize * sizeof (*yylsp),
2730 + /* Give user a chance to reallocate the stack. Use copies of
2731 + these so that the &'s don't force the real ones into
2733 + YYSTYPE *yyvs1 = yyvs;
2734 + yytype_int16 *yyss1 = yyss;
2735 + YYLTYPE *yyls1 = yyls;
2737 + /* Each stack pointer address is followed by the size of the
2738 + data in use in that stack, in bytes. This used to be a
2739 + conditional around just the two extra args, but that might
2740 + be undefined if yyoverflow is a macro. */
2741 + yyoverflow (YY_("memory exhausted"),
2742 + &yyss1, yysize * sizeof (*yyssp),
2743 + &yyvs1, yysize * sizeof (*yyvsp),
2744 + &yyls1, yysize * sizeof (*yylsp),
2751 #else /* no yyoverflow */
2752 # ifndef YYSTACK_RELOCATE
2753 @@ -1459,23 +1325,23 @@ yyparse ()
2755 /* Extend the stack our own way. */
2756 if (YYMAXDEPTH <= yystacksize)
2757 - goto yyexhaustedlab;
2758 + goto yyexhaustedlab;
2760 if (YYMAXDEPTH < yystacksize)
2761 - yystacksize = YYMAXDEPTH;
2762 + yystacksize = YYMAXDEPTH;
2765 - yytype_int16 *yyss1 = yyss;
2766 - union yyalloc *yyptr =
2767 - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2769 - goto yyexhaustedlab;
2770 - YYSTACK_RELOCATE (yyss_alloc, yyss);
2771 - YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2772 - YYSTACK_RELOCATE (yyls_alloc, yyls);
2773 + yytype_int16 *yyss1 = yyss;
2774 + union yyalloc *yyptr =
2775 + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2777 + goto yyexhaustedlab;
2778 + YYSTACK_RELOCATE (yyss_alloc, yyss);
2779 + YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2780 + YYSTACK_RELOCATE (yyls_alloc, yyls);
2781 # undef YYSTACK_RELOCATE
2782 - if (yyss1 != yyssa)
2783 - YYSTACK_FREE (yyss1);
2784 + if (yyss1 != yyssa)
2785 + YYSTACK_FREE (yyss1);
2788 #endif /* no yyoverflow */
2789 @@ -1485,10 +1351,10 @@ yyparse ()
2790 yylsp = yyls + yysize - 1;
2792 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2793 - (unsigned long int) yystacksize));
2794 + (unsigned long int) yystacksize));
2796 if (yyss + yystacksize - 1 <= yyssp)
2801 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2802 @@ -1517,7 +1383,7 @@ yybackup:
2803 if (yychar == YYEMPTY)
2805 YYDPRINTF ((stderr, "Reading a token: "));
2807 + yychar = yylex ();
2810 if (yychar <= YYEOF)
2811 @@ -1557,7 +1423,9 @@ yybackup:
2815 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2817 + YY_IGNORE_MAYBE_UNINITIALIZED_END
2821 @@ -1580,7 +1448,7 @@ yyreduce:
2824 /* If YYLEN is nonzero, implement the default value of the action:
2828 Otherwise, the following line sets YYVAL to garbage.
2829 This behavior is undocumented and Bison
2830 @@ -1595,322 +1463,273 @@ yyreduce:
2835 -/* Line 1806 of yacc.c */
2836 -#line 109 "dtc-parser.y"
2837 +#line 105 "dtc-parser.y" /* yacc.c:1646 */
2839 - (yyvsp[(5) - (5)].node)->is_plugin = (yyvsp[(3) - (5)].is_plugin);
2840 - (yyvsp[(5) - (5)].node)->is_root = 1;
2841 - the_boot_info = build_boot_info((yyvsp[(4) - (5)].re), (yyvsp[(5) - (5)].node),
2842 - guess_boot_cpuid((yyvsp[(5) - (5)].node)));
2843 + the_boot_info = build_boot_info((yyvsp[-1].re), (yyvsp[0].node),
2844 + guess_boot_cpuid((yyvsp[0].node)));
2846 +#line 1472 "dtc-parser.tab.c" /* yacc.c:1646 */
2851 -/* Line 1806 of yacc.c */
2852 -#line 119 "dtc-parser.y"
2853 +#line 113 "dtc-parser.y" /* yacc.c:1646 */
2855 - (yyval.is_plugin) = 0;
2856 + (yyval.re) = NULL;
2858 +#line 1480 "dtc-parser.tab.c" /* yacc.c:1646 */
2863 -/* Line 1806 of yacc.c */
2864 -#line 123 "dtc-parser.y"
2865 +#line 117 "dtc-parser.y" /* yacc.c:1646 */
2867 - (yyval.is_plugin) = 1;
2868 + (yyval.re) = chain_reserve_entry((yyvsp[-1].re), (yyvsp[0].re));
2870 +#line 1488 "dtc-parser.tab.c" /* yacc.c:1646 */
2875 -/* Line 1806 of yacc.c */
2876 -#line 130 "dtc-parser.y"
2877 +#line 124 "dtc-parser.y" /* yacc.c:1646 */
2879 - (yyval.re) = NULL;
2880 + (yyval.re) = build_reserve_entry((yyvsp[-2].integer), (yyvsp[-1].integer));
2882 +#line 1496 "dtc-parser.tab.c" /* yacc.c:1646 */
2887 -/* Line 1806 of yacc.c */
2888 -#line 134 "dtc-parser.y"
2889 +#line 128 "dtc-parser.y" /* yacc.c:1646 */
2891 - (yyval.re) = chain_reserve_entry((yyvsp[(1) - (2)].re), (yyvsp[(2) - (2)].re));
2892 + add_label(&(yyvsp[0].re)->labels, (yyvsp[-1].labelref));
2893 + (yyval.re) = (yyvsp[0].re);
2895 +#line 1505 "dtc-parser.tab.c" /* yacc.c:1646 */
2900 -/* Line 1806 of yacc.c */
2901 -#line 141 "dtc-parser.y"
2902 +#line 136 "dtc-parser.y" /* yacc.c:1646 */
2904 - (yyval.re) = build_reserve_entry((yyvsp[(2) - (4)].integer), (yyvsp[(3) - (4)].integer));
2905 + (yyval.node) = name_node((yyvsp[0].node), "");
2907 +#line 1513 "dtc-parser.tab.c" /* yacc.c:1646 */
2912 -/* Line 1806 of yacc.c */
2913 -#line 145 "dtc-parser.y"
2914 +#line 140 "dtc-parser.y" /* yacc.c:1646 */
2916 - add_label(&(yyvsp[(2) - (2)].re)->labels, (yyvsp[(1) - (2)].labelref));
2917 - (yyval.re) = (yyvsp[(2) - (2)].re);
2918 + (yyval.node) = merge_nodes((yyvsp[-2].node), (yyvsp[0].node));
2920 +#line 1521 "dtc-parser.tab.c" /* yacc.c:1646 */
2925 -/* Line 1806 of yacc.c */
2926 -#line 153 "dtc-parser.y"
2927 +#line 145 "dtc-parser.y" /* yacc.c:1646 */
2929 - (yyval.node) = name_node((yyvsp[(2) - (2)].node), "");
2930 + struct node *target = get_node_by_ref((yyvsp[-3].node), (yyvsp[-1].labelref));
2932 + add_label(&target->labels, (yyvsp[-2].labelref));
2934 + merge_nodes(target, (yyvsp[0].node));
2936 + ERROR(&(yylsp[-1]), "Label or path %s not found", (yyvsp[-1].labelref));
2937 + (yyval.node) = (yyvsp[-3].node);
2939 +#line 1536 "dtc-parser.tab.c" /* yacc.c:1646 */
2944 -/* Line 1806 of yacc.c */
2945 -#line 157 "dtc-parser.y"
2946 +#line 156 "dtc-parser.y" /* yacc.c:1646 */
2948 - (yyval.node) = merge_nodes((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
2949 + struct node *target = get_node_by_ref((yyvsp[-2].node), (yyvsp[-1].labelref));
2952 + merge_nodes(target, (yyvsp[0].node));
2954 + ERROR(&(yylsp[-1]), "Label or path %s not found", (yyvsp[-1].labelref));
2955 + (yyval.node) = (yyvsp[-2].node);
2957 +#line 1550 "dtc-parser.tab.c" /* yacc.c:1646 */
2962 -/* Line 1806 of yacc.c */
2963 -#line 162 "dtc-parser.y"
2964 +#line 166 "dtc-parser.y" /* yacc.c:1646 */
2966 - struct node *target = get_node_by_ref((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].labelref));
2967 + struct node *target = get_node_by_ref((yyvsp[-3].node), (yyvsp[-1].labelref));
2969 - add_label(&target->labels, (yyvsp[(2) - (4)].labelref));
2971 - merge_nodes(target, (yyvsp[(4) - (4)].node));
2972 + delete_node(target);
2974 - ERROR(&(yylsp[(3) - (4)]), "Label or path %s not found", (yyvsp[(3) - (4)].labelref));
2975 - (yyval.node) = (yyvsp[(1) - (4)].node);
2976 + ERROR(&(yylsp[-1]), "Label or path %s not found", (yyvsp[-1].labelref));
2979 + (yyval.node) = (yyvsp[-3].node);
2981 +#line 1566 "dtc-parser.tab.c" /* yacc.c:1646 */
2986 -/* Line 1806 of yacc.c */
2987 -#line 173 "dtc-parser.y"
2988 +#line 181 "dtc-parser.y" /* yacc.c:1646 */
2990 - struct node *target = get_node_by_ref((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].labelref));
2993 - merge_nodes(target, (yyvsp[(3) - (3)].node));
2995 - ERROR(&(yylsp[(2) - (3)]), "Label or path %s not found", (yyvsp[(2) - (3)].labelref));
2996 - (yyval.node) = (yyvsp[(1) - (3)].node);
2997 + (yyval.node) = build_node((yyvsp[-3].proplist), (yyvsp[-2].nodelist));
2999 +#line 1574 "dtc-parser.tab.c" /* yacc.c:1646 */
3004 -/* Line 1806 of yacc.c */
3005 -#line 183 "dtc-parser.y"
3006 +#line 188 "dtc-parser.y" /* yacc.c:1646 */
3008 - struct node *target = get_node_by_ref((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].labelref));
3011 - delete_node(target);
3013 - ERROR(&(yylsp[(3) - (4)]), "Label or path %s not found", (yyvsp[(3) - (4)].labelref));
3016 - (yyval.node) = (yyvsp[(1) - (4)].node);
3017 + (yyval.proplist) = NULL;
3019 +#line 1582 "dtc-parser.tab.c" /* yacc.c:1646 */
3024 -/* Line 1806 of yacc.c */
3025 -#line 198 "dtc-parser.y"
3026 +#line 192 "dtc-parser.y" /* yacc.c:1646 */
3028 - (yyval.node) = build_node((yyvsp[(2) - (5)].proplist), (yyvsp[(3) - (5)].nodelist));
3029 + (yyval.proplist) = chain_property((yyvsp[0].prop), (yyvsp[-1].proplist));
3031 +#line 1590 "dtc-parser.tab.c" /* yacc.c:1646 */
3036 -/* Line 1806 of yacc.c */
3037 -#line 205 "dtc-parser.y"
3038 +#line 199 "dtc-parser.y" /* yacc.c:1646 */
3040 - (yyval.proplist) = NULL;
3041 + (yyval.prop) = build_property((yyvsp[-3].propnodename), (yyvsp[-1].data));
3043 +#line 1598 "dtc-parser.tab.c" /* yacc.c:1646 */
3048 -/* Line 1806 of yacc.c */
3049 -#line 209 "dtc-parser.y"
3050 +#line 203 "dtc-parser.y" /* yacc.c:1646 */
3052 - (yyval.proplist) = chain_property((yyvsp[(2) - (2)].prop), (yyvsp[(1) - (2)].proplist));
3053 + (yyval.prop) = build_property((yyvsp[-1].propnodename), empty_data);
3055 +#line 1606 "dtc-parser.tab.c" /* yacc.c:1646 */
3060 -/* Line 1806 of yacc.c */
3061 -#line 216 "dtc-parser.y"
3062 +#line 207 "dtc-parser.y" /* yacc.c:1646 */
3064 - (yyval.prop) = build_property((yyvsp[(1) - (4)].propnodename), (yyvsp[(3) - (4)].data));
3065 + (yyval.prop) = build_property_delete((yyvsp[-1].propnodename));
3067 +#line 1614 "dtc-parser.tab.c" /* yacc.c:1646 */
3072 -/* Line 1806 of yacc.c */
3073 -#line 220 "dtc-parser.y"
3074 +#line 211 "dtc-parser.y" /* yacc.c:1646 */
3076 - (yyval.prop) = build_property((yyvsp[(1) - (2)].propnodename), empty_data);
3077 + add_label(&(yyvsp[0].prop)->labels, (yyvsp[-1].labelref));
3078 + (yyval.prop) = (yyvsp[0].prop);
3080 +#line 1623 "dtc-parser.tab.c" /* yacc.c:1646 */
3085 -/* Line 1806 of yacc.c */
3086 -#line 224 "dtc-parser.y"
3087 +#line 219 "dtc-parser.y" /* yacc.c:1646 */
3089 - (yyval.prop) = build_property_delete((yyvsp[(2) - (3)].propnodename));
3090 + (yyval.data) = data_merge((yyvsp[-1].data), (yyvsp[0].data));
3092 +#line 1631 "dtc-parser.tab.c" /* yacc.c:1646 */
3097 -/* Line 1806 of yacc.c */
3098 -#line 228 "dtc-parser.y"
3099 +#line 223 "dtc-parser.y" /* yacc.c:1646 */
3101 - add_label(&(yyvsp[(2) - (2)].prop)->labels, (yyvsp[(1) - (2)].labelref));
3102 - (yyval.prop) = (yyvsp[(2) - (2)].prop);
3103 + (yyval.data) = data_merge((yyvsp[-2].data), (yyvsp[-1].array).data);
3105 +#line 1639 "dtc-parser.tab.c" /* yacc.c:1646 */
3110 -/* Line 1806 of yacc.c */
3111 -#line 236 "dtc-parser.y"
3112 +#line 227 "dtc-parser.y" /* yacc.c:1646 */
3114 - (yyval.data) = data_merge((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].data));
3115 + (yyval.data) = data_merge((yyvsp[-3].data), (yyvsp[-1].data));
3117 +#line 1647 "dtc-parser.tab.c" /* yacc.c:1646 */
3122 -/* Line 1806 of yacc.c */
3123 -#line 240 "dtc-parser.y"
3124 +#line 231 "dtc-parser.y" /* yacc.c:1646 */
3126 - (yyval.data) = data_merge((yyvsp[(1) - (3)].data), (yyvsp[(2) - (3)].array).data);
3127 + (yyval.data) = data_add_marker((yyvsp[-1].data), REF_PATH, (yyvsp[0].labelref));
3129 +#line 1655 "dtc-parser.tab.c" /* yacc.c:1646 */
3134 -/* Line 1806 of yacc.c */
3135 -#line 244 "dtc-parser.y"
3137 - (yyval.data) = data_merge((yyvsp[(1) - (4)].data), (yyvsp[(3) - (4)].data));
3143 -/* Line 1806 of yacc.c */
3144 -#line 248 "dtc-parser.y"
3146 - (yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), REF_PATH, (yyvsp[(2) - (2)].labelref));
3152 -/* Line 1806 of yacc.c */
3153 -#line 252 "dtc-parser.y"
3154 +#line 235 "dtc-parser.y" /* yacc.c:1646 */
3156 - FILE *f = srcfile_relative_open((yyvsp[(4) - (9)].data).val, NULL);
3157 + FILE *f = srcfile_relative_open((yyvsp[-5].data).val, NULL);
3160 - if ((yyvsp[(6) - (9)].integer) != 0)
3161 - if (fseek(f, (yyvsp[(6) - (9)].integer), SEEK_SET) != 0)
3162 + if ((yyvsp[-3].integer) != 0)
3163 + if (fseek(f, (yyvsp[-3].integer), SEEK_SET) != 0)
3164 die("Couldn't seek to offset %llu in \"%s\": %s",
3165 - (unsigned long long)(yyvsp[(6) - (9)].integer), (yyvsp[(4) - (9)].data).val,
3166 + (unsigned long long)(yyvsp[-3].integer), (yyvsp[-5].data).val,
3169 - d = data_copy_file(f, (yyvsp[(8) - (9)].integer));
3170 + d = data_copy_file(f, (yyvsp[-1].integer));
3172 - (yyval.data) = data_merge((yyvsp[(1) - (9)].data), d);
3173 + (yyval.data) = data_merge((yyvsp[-8].data), d);
3176 +#line 1675 "dtc-parser.tab.c" /* yacc.c:1646 */
3181 -/* Line 1806 of yacc.c */
3182 -#line 268 "dtc-parser.y"
3184 +#line 251 "dtc-parser.y" /* yacc.c:1646 */
3186 - FILE *f = srcfile_relative_open((yyvsp[(4) - (5)].data).val, NULL);
3187 + FILE *f = srcfile_relative_open((yyvsp[-1].data).val, NULL);
3188 struct data d = empty_data;
3190 d = data_copy_file(f, -1);
3192 - (yyval.data) = data_merge((yyvsp[(1) - (5)].data), d);
3193 + (yyval.data) = data_merge((yyvsp[-4].data), d);
3196 +#line 1689 "dtc-parser.tab.c" /* yacc.c:1646 */
3201 -/* Line 1806 of yacc.c */
3202 -#line 278 "dtc-parser.y"
3204 +#line 261 "dtc-parser.y" /* yacc.c:1646 */
3206 - (yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
3207 + (yyval.data) = data_add_marker((yyvsp[-1].data), LABEL, (yyvsp[0].labelref));
3209 +#line 1697 "dtc-parser.tab.c" /* yacc.c:1646 */
3214 -/* Line 1806 of yacc.c */
3215 -#line 285 "dtc-parser.y"
3217 +#line 268 "dtc-parser.y" /* yacc.c:1646 */
3219 (yyval.data) = empty_data;
3221 +#line 1705 "dtc-parser.tab.c" /* yacc.c:1646 */
3226 -/* Line 1806 of yacc.c */
3227 -#line 289 "dtc-parser.y"
3229 +#line 272 "dtc-parser.y" /* yacc.c:1646 */
3231 - (yyval.data) = (yyvsp[(1) - (2)].data);
3232 + (yyval.data) = (yyvsp[-1].data);
3234 +#line 1713 "dtc-parser.tab.c" /* yacc.c:1646 */
3239 -/* Line 1806 of yacc.c */
3240 -#line 293 "dtc-parser.y"
3242 +#line 276 "dtc-parser.y" /* yacc.c:1646 */
3244 - (yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
3245 + (yyval.data) = data_add_marker((yyvsp[-1].data), LABEL, (yyvsp[0].labelref));
3247 +#line 1721 "dtc-parser.tab.c" /* yacc.c:1646 */
3252 -/* Line 1806 of yacc.c */
3253 -#line 300 "dtc-parser.y"
3255 +#line 283 "dtc-parser.y" /* yacc.c:1646 */
3257 unsigned long long bits;
3259 - bits = (yyvsp[(2) - (3)].integer);
3260 + bits = (yyvsp[-1].integer);
3262 if ((bits != 8) && (bits != 16) &&
3263 (bits != 32) && (bits != 64)) {
3264 - ERROR(&(yylsp[(2) - (3)]), "Array elements must be"
3265 + ERROR(&(yylsp[-1]), "Array elements must be"
3266 " 8, 16, 32 or 64-bits");
3269 @@ -1918,25 +1737,23 @@ yyreduce:
3270 (yyval.array).data = empty_data;
3271 (yyval.array).bits = bits;
3273 +#line 1741 "dtc-parser.tab.c" /* yacc.c:1646 */
3278 -/* Line 1806 of yacc.c */
3279 -#line 316 "dtc-parser.y"
3281 +#line 299 "dtc-parser.y" /* yacc.c:1646 */
3283 (yyval.array).data = empty_data;
3284 (yyval.array).bits = 32;
3286 +#line 1750 "dtc-parser.tab.c" /* yacc.c:1646 */
3291 -/* Line 1806 of yacc.c */
3292 -#line 321 "dtc-parser.y"
3294 +#line 304 "dtc-parser.y" /* yacc.c:1646 */
3296 - if ((yyvsp[(1) - (2)].array).bits < 64) {
3297 - uint64_t mask = (1ULL << (yyvsp[(1) - (2)].array).bits) - 1;
3298 + if ((yyvsp[-1].array).bits < 64) {
3299 + uint64_t mask = (1ULL << (yyvsp[-1].array).bits) - 1;
3301 * Bits above mask must either be all zero
3302 * (positive within range of mask) or all one
3303 @@ -1945,293 +1762,258 @@ yyreduce:
3304 * within the mask to one (i.e. | in the
3305 * mask), all bits are one.
3307 - if (((yyvsp[(2) - (2)].integer) > mask) && (((yyvsp[(2) - (2)].integer) | mask) != -1ULL))
3308 - ERROR(&(yylsp[(2) - (2)]), "Value out of range for"
3309 - " %d-bit array element", (yyvsp[(1) - (2)].array).bits);
3310 + if (((yyvsp[0].integer) > mask) && (((yyvsp[0].integer) | mask) != -1ULL))
3311 + ERROR(&(yylsp[0]), "Value out of range for"
3312 + " %d-bit array element", (yyvsp[-1].array).bits);
3315 - (yyval.array).data = data_append_integer((yyvsp[(1) - (2)].array).data, (yyvsp[(2) - (2)].integer), (yyvsp[(1) - (2)].array).bits);
3316 + (yyval.array).data = data_append_integer((yyvsp[-1].array).data, (yyvsp[0].integer), (yyvsp[-1].array).bits);
3318 +#line 1773 "dtc-parser.tab.c" /* yacc.c:1646 */
3323 -/* Line 1806 of yacc.c */
3324 -#line 340 "dtc-parser.y"
3326 +#line 323 "dtc-parser.y" /* yacc.c:1646 */
3328 - uint64_t val = ~0ULL >> (64 - (yyvsp[(1) - (2)].array).bits);
3329 + uint64_t val = ~0ULL >> (64 - (yyvsp[-1].array).bits);
3331 - if ((yyvsp[(1) - (2)].array).bits == 32)
3332 - (yyvsp[(1) - (2)].array).data = data_add_marker((yyvsp[(1) - (2)].array).data,
3333 + if ((yyvsp[-1].array).bits == 32)
3334 + (yyvsp[-1].array).data = data_add_marker((yyvsp[-1].array).data,
3336 - (yyvsp[(2) - (2)].labelref));
3337 + (yyvsp[0].labelref));
3339 - ERROR(&(yylsp[(2) - (2)]), "References are only allowed in "
3340 + ERROR(&(yylsp[0]), "References are only allowed in "
3341 "arrays with 32-bit elements.");
3343 - (yyval.array).data = data_append_integer((yyvsp[(1) - (2)].array).data, val, (yyvsp[(1) - (2)].array).bits);
3344 + (yyval.array).data = data_append_integer((yyvsp[-1].array).data, val, (yyvsp[-1].array).bits);
3346 +#line 1791 "dtc-parser.tab.c" /* yacc.c:1646 */
3351 -/* Line 1806 of yacc.c */
3352 -#line 354 "dtc-parser.y"
3354 +#line 337 "dtc-parser.y" /* yacc.c:1646 */
3356 - (yyval.array).data = data_add_marker((yyvsp[(1) - (2)].array).data, LABEL, (yyvsp[(2) - (2)].labelref));
3357 + (yyval.array).data = data_add_marker((yyvsp[-1].array).data, LABEL, (yyvsp[0].labelref));
3359 +#line 1799 "dtc-parser.tab.c" /* yacc.c:1646 */
3364 -/* Line 1806 of yacc.c */
3365 -#line 363 "dtc-parser.y"
3367 +#line 346 "dtc-parser.y" /* yacc.c:1646 */
3369 - (yyval.integer) = (yyvsp[(2) - (3)].integer);
3370 + (yyval.integer) = (yyvsp[-1].integer);
3372 +#line 1807 "dtc-parser.tab.c" /* yacc.c:1646 */
3377 +#line 357 "dtc-parser.y" /* yacc.c:1646 */
3378 + { (yyval.integer) = (yyvsp[-4].integer) ? (yyvsp[-2].integer) : (yyvsp[0].integer); }
3379 +#line 1813 "dtc-parser.tab.c" /* yacc.c:1646 */
3382 -/* Line 1806 of yacc.c */
3383 -#line 374 "dtc-parser.y"
3384 - { (yyval.integer) = (yyvsp[(1) - (5)].integer) ? (yyvsp[(3) - (5)].integer) : (yyvsp[(5) - (5)].integer); }
3386 +#line 362 "dtc-parser.y" /* yacc.c:1646 */
3387 + { (yyval.integer) = (yyvsp[-2].integer) || (yyvsp[0].integer); }
3388 +#line 1819 "dtc-parser.tab.c" /* yacc.c:1646 */
3393 -/* Line 1806 of yacc.c */
3394 -#line 379 "dtc-parser.y"
3395 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) || (yyvsp[(3) - (3)].integer); }
3396 +#line 367 "dtc-parser.y" /* yacc.c:1646 */
3397 + { (yyval.integer) = (yyvsp[-2].integer) && (yyvsp[0].integer); }
3398 +#line 1825 "dtc-parser.tab.c" /* yacc.c:1646 */
3403 -/* Line 1806 of yacc.c */
3404 -#line 384 "dtc-parser.y"
3405 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) && (yyvsp[(3) - (3)].integer); }
3406 +#line 372 "dtc-parser.y" /* yacc.c:1646 */
3407 + { (yyval.integer) = (yyvsp[-2].integer) | (yyvsp[0].integer); }
3408 +#line 1831 "dtc-parser.tab.c" /* yacc.c:1646 */
3413 -/* Line 1806 of yacc.c */
3414 -#line 389 "dtc-parser.y"
3415 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) | (yyvsp[(3) - (3)].integer); }
3416 +#line 377 "dtc-parser.y" /* yacc.c:1646 */
3417 + { (yyval.integer) = (yyvsp[-2].integer) ^ (yyvsp[0].integer); }
3418 +#line 1837 "dtc-parser.tab.c" /* yacc.c:1646 */
3423 -/* Line 1806 of yacc.c */
3424 -#line 394 "dtc-parser.y"
3425 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) ^ (yyvsp[(3) - (3)].integer); }
3426 +#line 382 "dtc-parser.y" /* yacc.c:1646 */
3427 + { (yyval.integer) = (yyvsp[-2].integer) & (yyvsp[0].integer); }
3428 +#line 1843 "dtc-parser.tab.c" /* yacc.c:1646 */
3433 -/* Line 1806 of yacc.c */
3434 -#line 399 "dtc-parser.y"
3435 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) & (yyvsp[(3) - (3)].integer); }
3436 +#line 387 "dtc-parser.y" /* yacc.c:1646 */
3437 + { (yyval.integer) = (yyvsp[-2].integer) == (yyvsp[0].integer); }
3438 +#line 1849 "dtc-parser.tab.c" /* yacc.c:1646 */
3443 -/* Line 1806 of yacc.c */
3444 -#line 404 "dtc-parser.y"
3445 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) == (yyvsp[(3) - (3)].integer); }
3447 +#line 388 "dtc-parser.y" /* yacc.c:1646 */
3448 + { (yyval.integer) = (yyvsp[-2].integer) != (yyvsp[0].integer); }
3449 +#line 1855 "dtc-parser.tab.c" /* yacc.c:1646 */
3453 +#line 393 "dtc-parser.y" /* yacc.c:1646 */
3454 + { (yyval.integer) = (yyvsp[-2].integer) < (yyvsp[0].integer); }
3455 +#line 1861 "dtc-parser.tab.c" /* yacc.c:1646 */
3458 -/* Line 1806 of yacc.c */
3459 -#line 405 "dtc-parser.y"
3460 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) != (yyvsp[(3) - (3)].integer); }
3462 +#line 394 "dtc-parser.y" /* yacc.c:1646 */
3463 + { (yyval.integer) = (yyvsp[-2].integer) > (yyvsp[0].integer); }
3464 +#line 1867 "dtc-parser.tab.c" /* yacc.c:1646 */
3469 -/* Line 1806 of yacc.c */
3470 -#line 410 "dtc-parser.y"
3471 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) < (yyvsp[(3) - (3)].integer); }
3472 +#line 395 "dtc-parser.y" /* yacc.c:1646 */
3473 + { (yyval.integer) = (yyvsp[-2].integer) <= (yyvsp[0].integer); }
3474 +#line 1873 "dtc-parser.tab.c" /* yacc.c:1646 */
3479 -/* Line 1806 of yacc.c */
3480 -#line 411 "dtc-parser.y"
3481 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) > (yyvsp[(3) - (3)].integer); }
3482 +#line 396 "dtc-parser.y" /* yacc.c:1646 */
3483 + { (yyval.integer) = (yyvsp[-2].integer) >= (yyvsp[0].integer); }
3484 +#line 1879 "dtc-parser.tab.c" /* yacc.c:1646 */
3489 -/* Line 1806 of yacc.c */
3490 -#line 412 "dtc-parser.y"
3491 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) <= (yyvsp[(3) - (3)].integer); }
3492 +#line 400 "dtc-parser.y" /* yacc.c:1646 */
3493 + { (yyval.integer) = (yyvsp[-2].integer) << (yyvsp[0].integer); }
3494 +#line 1885 "dtc-parser.tab.c" /* yacc.c:1646 */
3499 -/* Line 1806 of yacc.c */
3500 -#line 413 "dtc-parser.y"
3501 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) >= (yyvsp[(3) - (3)].integer); }
3506 -/* Line 1806 of yacc.c */
3507 -#line 417 "dtc-parser.y"
3508 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) << (yyvsp[(3) - (3)].integer); }
3509 +#line 401 "dtc-parser.y" /* yacc.c:1646 */
3510 + { (yyval.integer) = (yyvsp[-2].integer) >> (yyvsp[0].integer); }
3511 +#line 1891 "dtc-parser.tab.c" /* yacc.c:1646 */
3516 -/* Line 1806 of yacc.c */
3517 -#line 418 "dtc-parser.y"
3518 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) >> (yyvsp[(3) - (3)].integer); }
3519 +#line 406 "dtc-parser.y" /* yacc.c:1646 */
3520 + { (yyval.integer) = (yyvsp[-2].integer) + (yyvsp[0].integer); }
3521 +#line 1897 "dtc-parser.tab.c" /* yacc.c:1646 */
3526 -/* Line 1806 of yacc.c */
3527 -#line 423 "dtc-parser.y"
3528 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) + (yyvsp[(3) - (3)].integer); }
3530 +#line 407 "dtc-parser.y" /* yacc.c:1646 */
3531 + { (yyval.integer) = (yyvsp[-2].integer) - (yyvsp[0].integer); }
3532 +#line 1903 "dtc-parser.tab.c" /* yacc.c:1646 */
3536 +#line 412 "dtc-parser.y" /* yacc.c:1646 */
3537 + { (yyval.integer) = (yyvsp[-2].integer) * (yyvsp[0].integer); }
3538 +#line 1909 "dtc-parser.tab.c" /* yacc.c:1646 */
3541 -/* Line 1806 of yacc.c */
3542 -#line 424 "dtc-parser.y"
3543 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) - (yyvsp[(3) - (3)].integer); }
3545 +#line 413 "dtc-parser.y" /* yacc.c:1646 */
3546 + { (yyval.integer) = (yyvsp[-2].integer) / (yyvsp[0].integer); }
3547 +#line 1915 "dtc-parser.tab.c" /* yacc.c:1646 */
3552 -/* Line 1806 of yacc.c */
3553 -#line 429 "dtc-parser.y"
3554 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) * (yyvsp[(3) - (3)].integer); }
3555 +#line 414 "dtc-parser.y" /* yacc.c:1646 */
3556 + { (yyval.integer) = (yyvsp[-2].integer) % (yyvsp[0].integer); }
3557 +#line 1921 "dtc-parser.tab.c" /* yacc.c:1646 */
3562 -/* Line 1806 of yacc.c */
3563 -#line 430 "dtc-parser.y"
3564 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) / (yyvsp[(3) - (3)].integer); }
3566 +#line 420 "dtc-parser.y" /* yacc.c:1646 */
3567 + { (yyval.integer) = -(yyvsp[0].integer); }
3568 +#line 1927 "dtc-parser.tab.c" /* yacc.c:1646 */
3573 -/* Line 1806 of yacc.c */
3574 -#line 431 "dtc-parser.y"
3575 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) % (yyvsp[(3) - (3)].integer); }
3577 +#line 421 "dtc-parser.y" /* yacc.c:1646 */
3578 + { (yyval.integer) = ~(yyvsp[0].integer); }
3579 +#line 1933 "dtc-parser.tab.c" /* yacc.c:1646 */
3584 -/* Line 1806 of yacc.c */
3585 -#line 437 "dtc-parser.y"
3586 - { (yyval.integer) = -(yyvsp[(2) - (2)].integer); }
3587 +#line 422 "dtc-parser.y" /* yacc.c:1646 */
3588 + { (yyval.integer) = !(yyvsp[0].integer); }
3589 +#line 1939 "dtc-parser.tab.c" /* yacc.c:1646 */
3594 -/* Line 1806 of yacc.c */
3595 -#line 438 "dtc-parser.y"
3596 - { (yyval.integer) = ~(yyvsp[(2) - (2)].integer); }
3597 +#line 427 "dtc-parser.y" /* yacc.c:1646 */
3599 + (yyval.data) = empty_data;
3601 +#line 1947 "dtc-parser.tab.c" /* yacc.c:1646 */
3606 -/* Line 1806 of yacc.c */
3607 -#line 439 "dtc-parser.y"
3608 - { (yyval.integer) = !(yyvsp[(2) - (2)].integer); }
3609 +#line 431 "dtc-parser.y" /* yacc.c:1646 */
3611 + (yyval.data) = data_append_byte((yyvsp[-1].data), (yyvsp[0].byte));
3613 +#line 1955 "dtc-parser.tab.c" /* yacc.c:1646 */
3618 -/* Line 1806 of yacc.c */
3619 -#line 444 "dtc-parser.y"
3620 +#line 435 "dtc-parser.y" /* yacc.c:1646 */
3622 - (yyval.data) = empty_data;
3623 + (yyval.data) = data_add_marker((yyvsp[-1].data), LABEL, (yyvsp[0].labelref));
3625 +#line 1963 "dtc-parser.tab.c" /* yacc.c:1646 */
3630 -/* Line 1806 of yacc.c */
3631 -#line 448 "dtc-parser.y"
3632 +#line 442 "dtc-parser.y" /* yacc.c:1646 */
3634 - (yyval.data) = data_append_byte((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].byte));
3635 + (yyval.nodelist) = NULL;
3637 +#line 1971 "dtc-parser.tab.c" /* yacc.c:1646 */
3642 -/* Line 1806 of yacc.c */
3643 -#line 452 "dtc-parser.y"
3644 +#line 446 "dtc-parser.y" /* yacc.c:1646 */
3646 - (yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), LABEL, (yyvsp[(2) - (2)].labelref));
3647 + (yyval.nodelist) = chain_node((yyvsp[-1].node), (yyvsp[0].nodelist));
3649 +#line 1979 "dtc-parser.tab.c" /* yacc.c:1646 */
3654 -/* Line 1806 of yacc.c */
3655 -#line 459 "dtc-parser.y"
3656 +#line 450 "dtc-parser.y" /* yacc.c:1646 */
3658 - (yyval.nodelist) = NULL;
3659 + ERROR(&(yylsp[0]), "Properties must precede subnodes");
3662 +#line 1988 "dtc-parser.tab.c" /* yacc.c:1646 */
3667 -/* Line 1806 of yacc.c */
3668 -#line 463 "dtc-parser.y"
3669 +#line 458 "dtc-parser.y" /* yacc.c:1646 */
3671 - (yyval.nodelist) = chain_node((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].nodelist));
3672 + (yyval.node) = name_node((yyvsp[0].node), (yyvsp[-1].propnodename));
3674 +#line 1996 "dtc-parser.tab.c" /* yacc.c:1646 */
3679 -/* Line 1806 of yacc.c */
3680 -#line 467 "dtc-parser.y"
3681 +#line 462 "dtc-parser.y" /* yacc.c:1646 */
3683 - ERROR(&(yylsp[(2) - (2)]), "Properties must precede subnodes");
3685 + (yyval.node) = name_node(build_node_delete(), (yyvsp[-1].propnodename));
3687 +#line 2004 "dtc-parser.tab.c" /* yacc.c:1646 */
3692 -/* Line 1806 of yacc.c */
3693 -#line 475 "dtc-parser.y"
3694 +#line 466 "dtc-parser.y" /* yacc.c:1646 */
3696 - (yyval.node) = name_node((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].propnodename));
3697 + add_label(&(yyvsp[0].node)->labels, (yyvsp[-1].labelref));
3698 + (yyval.node) = (yyvsp[0].node);
3700 +#line 2013 "dtc-parser.tab.c" /* yacc.c:1646 */
3705 -/* Line 1806 of yacc.c */
3706 -#line 479 "dtc-parser.y"
3708 - (yyval.node) = name_node(build_node_delete(), (yyvsp[(2) - (3)].propnodename));
3714 -/* Line 1806 of yacc.c */
3715 -#line 483 "dtc-parser.y"
3717 - add_label(&(yyvsp[(2) - (2)].node)->labels, (yyvsp[(1) - (2)].labelref));
3718 - (yyval.node) = (yyvsp[(2) - (2)].node);
3724 -/* Line 1806 of yacc.c */
3725 -#line 2235 "dtc-parser.tab.c"
3726 +#line 2017 "dtc-parser.tab.c" /* yacc.c:1646 */
3729 /* User semantic actions sometimes alter yychar, and that requires
3730 @@ -2254,7 +2036,7 @@ yyreduce:
3734 - /* Now `shift' the result of the reduction. Determine what state
3735 + /* Now 'shift' the result of the reduction. Determine what state
3736 that goes to, based on the state we popped back to and the rule
3737 number reduced by. */
3739 @@ -2269,9 +2051,9 @@ yyreduce:
3743 -/*------------------------------------.
3744 -| yyerrlab -- here on detecting error |
3745 -`------------------------------------*/
3746 +/*--------------------------------------.
3747 +| yyerrlab -- here on detecting error. |
3748 +`--------------------------------------*/
3750 /* Make sure we have latest lookahead translation. See comments at
3751 user semantic actions for why this is necessary. */
3752 @@ -2322,20 +2104,20 @@ yyerrlab:
3753 if (yyerrstatus == 3)
3755 /* If just tried and failed to reuse lookahead token after an
3756 - error, discard it. */
3757 + error, discard it. */
3759 if (yychar <= YYEOF)
3761 - /* Return failure if at end of input. */
3762 - if (yychar == YYEOF)
3766 + /* Return failure if at end of input. */
3767 + if (yychar == YYEOF)
3772 - yydestruct ("Error: discarding",
3773 - yytoken, &yylval, &yylloc);
3777 + yydestruct ("Error: discarding",
3778 + yytoken, &yylval, &yylloc);
3783 /* Else will try to reuse lookahead token after shifting the error
3784 @@ -2355,7 +2137,7 @@ yyerrorlab:
3787 yyerror_range[1] = yylsp[1-yylen];
3788 - /* Do not reclaim the symbols of the rule which action triggered
3789 + /* Do not reclaim the symbols of the rule whose action triggered
3793 @@ -2368,35 +2150,37 @@ yyerrorlab:
3794 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3795 `-------------------------------------------------------------*/
3797 - yyerrstatus = 3; /* Each real token shifted decrements this. */
3798 + yyerrstatus = 3; /* Each real token shifted decrements this. */
3802 yyn = yypact[yystate];
3803 if (!yypact_value_is_default (yyn))
3806 - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3808 - yyn = yytable[yyn];
3815 + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3817 + yyn = yytable[yyn];
3823 /* Pop the current state because it cannot handle the error token. */
3828 yyerror_range[1] = *yylsp;
3829 yydestruct ("Error: popping",
3830 - yystos[yystate], yyvsp, yylsp);
3831 + yystos[yystate], yyvsp, yylsp);
3834 YY_STACK_PRINT (yyss, yyssp);
3837 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3839 + YY_IGNORE_MAYBE_UNINITIALIZED_END
3841 yyerror_range[2] = yylloc;
3842 /* Using YYLLOC is tempting, but would change the location of
3843 @@ -2425,7 +2209,7 @@ yyabortlab:
3847 -#if !defined(yyoverflow) || YYERROR_VERBOSE
3848 +#if !defined yyoverflow || YYERROR_VERBOSE
3849 /*-------------------------------------------------.
3850 | yyexhaustedlab -- memory exhaustion comes here. |
3851 `-------------------------------------------------*/
3852 @@ -2444,14 +2228,14 @@ yyreturn:
3853 yydestruct ("Cleanup: discarding lookahead",
3854 yytoken, &yylval, &yylloc);
3856 - /* Do not reclaim the symbols of the rule which action triggered
3857 + /* Do not reclaim the symbols of the rule whose action triggered
3858 this YYABORT or YYACCEPT. */
3860 YY_STACK_PRINT (yyss, yyssp);
3861 while (yyssp != yyss)
3863 yydestruct ("Cleanup: popping",
3864 - yystos[*yyssp], yyvsp, yylsp);
3865 + yystos[*yyssp], yyvsp, yylsp);
3869 @@ -2462,18 +2246,12 @@ yyreturn:
3870 if (yymsg != yymsgbuf)
3871 YYSTACK_FREE (yymsg);
3873 - /* Make sure YYID is used. */
3874 - return YYID (yyresult);
3880 -/* Line 2067 of yacc.c */
3881 -#line 489 "dtc-parser.y"
3882 +#line 472 "dtc-parser.y" /* yacc.c:1906 */
3885 void yyerror(char const *s)
3887 ERROR(&yylloc, "%s", s);
3890 --- a/scripts/dtc/dtc-parser.tab.h_shipped
3891 +++ b/scripts/dtc/dtc-parser.tab.h_shipped
3893 -/* A Bison parser, made by GNU Bison 2.5. */
3894 +/* A Bison parser, made by GNU Bison 3.0.2. */
3896 /* Bison interface for Yacc-like parsers in C
3898 - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
3901 + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
3903 This program is free software: you can redistribute it and/or modify
3904 it under the terms of the GNU General Public License as published by
3905 the Free Software Foundation, either version 3 of the License, or
3906 (at your option) any later version.
3909 This program is distributed in the hope that it will be useful,
3910 but WITHOUT ANY WARRANTY; without even the implied warranty of
3911 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3912 GNU General Public License for more details.
3915 You should have received a copy of the GNU General Public License
3916 along with this program. If not, see <http://www.gnu.org/licenses/>. */
3919 special exception, which will cause the skeleton and the resulting
3920 Bison output files to be licensed under the GNU General Public
3921 License without this special exception.
3924 This special exception was added by the Free Software Foundation in
3925 version 2.2 of Bison. */
3927 +#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
3928 +# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
3929 +/* Debug traces. */
3934 +extern int yydebug;
3940 # define YYTOKENTYPE
3941 - /* Put the tokens into the symbol table, so that GDB and other debuggers
3942 - know about them. */
3943 - enum yytokentype {
3946 - DT_MEMRESERVE = 260,
3956 - DT_DEL_PROP = 270,
3957 - DT_DEL_NODE = 271,
3958 - DT_PROPNODENAME = 272,
3960 - DT_CHAR_LITERAL = 274,
3970 + DT_MEMRESERVE = 259,
3980 + DT_DEL_PROP = 269,
3981 + DT_DEL_NODE = 270,
3982 + DT_PROPNODENAME = 271,
3984 + DT_CHAR_LITERAL = 273,
3996 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
3997 -typedef union YYSTYPE
3998 +typedef union YYSTYPE YYSTYPE;
4002 -/* Line 2068 of yacc.c */
4003 -#line 39 "dtc-parser.y"
4004 +#line 38 "dtc-parser.y" /* yacc.c:1909 */
4008 @@ -87,32 +92,30 @@ typedef union YYSTYPE
4009 struct node *nodelist;
4010 struct reserve_info *re;
4016 -/* Line 2068 of yacc.c */
4017 -#line 96 "dtc-parser.tab.h"
4019 +#line 97 "dtc-parser.tab.h" /* yacc.c:1909 */
4021 # define YYSTYPE_IS_TRIVIAL 1
4022 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */
4023 # define YYSTYPE_IS_DECLARED 1
4026 -extern YYSTYPE yylval;
4028 +/* Location type. */
4029 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
4030 -typedef struct YYLTYPE
4031 +typedef struct YYLTYPE YYLTYPE;
4039 -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
4041 # define YYLTYPE_IS_DECLARED 1
4042 # define YYLTYPE_IS_TRIVIAL 1
4046 +extern YYSTYPE yylval;
4047 extern YYLTYPE yylloc;
4048 +int yyparse (void);
4050 +#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
4051 --- a/scripts/dtc/dtc-parser.y
4052 +++ b/scripts/dtc/dtc-parser.y
4057 -#include <inttypes.h>
4061 @@ -53,11 +52,9 @@ extern bool treesource_error;
4062 struct node *nodelist;
4063 struct reserve_info *re;
4070 %token DT_MEMRESERVE
4071 %token DT_LSHIFT DT_RSHIFT DT_LE DT_GE DT_EQ DT_NE DT_AND DT_OR
4073 @@ -74,7 +71,6 @@ extern bool treesource_error;
4075 %type <data> propdata
4076 %type <data> propdataprefix
4077 -%type <is_plugin> plugindecl
4078 %type <re> memreserve
4079 %type <re> memreserves
4080 %type <array> arrayprefix
4081 @@ -105,23 +101,10 @@ extern bool treesource_error;
4085 - DT_V1 ';' plugindecl memreserves devicetree
4086 + DT_V1 ';' memreserves devicetree
4088 - $5->is_plugin = $3;
4090 - the_boot_info = build_boot_info($4, $5,
4091 - guess_boot_cpuid($5));
4103 + the_boot_info = build_boot_info($3, $4,
4104 + guess_boot_cpuid($4));
4108 --- a/scripts/dtc/dtc.c
4109 +++ b/scripts/dtc/dtc.c
4110 @@ -29,7 +29,6 @@ int reservenum; /* Number of memory res
4111 int minsize; /* Minimum blob size */
4112 int padsize; /* Additional padding to blob */
4113 int phandle_format = PHANDLE_BOTH; /* Use linux,phandle or phandle properties */
4114 -int symbol_fixup_support = 0;
4116 static void fill_fullpaths(struct node *tree, const char *prefix)
4118 @@ -52,7 +51,7 @@ static void fill_fullpaths(struct node *
4119 #define FDT_VERSION(version) _FDT_VERSION(version)
4120 #define _FDT_VERSION(version) #version
4121 static const char usage_synopsis[] = "dtc [options] <input file>";
4122 -static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv@";
4123 +static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv";
4124 static struct option const usage_long_opts[] = {
4125 {"quiet", no_argument, NULL, 'q'},
4126 {"in-format", a_argument, NULL, 'I'},
4127 @@ -70,7 +69,6 @@ static struct option const usage_long_op
4128 {"phandle", a_argument, NULL, 'H'},
4129 {"warning", a_argument, NULL, 'W'},
4130 {"error", a_argument, NULL, 'E'},
4131 - {"symbols", a_argument, NULL, '@'},
4132 {"help", no_argument, NULL, 'h'},
4133 {"version", no_argument, NULL, 'v'},
4134 {NULL, no_argument, NULL, 0x0},
4135 @@ -101,7 +99,6 @@ static const char * const usage_opts_hel
4136 "\t\tboth - Both \"linux,phandle\" and \"phandle\" properties",
4137 "\n\tEnable/disable warnings (prefix with \"no-\")",
4138 "\n\tEnable/disable errors (prefix with \"no-\")",
4139 - "\n\tSymbols and Fixups support",
4140 "\n\tPrint this help and exit",
4141 "\n\tPrint version and exit",
4143 @@ -189,9 +186,7 @@ int main(int argc, char *argv[])
4145 parse_checks_option(false, true, optarg);
4148 - symbol_fixup_support = 1;
4154 --- a/scripts/dtc/dtc.h
4155 +++ b/scripts/dtc/dtc.h
4156 @@ -54,7 +54,6 @@ extern int reservenum; /* Number of mem
4157 extern int minsize; /* Minimum blob size */
4158 extern int padsize; /* Additional padding to blob */
4159 extern int phandle_format; /* Use linux,phandle or phandle properties */
4160 -extern int symbol_fixup_support;/* enable symbols & fixup support */
4162 #define PHANDLE_LEGACY 0x1
4163 #define PHANDLE_EPAPR 0x2
4164 @@ -133,25 +132,6 @@ struct label {
4168 -struct fixup_entry {
4170 - struct node *node;
4171 - struct property *prop;
4172 - struct fixup_entry *next;
4177 - struct fixup_entry *entries;
4178 - struct fixup *next;
4182 - struct label *label;
4183 - struct node *node;
4184 - struct symbol *next;
4190 @@ -178,12 +158,6 @@ struct node {
4191 int addr_cells, size_cells;
4193 struct label *labels;
4197 - struct fixup *fixups;
4198 - struct symbol *symbols;
4199 - struct fixup_entry *local_fixups;
4202 #define for_each_label_withdel(l0, l) \
4203 @@ -207,18 +181,6 @@ struct node {
4204 for_each_child_withdel(n, c) \
4207 -#define for_each_fixup(n, f) \
4208 - for ((f) = (n)->fixups; (f); (f) = (f)->next)
4210 -#define for_each_fixup_entry(f, fe) \
4211 - for ((fe) = (f)->entries; (fe); (fe) = (fe)->next)
4213 -#define for_each_symbol(n, s) \
4214 - for ((s) = (n)->symbols; (s); (s) = (s)->next)
4216 -#define for_each_local_fixup_entry(n, fe) \
4217 - for ((fe) = (n)->local_fixups; (fe); (fe) = (fe)->next)
4219 void add_label(struct label **labels, char *label);
4220 void delete_labels(struct label **labels);
4222 --- a/scripts/dtc/flattree.c
4223 +++ b/scripts/dtc/flattree.c
4224 @@ -262,12 +262,6 @@ static void flatten_tree(struct node *tr
4225 struct property *prop;
4227 bool seen_name_prop = false;
4228 - struct symbol *sym;
4230 - struct fixup_entry *fe;
4232 - const char *fullpath;
4233 - int namesz, nameoff, vallen;
4237 @@ -282,6 +276,8 @@ static void flatten_tree(struct node *tr
4238 emit->align(etarget, sizeof(cell_t));
4240 for_each_property(tree, prop) {
4243 if (streq(prop->name, "name"))
4244 seen_name_prop = true;
4246 @@ -314,139 +310,6 @@ static void flatten_tree(struct node *tr
4247 flatten_tree(child, emit, etarget, strbuf, vi);
4250 - if (!symbol_fixup_support)
4253 - /* add the symbol nodes (if any) */
4254 - if (tree->symbols) {
4256 - emit->beginnode(etarget, NULL);
4257 - emit->string(etarget, "__symbols__", 0);
4258 - emit->align(etarget, sizeof(cell_t));
4260 - for_each_symbol(tree, sym) {
4262 - vallen = strlen(sym->node->fullpath);
4264 - nameoff = stringtable_insert(strbuf, sym->label->label);
4266 - emit->property(etarget, NULL);
4267 - emit->cell(etarget, vallen + 1);
4268 - emit->cell(etarget, nameoff);
4270 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4271 - emit->align(etarget, 8);
4273 - emit->string(etarget, sym->node->fullpath,
4274 - strlen(sym->node->fullpath));
4275 - emit->align(etarget, sizeof(cell_t));
4278 - emit->endnode(etarget, NULL);
4281 - /* add the fixup nodes */
4282 - if (tree->fixups) {
4284 - /* emit the external fixups */
4285 - emit->beginnode(etarget, NULL);
4286 - emit->string(etarget, "__fixups__", 0);
4287 - emit->align(etarget, sizeof(cell_t));
4289 - for_each_fixup(tree, f) {
4292 - for_each_fixup_entry(f, fe) {
4293 - fullpath = fe->node->fullpath;
4294 - if (fullpath[0] == '\0')
4296 - namesz += strlen(fullpath) + 1;
4297 - namesz += strlen(fe->prop->name) + 1;
4298 - namesz += 32; /* space for :<number> + '\0' */
4301 - name = xmalloc(namesz);
4304 - for_each_fixup_entry(f, fe) {
4305 - fullpath = fe->node->fullpath;
4306 - if (fullpath[0] == '\0')
4308 - snprintf(s, name + namesz - s, "%s:%s:%d",
4310 - fe->prop->name, fe->offset);
4311 - s += strlen(s) + 1;
4314 - nameoff = stringtable_insert(strbuf, f->ref);
4315 - vallen = s - name - 1;
4317 - emit->property(etarget, NULL);
4318 - emit->cell(etarget, vallen + 1);
4319 - emit->cell(etarget, nameoff);
4321 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4322 - emit->align(etarget, 8);
4324 - emit->string(etarget, name, vallen);
4325 - emit->align(etarget, sizeof(cell_t));
4330 - emit->endnode(etarget, tree->labels);
4333 - /* add the local fixup property */
4334 - if (tree->local_fixups) {
4336 - /* emit the external fixups */
4337 - emit->beginnode(etarget, NULL);
4338 - emit->string(etarget, "__local_fixups__", 0);
4339 - emit->align(etarget, sizeof(cell_t));
4342 - for_each_local_fixup_entry(tree, fe) {
4343 - fullpath = fe->node->fullpath;
4344 - if (fullpath[0] == '\0')
4346 - namesz += strlen(fullpath) + 1;
4347 - namesz += strlen(fe->prop->name) + 1;
4348 - namesz += 32; /* space for :<number> + '\0' */
4351 - name = xmalloc(namesz);
4354 - for_each_local_fixup_entry(tree, fe) {
4355 - fullpath = fe->node->fullpath;
4356 - if (fullpath[0] == '\0')
4358 - snprintf(s, name + namesz - s, "%s:%s:%d",
4359 - fullpath, fe->prop->name,
4361 - s += strlen(s) + 1;
4364 - nameoff = stringtable_insert(strbuf, "fixup");
4365 - vallen = s - name - 1;
4367 - emit->property(etarget, NULL);
4368 - emit->cell(etarget, vallen + 1);
4369 - emit->cell(etarget, nameoff);
4371 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4372 - emit->align(etarget, 8);
4374 - emit->string(etarget, name, vallen);
4375 - emit->align(etarget, sizeof(cell_t));
4379 - emit->endnode(etarget, tree->labels);
4383 emit->endnode(etarget, tree->labels);
4386 --- a/scripts/dtc/version_gen.h
4387 +++ b/scripts/dtc/version_gen.h
4389 -#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty"
4390 +#define DTC_VERSION "DTC 1.4.1-g9d3649bd"