33ba8c5a84228eb92532216805ced8ace3c8281d
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0175-Revert-scripts-dtc-Add-overlay-support.patch
1 From 042eed4d005cd09ee1322285c0c1e92c93b07795 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] Revert "scripts/dtc: Add overlay support"
5
6 This reverts commit fa6d1755c2fdd9451077d8248e3804f0619f19b9.
7 ---
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(-)
19
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)
24 {
25 struct marker *m = prop->val.markers;
26 - struct fixup *f, **fp;
27 - struct fixup_entry *fe, **fep;
28 struct node *refnode;
29 cell_t phandle;
30 - int has_phandle_refs;
31 -
32 - has_phandle_refs = 0;
33 - for_each_marker_of_type(m, REF_PHANDLE) {
34 - has_phandle_refs = 1;
35 - break;
36 - }
37 -
38 - if (!has_phandle_refs)
39 - return;
40
41 for_each_marker_of_type(m, REF_PHANDLE) {
42 assert(m->offset + sizeof(cell_t) <= prop->val.len);
43
44 refnode = get_node_by_ref(dt, m->ref);
45 - if (!refnode && !symbol_fixup_support) {
46 + if (! refnode) {
47 FAIL(c, "Reference to non-existent node or label \"%s\"\n",
48 - m->ref);
49 + m->ref);
50 continue;
51 }
52
53 - if (!refnode) {
54 - /* allocate fixup entry */
55 - fe = xmalloc(sizeof(*fe));
56 -
57 - fe->node = node;
58 - fe->prop = prop;
59 - fe->offset = m->offset;
60 - fe->next = NULL;
61 -
62 - /* search for an already existing fixup */
63 - for_each_fixup(dt, f)
64 - if (strcmp(f->ref, m->ref) == 0)
65 - break;
66 -
67 - /* no fixup found, add new */
68 - if (f == NULL) {
69 - f = xmalloc(sizeof(*f));
70 - f->ref = m->ref;
71 - f->entries = NULL;
72 - f->next = NULL;
73 -
74 - /* add it to the tree */
75 - fp = &dt->fixups;
76 - while (*fp)
77 - fp = &(*fp)->next;
78 - *fp = f;
79 - }
80 -
81 - /* and now append fixup entry */
82 - fep = &f->entries;
83 - while (*fep)
84 - fep = &(*fep)->next;
85 - *fep = fe;
86 -
87 - /* mark the entry as unresolved */
88 - phandle = 0xdeadbeef;
89 - } else {
90 - phandle = get_node_phandle(dt, refnode);
91 -
92 - /* if it's a plugin, we need to record it */
93 - if (symbol_fixup_support && dt->is_plugin) {
94 -
95 - /* allocate a new local fixup entry */
96 - fe = xmalloc(sizeof(*fe));
97 -
98 - fe->node = node;
99 - fe->prop = prop;
100 - fe->offset = m->offset;
101 - fe->next = NULL;
102 -
103 - /* append it to the local fixups */
104 - fep = &dt->local_fixups;
105 - while (*fep)
106 - fep = &(*fep)->next;
107 - *fep = fe;
108 - }
109 - }
110 -
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);
115 }
116 }
117 ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL,
118 @@ -722,45 +652,6 @@ static void check_obsolete_chosen_interr
119 }
120 TREE_WARNING(obsolete_chosen_interrupt_controller, NULL);
121
122 -static void check_auto_label_phandles(struct check *c, struct node *dt,
123 - struct node *node)
124 -{
125 - struct label *l;
126 - struct symbol *s, **sp;
127 - int has_label;
128 -
129 - if (!symbol_fixup_support)
130 - return;
131 -
132 - has_label = 0;
133 - for_each_label(node->labels, l) {
134 - has_label = 1;
135 - break;
136 - }
137 -
138 - if (!has_label)
139 - return;
140 -
141 - /* force allocation of a phandle for this node */
142 - (void)get_node_phandle(dt, node);
143 -
144 - /* add the symbol */
145 - for_each_label(node->labels, l) {
146 -
147 - s = xmalloc(sizeof(*s));
148 - s->label = l;
149 - s->node = node;
150 - s->next = NULL;
151 -
152 - /* add it to the symbols list */
153 - sp = &dt->symbols;
154 - while (*sp)
155 - sp = &((*sp)->next);
156 - *sp = s;
157 - }
158 -}
159 -NODE_WARNING(auto_label_phandles, NULL);
160 -
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,
167
168 - &auto_label_phandles,
169 -
170 &always_fail,
171 };
172
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
176 return DT_V1;
177 }
178
179 -<*>"/plugin/" {
180 - DPRINT("Keyword: /plugin/\n");
181 - return DT_PLUGIN;
182 - }
183 -
184 <*>"/memreserve/" {
185 DPRINT("Keyword: /memreserve/\n");
186 BEGIN_DEFAULT();
187 --- a/scripts/dtc/dtc-lexer.lex.c_shipped
188 +++ b/scripts/dtc/dtc-lexer.lex.c_shipped
189 @@ -9,7 +9,7 @@
190 #define FLEX_SCANNER
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
196 #define FLEX_BETA
197 #endif
198 @@ -162,7 +162,12 @@ typedef unsigned int flex_uint32_t;
199 typedef struct yy_buffer_state *YY_BUFFER_STATE;
200 #endif
201
202 -extern int yyleng;
203 +#ifndef YY_TYPEDEF_YY_SIZE_T
204 +#define YY_TYPEDEF_YY_SIZE_T
205 +typedef size_t yy_size_t;
206 +#endif
207 +
208 +extern yy_size_t yyleng;
209
210 extern FILE *yyin, *yyout;
211
212 @@ -171,6 +176,7 @@ extern FILE *yyin, *yyout;
213 #define EOB_ACT_LAST_MATCH 2
214
215 #define YY_LESS_LINENO(n)
216 + #define YY_LINENO_REWIND_TO(ptr)
217
218 /* Return all but the first "n" matched characters back to the input stream. */
219 #define yyless(n) \
220 @@ -188,11 +194,6 @@ extern FILE *yyin, *yyout;
221
222 #define unput(c) yyunput( c, (yytext_ptr) )
223
224 -#ifndef YY_TYPEDEF_YY_SIZE_T
225 -#define YY_TYPEDEF_YY_SIZE_T
226 -typedef size_t yy_size_t;
227 -#endif
228 -
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
234 * characters.
235 */
236 - int yy_n_chars;
237 + yy_size_t yy_n_chars;
238
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
242
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 */
246 -int yyleng;
247 +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
248 +yy_size_t yyleng;
249
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
253
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 );
258
259 void *yyalloc (yy_size_t );
260 void *yyrealloc (void *,yy_size_t );
261 @@ -341,7 +342,7 @@ void yyfree (void * );
262
263 /* Begin user sect3 */
264
265 -#define yywrap(n) 1
266 +#define yywrap() 1
267 #define YY_SKIP_YYWRAP
268
269 typedef unsigned char YY_CHAR;
270 @@ -372,8 +373,8 @@ static void yy_fatal_error (yyconst char
271 *yy_cp = '\0'; \
272 (yy_c_buf_p) = yy_cp;
273
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. */
280 struct yy_trans_info
281 @@ -381,26 +382,25 @@ struct yy_trans_info
282 flex_int32_t yy_verify;
283 flex_int32_t yy_nxt;
284 };
285 -static yyconst flex_int16_t yy_accept[166] =
286 +static yyconst flex_int16_t yy_accept[159] =
287 { 0,
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,
298 -
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,
305 - 0, 0, 0, 8, 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,
316 +
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
323 } ;
324
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,
329
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] =
340 1, 1, 1, 1, 1
341 } ;
342
343 -static yyconst flex_int32_t yy_meta[48] =
344 +static yyconst flex_int32_t yy_meta[47] =
345 { 0,
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
351 + 8, 8, 8, 3, 1, 4
352 } ;
353
354 -static yyconst flex_int16_t yy_base[180] =
355 +static yyconst flex_int16_t yy_base[173] =
356 { 0,
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,
367 -
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,
386 +
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,
394 + 318, 326
395 } ;
396
397 -static yyconst flex_int16_t yy_def[180] =
398 +static yyconst flex_int16_t yy_def[173] =
399 { 0,
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,
410 -
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,
429 +
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,
437 + 158, 158
438 } ;
439
440 -static yyconst flex_int16_t yy_nxt[449] =
441 +static yyconst flex_int16_t yy_nxt[438] =
442 { 0,
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,
453 -
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,
464 -
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,
475 -
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,
486 -
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,
498 +
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,
509 +
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,
520 +
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,
531 +
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
536 } ;
537
538 -static yyconst flex_int16_t yy_chk[449] =
539 +static yyconst flex_int16_t yy_chk[438] =
540 { 0,
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,
554
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,
565 -
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,
576 -
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,
595 +
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,
606 +
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,
617
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
627 } ;
628
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"
636
637 #define INITIAL 0
638 #define BYTESTRING 1
639 @@ -706,7 +704,7 @@ FILE *yyget_out (void );
640
641 void yyset_out (FILE * out_str );
642
643 -int yyget_leng (void );
644 +yy_size_t yyget_leng (void );
645
646 char *yyget_text (void );
647
648 @@ -855,10 +853,6 @@ YY_DECL
649 register char *yy_cp, *yy_bp;
650 register int yy_act;
651
652 -#line 68 "dtc-lexer.l"
653 -
654 -#line 861 "dtc-lexer.lex.c"
655 -
656 if ( !(yy_init) )
657 {
658 (yy_init) = 1;
659 @@ -885,6 +879,11 @@ YY_DECL
660 yy_load_buffer_state( );
661 }
662
663 + {
664 +#line 68 "dtc-lexer.l"
665 +
666 +#line 886 "dtc-lexer.lex.c"
667 +
668 while ( 1 ) /* loops until end-of-file is reached */
669 {
670 yy_cp = (yy_c_buf_p);
671 @@ -902,7 +901,7 @@ YY_DECL
672 yy_match:
673 do
674 {
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] )
678 {
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 )
682 {
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];
687 }
688 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
689 ++yy_cp;
690 }
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);
695
696 @@ -1008,31 +1007,23 @@ case 5:
697 YY_RULE_SETUP
698 #line 116 "dtc-lexer.l"
699 {
700 - DPRINT("Keyword: /plugin/\n");
701 - return DT_PLUGIN;
702 - }
703 - YY_BREAK
704 -case 6:
705 -YY_RULE_SETUP
706 -#line 121 "dtc-lexer.l"
707 -{
708 DPRINT("Keyword: /memreserve/\n");
709 BEGIN_DEFAULT();
710 return DT_MEMRESERVE;
711 }
712 YY_BREAK
713 -case 7:
714 +case 6:
715 YY_RULE_SETUP
716 -#line 127 "dtc-lexer.l"
717 +#line 122 "dtc-lexer.l"
718 {
719 DPRINT("Keyword: /bits/\n");
720 BEGIN_DEFAULT();
721 return DT_BITS;
722 }
723 YY_BREAK
724 -case 8:
725 +case 7:
726 YY_RULE_SETUP
727 -#line 133 "dtc-lexer.l"
728 +#line 128 "dtc-lexer.l"
729 {
730 DPRINT("Keyword: /delete-property/\n");
731 DPRINT("<PROPNODENAME>\n");
732 @@ -1040,9 +1031,9 @@ YY_RULE_SETUP
733 return DT_DEL_PROP;
734 }
735 YY_BREAK
736 -case 9:
737 +case 8:
738 YY_RULE_SETUP
739 -#line 140 "dtc-lexer.l"
740 +#line 135 "dtc-lexer.l"
741 {
742 DPRINT("Keyword: /delete-node/\n");
743 DPRINT("<PROPNODENAME>\n");
744 @@ -1050,9 +1041,9 @@ YY_RULE_SETUP
745 return DT_DEL_NODE;
746 }
747 YY_BREAK
748 -case 10:
749 +case 9:
750 YY_RULE_SETUP
751 -#line 147 "dtc-lexer.l"
752 +#line 142 "dtc-lexer.l"
753 {
754 DPRINT("Label: %s\n", yytext);
755 yylval.labelref = xstrdup(yytext);
756 @@ -1060,9 +1051,9 @@ YY_RULE_SETUP
757 return DT_LABEL;
758 }
759 YY_BREAK
760 -case 11:
761 +case 10:
762 YY_RULE_SETUP
763 -#line 154 "dtc-lexer.l"
764 +#line 149 "dtc-lexer.l"
765 {
766 char *e;
767 DPRINT("Integer Literal: '%s'\n", yytext);
768 @@ -1082,10 +1073,10 @@ YY_RULE_SETUP
769 return DT_LITERAL;
770 }
771 YY_BREAK
772 -case 12:
773 -/* rule 12 can match eol */
774 +case 11:
775 +/* rule 11 can match eol */
776 YY_RULE_SETUP
777 -#line 173 "dtc-lexer.l"
778 +#line 168 "dtc-lexer.l"
779 {
780 struct data d;
781 DPRINT("Character literal: %s\n", yytext);
782 @@ -1107,18 +1098,18 @@ YY_RULE_SETUP
783 return DT_CHAR_LITERAL;
784 }
785 YY_BREAK
786 -case 13:
787 +case 12:
788 YY_RULE_SETUP
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);
794 return DT_REF;
795 }
796 YY_BREAK
797 -case 14:
798 +case 13:
799 YY_RULE_SETUP
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
806 return DT_REF;
807 }
808 YY_BREAK
809 -case 15:
810 +case 14:
811 YY_RULE_SETUP
812 -#line 207 "dtc-lexer.l"
813 +#line 202 "dtc-lexer.l"
814 {
815 yylval.byte = strtol(yytext, NULL, 16);
816 DPRINT("Byte: %02x\n", (int)yylval.byte);
817 return DT_BYTE;
818 }
819 YY_BREAK
820 -case 16:
821 +case 15:
822 YY_RULE_SETUP
823 -#line 213 "dtc-lexer.l"
824 +#line 208 "dtc-lexer.l"
825 {
826 DPRINT("/BYTESTRING\n");
827 BEGIN_DEFAULT();
828 return ']';
829 }
830 YY_BREAK
831 -case 17:
832 +case 16:
833 YY_RULE_SETUP
834 -#line 219 "dtc-lexer.l"
835 +#line 214 "dtc-lexer.l"
836 {
837 DPRINT("PropNodeName: %s\n", yytext);
838 yylval.propnodename = xstrdup((yytext[0] == '\\') ?
839 @@ -1155,75 +1146,75 @@ YY_RULE_SETUP
840 return DT_PROPNODENAME;
841 }
842 YY_BREAK
843 -case 18:
844 +case 17:
845 YY_RULE_SETUP
846 -#line 227 "dtc-lexer.l"
847 +#line 222 "dtc-lexer.l"
848 {
849 DPRINT("Binary Include\n");
850 return DT_INCBIN;
851 }
852 YY_BREAK
853 -case 19:
854 -/* rule 19 can match eol */
855 +case 18:
856 +/* rule 18 can match eol */
857 YY_RULE_SETUP
858 -#line 232 "dtc-lexer.l"
859 +#line 227 "dtc-lexer.l"
860 /* eat whitespace */
861 YY_BREAK
862 -case 20:
863 -/* rule 20 can match eol */
864 +case 19:
865 +/* rule 19 can match eol */
866 YY_RULE_SETUP
867 -#line 233 "dtc-lexer.l"
868 +#line 228 "dtc-lexer.l"
869 /* eat C-style comments */
870 YY_BREAK
871 -case 21:
872 -/* rule 21 can match eol */
873 +case 20:
874 +/* rule 20 can match eol */
875 YY_RULE_SETUP
876 -#line 234 "dtc-lexer.l"
877 +#line 229 "dtc-lexer.l"
878 /* eat C++-style comments */
879 YY_BREAK
880 -case 22:
881 +case 21:
882 YY_RULE_SETUP
883 -#line 236 "dtc-lexer.l"
884 +#line 231 "dtc-lexer.l"
885 { return DT_LSHIFT; };
886 YY_BREAK
887 -case 23:
888 +case 22:
889 YY_RULE_SETUP
890 -#line 237 "dtc-lexer.l"
891 +#line 232 "dtc-lexer.l"
892 { return DT_RSHIFT; };
893 YY_BREAK
894 -case 24:
895 +case 23:
896 YY_RULE_SETUP
897 -#line 238 "dtc-lexer.l"
898 +#line 233 "dtc-lexer.l"
899 { return DT_LE; };
900 YY_BREAK
901 -case 25:
902 +case 24:
903 YY_RULE_SETUP
904 -#line 239 "dtc-lexer.l"
905 +#line 234 "dtc-lexer.l"
906 { return DT_GE; };
907 YY_BREAK
908 -case 26:
909 +case 25:
910 YY_RULE_SETUP
911 -#line 240 "dtc-lexer.l"
912 +#line 235 "dtc-lexer.l"
913 { return DT_EQ; };
914 YY_BREAK
915 -case 27:
916 +case 26:
917 YY_RULE_SETUP
918 -#line 241 "dtc-lexer.l"
919 +#line 236 "dtc-lexer.l"
920 { return DT_NE; };
921 YY_BREAK
922 -case 28:
923 +case 27:
924 YY_RULE_SETUP
925 -#line 242 "dtc-lexer.l"
926 +#line 237 "dtc-lexer.l"
927 { return DT_AND; };
928 YY_BREAK
929 -case 29:
930 +case 28:
931 YY_RULE_SETUP
932 -#line 243 "dtc-lexer.l"
933 +#line 238 "dtc-lexer.l"
934 { return DT_OR; };
935 YY_BREAK
936 -case 30:
937 +case 29:
938 YY_RULE_SETUP
939 -#line 245 "dtc-lexer.l"
940 +#line 240 "dtc-lexer.l"
941 {
942 DPRINT("Char: %c (\\x%02x)\n", yytext[0],
943 (unsigned)yytext[0]);
944 @@ -1239,12 +1230,12 @@ YY_RULE_SETUP
945 return yytext[0];
946 }
947 YY_BREAK
948 -case 31:
949 +case 30:
950 YY_RULE_SETUP
951 -#line 260 "dtc-lexer.l"
952 +#line 255 "dtc-lexer.l"
953 ECHO;
954 YY_BREAK
955 -#line 1248 "dtc-lexer.lex.c"
956 +#line 1239 "dtc-lexer.lex.c"
957
958 case YY_END_OF_BUFFER:
959 {
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 */
965 } /* end of yylex */
966
967 /* yy_get_next_buffer - try to read in a new buffer
968 @@ -1429,21 +1421,21 @@ static int yy_get_next_buffer (void)
969
970 else
971 {
972 - int num_to_read =
973 + yy_size_t num_to_read =
974 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
975
976 while ( num_to_read <= 0 )
977 { /* Not enough room in the buffer - grow it. */
978
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;
982
983 int yy_c_buf_p_offset =
984 (int) ((yy_c_buf_p) - b->yy_ch_buf);
985
986 if ( b->yy_is_our_buffer )
987 {
988 - int new_size = b->yy_buf_size * 2;
989 + yy_size_t new_size = b->yy_buf_size * 2;
990
991 if ( new_size <= 0 )
992 b->yy_buf_size += b->yy_buf_size / 8;
993 @@ -1474,7 +1466,7 @@ static int yy_get_next_buffer (void)
994
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 );
999
1000 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1001 }
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 )
1004 {
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];
1009 }
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 )
1013 {
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];
1018 }
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);
1022
1023 - return yy_is_jam ? 0 : yy_current_state;
1024 + return yy_is_jam ? 0 : yy_current_state;
1025 }
1026
1027 #ifndef YY_NO_INPUT
1028 @@ -1597,7 +1589,7 @@ static int yy_get_next_buffer (void)
1029
1030 else
1031 { /* need more input */
1032 - int offset = (yy_c_buf_p) - (yytext_ptr);
1033 + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
1034 ++(yy_c_buf_p);
1035
1036 switch ( yy_get_next_buffer( ) )
1037 @@ -1871,7 +1863,7 @@ void yypop_buffer_state (void)
1038 */
1039 static void yyensure_buffer_stack (void)
1040 {
1041 - int num_to_alloc;
1042 + yy_size_t num_to_alloc;
1043
1044 if (!(yy_buffer_stack)) {
1045
1046 @@ -1968,12 +1960,12 @@ YY_BUFFER_STATE yy_scan_string (yyconst
1047 *
1048 * @return the newly allocated buffer state object.
1049 */
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 )
1052 {
1053 YY_BUFFER_STATE b;
1054 char *buf;
1055 yy_size_t n;
1056 - int i;
1057 + yy_size_t i;
1058
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.
1063 *
1064 */
1065 -int yyget_leng (void)
1066 +yy_size_t yyget_leng (void)
1067 {
1068 return yyleng;
1069 }
1070 @@ -2203,7 +2195,7 @@ void yyfree (void * ptr )
1071
1072 #define YYTABLES_NAME "yytables"
1073
1074 -#line 260 "dtc-lexer.l"
1075 +#line 254 "dtc-lexer.l"
1076
1077
1078
1079 --- a/scripts/dtc/dtc-parser.tab.c_shipped
1080 +++ b/scripts/dtc/dtc-parser.tab.c_shipped
1081 @@ -1,19 +1,19 @@
1082 -/* A Bison parser, made by GNU Bison 2.5. */
1083 +/* A Bison parser, made by GNU Bison 3.0.2. */
1084
1085 /* Bison implementation for Yacc-like parsers in C
1086 -
1087 - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
1088 -
1089 +
1090 + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
1091 +
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.
1096 -
1097 +
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.
1102 -
1103 +
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/>. */
1106
1107 @@ -26,7 +26,7 @@
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.
1111 -
1112 +
1113 This special exception was added by the Free Software Foundation in
1114 version 2.2 of Bison. */
1115
1116 @@ -44,7 +44,7 @@
1117 #define YYBISON 1
1118
1119 /* Bison version. */
1120 -#define YYBISON_VERSION "2.5"
1121 +#define YYBISON_VERSION "3.0.2"
1122
1123 /* Skeleton name. */
1124 #define YYSKELETON_NAME "yacc.c"
1125 @@ -58,18 +58,13 @@
1126 /* Pull parsers. */
1127 #define YYPULL 1
1128
1129 -/* Using locations. */
1130 -#define YYLSP_NEEDED 1
1131
1132
1133
1134 /* Copy the first part of user declarations. */
1135 -
1136 -/* Line 268 of yacc.c */
1137 -#line 20 "dtc-parser.y"
1138 +#line 20 "dtc-parser.y" /* yacc.c:339 */
1139
1140 #include <stdio.h>
1141 -#include <inttypes.h>
1142
1143 #include "dtc.h"
1144 #include "srcpos.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;
1148
1149 +#line 84 "dtc-parser.tab.c" /* yacc.c:339 */
1150
1151 -/* Line 268 of yacc.c */
1152 -#line 91 "dtc-parser.tab.c"
1153 -
1154 -/* Enabling traces. */
1155 -#ifndef YYDEBUG
1156 -# define YYDEBUG 0
1157 -#endif
1158 +# ifndef YY_NULLPTR
1159 +# if defined __cplusplus && 201103L <= __cplusplus
1160 +# define YY_NULLPTR nullptr
1161 +# else
1162 +# define YY_NULLPTR 0
1163 +# endif
1164 +# endif
1165
1166 /* Enabling verbose error messages. */
1167 #ifdef YYERROR_VERBOSE
1168 @@ -102,51 +98,53 @@ extern bool treesource_error;
1169 # define YYERROR_VERBOSE 0
1170 #endif
1171
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. */
1180 +#ifndef YYDEBUG
1181 +# define YYDEBUG 0
1182 +#endif
1183 +#if YYDEBUG
1184 +extern int yydebug;
1185 #endif
1186
1187 -
1188 -/* Tokens. */
1189 +/* Token type. */
1190 #ifndef YYTOKENTYPE
1191 # define YYTOKENTYPE
1192 - /* Put the tokens into the symbol table, so that GDB and other debuggers
1193 - know about them. */
1194 - enum yytokentype {
1195 - DT_V1 = 258,
1196 - DT_PLUGIN = 259,
1197 - DT_MEMRESERVE = 260,
1198 - DT_LSHIFT = 261,
1199 - DT_RSHIFT = 262,
1200 - DT_LE = 263,
1201 - DT_GE = 264,
1202 - DT_EQ = 265,
1203 - DT_NE = 266,
1204 - DT_AND = 267,
1205 - DT_OR = 268,
1206 - DT_BITS = 269,
1207 - DT_DEL_PROP = 270,
1208 - DT_DEL_NODE = 271,
1209 - DT_PROPNODENAME = 272,
1210 - DT_LITERAL = 273,
1211 - DT_CHAR_LITERAL = 274,
1212 - DT_BYTE = 275,
1213 - DT_STRING = 276,
1214 - DT_LABEL = 277,
1215 - DT_REF = 278,
1216 - DT_INCBIN = 279
1217 - };
1218 + enum yytokentype
1219 + {
1220 + DT_V1 = 258,
1221 + DT_MEMRESERVE = 259,
1222 + DT_LSHIFT = 260,
1223 + DT_RSHIFT = 261,
1224 + DT_LE = 262,
1225 + DT_GE = 263,
1226 + DT_EQ = 264,
1227 + DT_NE = 265,
1228 + DT_AND = 266,
1229 + DT_OR = 267,
1230 + DT_BITS = 268,
1231 + DT_DEL_PROP = 269,
1232 + DT_DEL_NODE = 270,
1233 + DT_PROPNODENAME = 271,
1234 + DT_LITERAL = 272,
1235 + DT_CHAR_LITERAL = 273,
1236 + DT_BYTE = 274,
1237 + DT_STRING = 275,
1238 + DT_LABEL = 276,
1239 + DT_REF = 277,
1240 + DT_INCBIN = 278
1241 + };
1242 #endif
1243
1244 -
1245 -
1246 +/* Value type. */
1247 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1248 -typedef union YYSTYPE
1249 +typedef union YYSTYPE YYSTYPE;
1250 +union YYSTYPE
1251 {
1252 -
1253 -/* Line 293 of yacc.c */
1254 -#line 39 "dtc-parser.y"
1255 +#line 38 "dtc-parser.y" /* yacc.c:355 */
1256
1257 char *propnodename;
1258 char *labelref;
1259 @@ -164,37 +162,37 @@ typedef union YYSTYPE
1260 struct node *nodelist;
1261 struct reserve_info *re;
1262 uint64_t integer;
1263 - int is_plugin;
1264 -
1265 -
1266
1267 -/* Line 293 of yacc.c */
1268 -#line 173 "dtc-parser.tab.c"
1269 -} YYSTYPE;
1270 +#line 167 "dtc-parser.tab.c" /* yacc.c:355 */
1271 +};
1272 # define YYSTYPE_IS_TRIVIAL 1
1273 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */
1274 # define YYSTYPE_IS_DECLARED 1
1275 #endif
1276
1277 +/* Location type. */
1278 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1279 -typedef struct YYLTYPE
1280 +typedef struct YYLTYPE YYLTYPE;
1281 +struct YYLTYPE
1282 {
1283 int first_line;
1284 int first_column;
1285 int last_line;
1286 int last_column;
1287 -} YYLTYPE;
1288 -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
1289 +};
1290 # define YYLTYPE_IS_DECLARED 1
1291 # define YYLTYPE_IS_TRIVIAL 1
1292 #endif
1293
1294
1295 -/* Copy the second part of user declarations. */
1296 +extern YYSTYPE yylval;
1297 +extern YYLTYPE yylloc;
1298 +int yyparse (void);
1299 +
1300 +#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
1301
1302 +/* Copy the second part of user declarations. */
1303
1304 -/* Line 343 of yacc.c */
1305 -#line 198 "dtc-parser.tab.c"
1306 +#line 196 "dtc-parser.tab.c" /* yacc.c:358 */
1307
1308 #ifdef short
1309 # undef short
1310 @@ -208,11 +206,8 @@ typedef unsigned char yytype_uint8;
1311
1312 #ifdef YYTYPE_INT8
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;
1317 #else
1318 -typedef short int yytype_int8;
1319 +typedef signed char yytype_int8;
1320 #endif
1321
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
1332 # else
1333 @@ -247,39 +241,68 @@ typedef short int yytype_int16;
1334 # if defined YYENABLE_NLS && YYENABLE_NLS
1335 # if ENABLE_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)
1339 # endif
1340 # endif
1341 # ifndef YY_
1342 -# define YY_(msgid) msgid
1343 +# define YY_(Msgid) Msgid
1344 +# endif
1345 +#endif
1346 +
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)
1352 +# else
1353 +# define YY_ATTRIBUTE(Spec) /* empty */
1354 +# endif
1355 +#endif
1356 +
1357 +#ifndef YY_ATTRIBUTE_PURE
1358 +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
1359 +#endif
1360 +
1361 +#ifndef YY_ATTRIBUTE_UNUSED
1362 +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
1363 +#endif
1364 +
1365 +#if !defined _Noreturn \
1366 + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
1367 +# if defined _MSC_VER && 1200 <= _MSC_VER
1368 +# define _Noreturn __declspec (noreturn)
1369 +# else
1370 +# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
1371 # endif
1372 #endif
1373
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))
1378 #else
1379 -# define YYUSE(e) /* empty */
1380 +# define YYUSE(E) /* empty */
1381 #endif
1382
1383 -/* Identity function, used to suppress warnings about constant conditions. */
1384 -#ifndef lint
1385 -# define YYID(n) (n)
1386 -#else
1387 -#if (defined __STDC__ || defined __C99__FUNC__ \
1388 - || defined __cplusplus || defined _MSC_VER)
1389 -static int
1390 -YYID (int yyi)
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")
1399 #else
1400 -static int
1401 -YYID (yyi)
1402 - int yyi;
1403 +# define YY_INITIAL_VALUE(Value) Value
1404 #endif
1405 -{
1406 - return yyi;
1407 -}
1408 +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1409 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1410 +# define YY_IGNORE_MAYBE_UNINITIALIZED_END
1411 +#endif
1412 +#ifndef YY_INITIAL_VALUE
1413 +# define YY_INITIAL_VALUE(Value) /* Nothing. */
1414 #endif
1415
1416 +
1417 #if ! defined yyoverflow || YYERROR_VERBOSE
1418
1419 /* The parser invokes alloca or malloc; define the necessary symbols. */
1420 @@ -297,9 +320,9 @@ YYID (yyi)
1421 # define alloca _alloca
1422 # else
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
1431 # endif
1432 @@ -309,8 +332,8 @@ YYID (yyi)
1433 # endif
1434
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)
1444 # endif
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)
1453 # endif
1454 # ifndef YYMALLOC
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 */
1460 # endif
1461 # endif
1462 # ifndef YYFREE
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 */
1468 # endif
1469 # endif
1470 @@ -352,8 +373,8 @@ void free (void *); /* INFRINGES ON USER
1471
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)))
1478
1479 /* A type that is properly aligned for any stack member. */
1480 union yyalloc
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
1484 stack. */
1485 -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1486 - do \
1487 - { \
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); \
1493 - } \
1494 - while (YYID (0))
1495 +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1496 + do \
1497 + { \
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); \
1503 + } \
1504 + while (0)
1505
1506 #endif
1507
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
1511 not overlap. */
1512 # ifndef YYCOPY
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)))
1518 # else
1519 -# define YYCOPY(To, From, Count) \
1520 - do \
1521 - { \
1522 - YYSIZE_T yyi; \
1523 - for (yyi = 0; yyi < (Count); yyi++) \
1524 - (To)[yyi] = (From)[yyi]; \
1525 - } \
1526 - while (YYID (0))
1527 +# define YYCOPY(Dst, Src, Count) \
1528 + do \
1529 + { \
1530 + YYSIZE_T yyi; \
1531 + for (yyi = 0; yyi < (Count); yyi++) \
1532 + (Dst)[yyi] = (Src)[yyi]; \
1533 + } \
1534 + while (0)
1535 # endif
1536 # endif
1537 #endif /* !YYCOPY_NEEDED */
1538 @@ -418,37 +439,39 @@ union yyalloc
1539 #define YYLAST 136
1540
1541 /* YYNTOKENS -- Number of terminals. */
1542 -#define YYNTOKENS 48
1543 +#define YYNTOKENS 47
1544 /* YYNNTS -- Number of nonterminals. */
1545 -#define YYNNTS 29
1546 +#define YYNNTS 28
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
1554
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
1561
1562 -#define YYTRANSLATE(YYX) \
1563 +#define YYTRANSLATE(YYX) \
1564 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1565
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[] =
1570 {
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
1599 };
1600
1601 #if YYDEBUG
1602 -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1603 - YYRHS. */
1604 -static const yytype_uint16 yyprhs[] =
1605 -{
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,
1614 - 262, 265, 269
1615 -};
1616 -
1617 -/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1618 -static const yytype_int8 yyrhs[] =
1619 -{
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,
1647 - 76, -1
1648 -};
1649 -
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[] =
1653 {
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,
1662 - 474, 478, 482
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,
1671 + 465
1672 };
1673 #endif
1674
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[] =
1680 {
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
1707 };
1708 #endif
1709
1710 # ifdef YYPRINT
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[] =
1716 {
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
1725 };
1726 # endif
1727
1728 -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1729 -static const yytype_uint8 yyr1[] =
1730 -{
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,
1739 - 76, 76, 76
1740 -};
1741 +#define YYPACT_NINF -81
1742
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)))
1747 +
1748 +#define YYTABLE_NINF -1
1749 +
1750 +#define yytable_value_is_error(Yytable_value) \
1751 + 0
1752 +
1753 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1754 + STATE-NUM. */
1755 +static const yytype_int8 yypact[] =
1756 {
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,
1765 - 2, 3, 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,
1780 + 74, 25, 75, -81
1781 };
1782
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[] =
1790 {
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,
1819 + 0, 0, 0, 23
1820 };
1821
1822 -/* YYDEFGOTO[NTERM-NUM]. */
1823 -static const yytype_int16 yydefgoto[] =
1824 + /* YYPGOTO[NTERM-NUM]. */
1825 +static const yytype_int8 yypgoto[] =
1826 {
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
1833 };
1834
1835 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1836 - STATE-NUM. */
1837 -#define YYPACT_NINF -84
1838 -static const yytype_int8 yypact[] =
1839 + /* YYDEFGOTO[NTERM-NUM]. */
1840 +static const yytype_int16 yydefgoto[] =
1841 {
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
1860 };
1861
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[] =
1868 {
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
1886 };
1887
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[] =
1894 {
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
1923 };
1924
1925 -#define yypact_value_is_default(yystate) \
1926 - ((yystate) == (-84))
1927 -
1928 -#define yytable_value_is_error(yytable_value) \
1929 - YYID (0)
1930 + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1931 + symbol of state STATE-NUM. */
1932 +static const yytype_uint8 yystos[] =
1933 +{
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,
1948 + 58, 33, 58, 34
1949 +};
1950
1951 -static const yytype_int16 yycheck[] =
1952 + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1953 +static const yytype_uint8 yyr1[] =
1954 {
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,
1977 + 74
1978 };
1979
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[] =
1985 {
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,
2009 + 2
2010 };
2011
2012 -#define yyerrok (yyerrstatus = 0)
2013 -#define yyclearin (yychar = YYEMPTY)
2014 -#define YYEMPTY (-2)
2015 -#define YYEOF 0
2016 -
2017 -#define YYACCEPT goto yyacceptlab
2018 -#define YYABORT goto yyabortlab
2019 -#define YYERROR goto yyerrorlab
2020 -
2021 -
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
2027 - discussed. */
2028 -
2029 -#define YYFAIL goto yyerrlab
2030 -#if defined YYFAIL
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. */
2035 -#endif
2036
2037 -#define YYRECOVERING() (!!yyerrstatus)
2038 +#define yyerrok (yyerrstatus = 0)
2039 +#define yyclearin (yychar = YYEMPTY)
2040 +#define YYEMPTY (-2)
2041 +#define YYEOF 0
2042 +
2043 +#define YYACCEPT goto yyacceptlab
2044 +#define YYABORT goto yyabortlab
2045 +#define YYERROR goto yyerrorlab
2046
2047 -#define YYBACKUP(Token, Value) \
2048 -do \
2049 - if (yychar == YYEMPTY && yylen == 1) \
2050 - { \
2051 - yychar = (Token); \
2052 - yylval = (Value); \
2053 - YYPOPSTACK (1); \
2054 - goto yybackup; \
2055 - } \
2056 - else \
2057 - { \
2058 - yyerror (YY_("syntax error: cannot back up")); \
2059 - YYERROR; \
2060 - } \
2061 -while (YYID (0))
2062
2063 +#define YYRECOVERING() (!!yyerrstatus)
2064
2065 -#define YYTERROR 1
2066 -#define YYERRCODE 256
2067 +#define YYBACKUP(Token, Value) \
2068 +do \
2069 + if (yychar == YYEMPTY) \
2070 + { \
2071 + yychar = (Token); \
2072 + yylval = (Value); \
2073 + YYPOPSTACK (yylen); \
2074 + yystate = *yyssp; \
2075 + goto yybackup; \
2076 + } \
2077 + else \
2078 + { \
2079 + yyerror (YY_("syntax error: cannot back up")); \
2080 + YYERROR; \
2081 + } \
2082 +while (0)
2083 +
2084 +/* Error token number */
2085 +#define YYTERROR 1
2086 +#define YYERRCODE 256
2087
2088
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). */
2092
2093 -#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2094 #ifndef YYLLOC_DEFAULT
2095 -# define YYLLOC_DEFAULT(Current, Rhs, N) \
2096 - do \
2097 - if (YYID (N)) \
2098 - { \
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; \
2103 - } \
2104 - else \
2105 - { \
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; \
2110 - } \
2111 - while (YYID (0))
2112 +# define YYLLOC_DEFAULT(Current, Rhs, N) \
2113 + do \
2114 + if (N) \
2115 + { \
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; \
2120 + } \
2121 + else \
2122 + { \
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; \
2127 + } \
2128 + while (0)
2129 #endif
2130
2131 +#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2132 +
2133 +
2134 +/* Enable debugging if requested. */
2135 +#if YYDEBUG
2136 +
2137 +# ifndef YYFPRINTF
2138 +# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2139 +# define YYFPRINTF fprintf
2140 +# endif
2141 +
2142 +# define YYDPRINTF(Args) \
2143 +do { \
2144 + if (yydebug) \
2145 + YYFPRINTF Args; \
2146 +} while (0)
2147 +
2148
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))
2152
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)
2159 -# else
2160 -# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2161 -# endif
2162 -#endif
2163 -
2164
2165 -/* YYLEX -- calling `yylex' with the right arguments. */
2166 +/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
2167
2168 -#ifdef YYLEX_PARAM
2169 -# define YYLEX yylex (YYLEX_PARAM)
2170 -#else
2171 -# define YYLEX yylex ()
2172 -#endif
2173 +YY_ATTRIBUTE_UNUSED
2174 +static unsigned
2175 +yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
2176 +{
2177 + unsigned res = 0;
2178 + int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
2179 + if (0 <= yylocp->first_line)
2180 + {
2181 + res += YYFPRINTF (yyo, "%d", yylocp->first_line);
2182 + if (0 <= yylocp->first_column)
2183 + res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
2184 + }
2185 + if (0 <= yylocp->last_line)
2186 + {
2187 + if (yylocp->first_line < yylocp->last_line)
2188 + {
2189 + res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
2190 + if (0 <= end_col)
2191 + res += YYFPRINTF (yyo, ".%d", end_col);
2192 + }
2193 + else if (0 <= end_col && yylocp->first_column < end_col)
2194 + res += YYFPRINTF (yyo, "-%d", end_col);
2195 + }
2196 + return res;
2197 + }
2198
2199 -/* Enable debugging if requested. */
2200 -#if YYDEBUG
2201 +# define YY_LOCATION_PRINT(File, Loc) \
2202 + yy_location_print_ (File, &(Loc))
2203
2204 -# ifndef YYFPRINTF
2205 -# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2206 -# define YYFPRINTF fprintf
2207 +# else
2208 +# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2209 # endif
2210 +#endif
2211
2212 -# define YYDPRINTF(Args) \
2213 -do { \
2214 - if (yydebug) \
2215 - YYFPRINTF Args; \
2216 -} while (YYID (0))
2217 -
2218 -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2219 -do { \
2220 - if (yydebug) \
2221 - { \
2222 - YYFPRINTF (stderr, "%s ", Title); \
2223 - yy_symbol_print (stderr, \
2224 - Type, Value, Location); \
2225 - YYFPRINTF (stderr, "\n"); \
2226 - } \
2227 -} while (YYID (0))
2228
2229 +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2230 +do { \
2231 + if (yydebug) \
2232 + { \
2233 + YYFPRINTF (stderr, "%s ", Title); \
2234 + yy_symbol_print (stderr, \
2235 + Type, Value, Location); \
2236 + YYFPRINTF (stderr, "\n"); \
2237 + } \
2238 +} while (0)
2239
2240 -/*--------------------------------.
2241 -| Print this symbol on YYOUTPUT. |
2242 -`--------------------------------*/
2243
2244 -/*ARGSUSED*/
2245 -#if (defined __STDC__ || defined __C99__FUNC__ \
2246 - || defined __cplusplus || defined _MSC_VER)
2247 +/*----------------------------------------.
2248 +| Print this symbol's value on YYOUTPUT. |
2249 +`----------------------------------------*/
2250 +
2251 static void
2252 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
2253 -#else
2254 -static void
2255 -yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
2256 - FILE *yyoutput;
2257 - int yytype;
2258 - YYSTYPE const * const yyvaluep;
2259 - YYLTYPE const * const yylocationp;
2260 -#endif
2261 {
2262 + FILE *yyo = yyoutput;
2263 + YYUSE (yyo);
2264 + YYUSE (yylocationp);
2265 if (!yyvaluep)
2266 return;
2267 - YYUSE (yylocationp);
2268 # ifdef YYPRINT
2269 if (yytype < YYNTOKENS)
2270 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2271 -# else
2272 - YYUSE (yyoutput);
2273 # endif
2274 - switch (yytype)
2275 - {
2276 - default:
2277 - break;
2278 - }
2279 + YYUSE (yytype);
2280 }
2281
2282
2283 @@ -882,23 +853,11 @@ yy_symbol_value_print (yyoutput, yytype,
2284 | Print this symbol on YYOUTPUT. |
2285 `--------------------------------*/
2286
2287 -#if (defined __STDC__ || defined __C99__FUNC__ \
2288 - || defined __cplusplus || defined _MSC_VER)
2289 static void
2290 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
2291 -#else
2292 -static void
2293 -yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
2294 - FILE *yyoutput;
2295 - int yytype;
2296 - YYSTYPE const * const yyvaluep;
2297 - YYLTYPE const * const yylocationp;
2298 -#endif
2299 {
2300 - if (yytype < YYNTOKENS)
2301 - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2302 - else
2303 - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2304 + YYFPRINTF (yyoutput, "%s %s (",
2305 + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2306
2307 YY_LOCATION_PRINT (yyoutput, *yylocationp);
2308 YYFPRINTF (yyoutput, ": ");
2309 @@ -911,16 +870,8 @@ yy_symbol_print (yyoutput, yytype, yyval
2310 | TOP (included). |
2311 `------------------------------------------------------------------*/
2312
2313 -#if (defined __STDC__ || defined __C99__FUNC__ \
2314 - || defined __cplusplus || defined _MSC_VER)
2315 static void
2316 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2317 -#else
2318 -static void
2319 -yy_stack_print (yybottom, yytop)
2320 - yytype_int16 *yybottom;
2321 - yytype_int16 *yytop;
2322 -#endif
2323 {
2324 YYFPRINTF (stderr, "Stack now");
2325 for (; yybottom <= yytop; yybottom++)
2326 @@ -931,50 +882,42 @@ yy_stack_print (yybottom, yytop)
2327 YYFPRINTF (stderr, "\n");
2328 }
2329
2330 -# define YY_STACK_PRINT(Bottom, Top) \
2331 -do { \
2332 - if (yydebug) \
2333 - yy_stack_print ((Bottom), (Top)); \
2334 -} while (YYID (0))
2335 +# define YY_STACK_PRINT(Bottom, Top) \
2336 +do { \
2337 + if (yydebug) \
2338 + yy_stack_print ((Bottom), (Top)); \
2339 +} while (0)
2340
2341
2342 /*------------------------------------------------.
2343 | Report that the YYRULE is going to be reduced. |
2344 `------------------------------------------------*/
2345
2346 -#if (defined __STDC__ || defined __C99__FUNC__ \
2347 - || defined __cplusplus || defined _MSC_VER)
2348 -static void
2349 -yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
2350 -#else
2351 static void
2352 -yy_reduce_print (yyvsp, yylsp, yyrule)
2353 - YYSTYPE *yyvsp;
2354 - YYLTYPE *yylsp;
2355 - int yyrule;
2356 -#endif
2357 +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
2358 {
2359 + unsigned long int yylno = yyrline[yyrule];
2360 int yynrhs = yyr2[yyrule];
2361 int yyi;
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++)
2368 {
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");
2378 }
2379 }
2380
2381 -# define YY_REDUCE_PRINT(Rule) \
2382 -do { \
2383 - if (yydebug) \
2384 - yy_reduce_print (yyvsp, yylsp, Rule); \
2385 -} while (YYID (0))
2386 +# define YY_REDUCE_PRINT(Rule) \
2387 +do { \
2388 + if (yydebug) \
2389 + yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
2390 +} while (0)
2391
2392 /* Nonzero means print parse trace. It is left uninitialized so that
2393 multiple parsers can coexist. */
2394 @@ -988,7 +931,7 @@ int yydebug;
2395
2396
2397 /* YYINITDEPTH -- initial size of the parser's stacks. */
2398 -#ifndef YYINITDEPTH
2399 +#ifndef YYINITDEPTH
2400 # define YYINITDEPTH 200
2401 #endif
2402
2403 @@ -1011,15 +954,8 @@ int yydebug;
2404 # define yystrlen strlen
2405 # else
2406 /* Return the length of YYSTR. */
2407 -#if (defined __STDC__ || defined __C99__FUNC__ \
2408 - || defined __cplusplus || defined _MSC_VER)
2409 static YYSIZE_T
2410 yystrlen (const char *yystr)
2411 -#else
2412 -static YYSIZE_T
2413 -yystrlen (yystr)
2414 - const char *yystr;
2415 -#endif
2416 {
2417 YYSIZE_T yylen;
2418 for (yylen = 0; yystr[yylen]; yylen++)
2419 @@ -1035,16 +971,8 @@ yystrlen (yystr)
2420 # else
2421 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2422 YYDEST. */
2423 -#if (defined __STDC__ || defined __C99__FUNC__ \
2424 - || defined __cplusplus || defined _MSC_VER)
2425 static char *
2426 yystpcpy (char *yydest, const char *yysrc)
2427 -#else
2428 -static char *
2429 -yystpcpy (yydest, yysrc)
2430 - char *yydest;
2431 - const char *yysrc;
2432 -#endif
2433 {
2434 char *yyd = yydest;
2435 const char *yys = yysrc;
2436 @@ -1074,27 +1002,27 @@ yytnamerr (char *yyres, const char *yyst
2437 char const *yyp = yystr;
2438
2439 for (;;)
2440 - switch (*++yyp)
2441 - {
2442 - case '\'':
2443 - case ',':
2444 - goto do_not_strip_quotes;
2445 -
2446 - case '\\':
2447 - if (*++yyp != '\\')
2448 - goto do_not_strip_quotes;
2449 - /* Fall through. */
2450 - default:
2451 - if (yyres)
2452 - yyres[yyn] = *yyp;
2453 - yyn++;
2454 - break;
2455 -
2456 - case '"':
2457 - if (yyres)
2458 - yyres[yyn] = '\0';
2459 - return yyn;
2460 - }
2461 + switch (*++yyp)
2462 + {
2463 + case '\'':
2464 + case ',':
2465 + goto do_not_strip_quotes;
2466 +
2467 + case '\\':
2468 + if (*++yyp != '\\')
2469 + goto do_not_strip_quotes;
2470 + /* Fall through. */
2471 + default:
2472 + if (yyres)
2473 + yyres[yyn] = *yyp;
2474 + yyn++;
2475 + break;
2476 +
2477 + case '"':
2478 + if (yyres)
2479 + yyres[yyn] = '\0';
2480 + return yyn;
2481 + }
2482 do_not_strip_quotes: ;
2483 }
2484
2485 @@ -1117,12 +1045,11 @@ static int
2486 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2487 yytype_int16 *yyssp, int yytoken)
2488 {
2489 - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2490 + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2491 YYSIZE_T yysize = yysize0;
2492 - YYSIZE_T yysize1;
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
2501 int yycount = 0;
2502
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
2507 - function.
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
2512 break;
2513 }
2514 yyarg[yycount++] = yytname[yyx];
2515 - yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2516 - if (! (yysize <= yysize1
2517 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2518 - return 2;
2519 - yysize = yysize1;
2520 + {
2521 + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2522 + if (! (yysize <= yysize1
2523 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2524 + return 2;
2525 + yysize = yysize1;
2526 + }
2527 }
2528 }
2529 }
2530 @@ -1206,10 +1131,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2531 # undef YYCASE_
2532 }
2533
2534 - yysize1 = yysize + yystrlen (yyformat);
2535 - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2536 - return 2;
2537 - yysize = yysize1;
2538 + {
2539 + YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
2540 + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2541 + return 2;
2542 + yysize = yysize1;
2543 + }
2544
2545 if (*yymsg_alloc < yysize)
2546 {
2547 @@ -1246,50 +1173,21 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
2548 | Release the memory associated to this symbol. |
2549 `-----------------------------------------------*/
2550
2551 -/*ARGSUSED*/
2552 -#if (defined __STDC__ || defined __C99__FUNC__ \
2553 - || defined __cplusplus || defined _MSC_VER)
2554 static void
2555 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
2556 -#else
2557 -static void
2558 -yydestruct (yymsg, yytype, yyvaluep, yylocationp)
2559 - const char *yymsg;
2560 - int yytype;
2561 - YYSTYPE *yyvaluep;
2562 - YYLTYPE *yylocationp;
2563 -#endif
2564 {
2565 YYUSE (yyvaluep);
2566 YYUSE (yylocationp);
2567 -
2568 if (!yymsg)
2569 yymsg = "Deleting";
2570 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2571
2572 - switch (yytype)
2573 - {
2574 -
2575 - default:
2576 - break;
2577 - }
2578 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2579 + YYUSE (yytype);
2580 + YY_IGNORE_MAYBE_UNINITIALIZED_END
2581 }
2582
2583
2584 -/* Prevent warnings from -Wmissing-prototypes. */
2585 -#ifdef YYPARSE_PARAM
2586 -#if defined __STDC__ || defined __cplusplus
2587 -int yyparse (void *YYPARSE_PARAM);
2588 -#else
2589 -int yyparse ();
2590 -#endif
2591 -#else /* ! YYPARSE_PARAM */
2592 -#if defined __STDC__ || defined __cplusplus
2593 -int yyparse (void);
2594 -#else
2595 -int yyparse ();
2596 -#endif
2597 -#endif /* ! YYPARSE_PARAM */
2598
2599
2600 /* The lookahead symbol. */
2601 @@ -1297,10 +1195,12 @@ int yychar;
2602
2603 /* The semantic value of the lookahead symbol. */
2604 YYSTYPE yylval;
2605 -
2606 /* Location data for the lookahead symbol. */
2607 -YYLTYPE yylloc;
2608 -
2609 +YYLTYPE yylloc
2610 +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2611 + = { 1, 1, 1, 1 }
2612 +# endif
2613 +;
2614 /* Number of syntax errors so far. */
2615 int yynerrs;
2616
2617 @@ -1309,38 +1209,19 @@ int yynerrs;
2618 | yyparse. |
2619 `----------*/
2620
2621 -#ifdef YYPARSE_PARAM
2622 -#if (defined __STDC__ || defined __C99__FUNC__ \
2623 - || defined __cplusplus || defined _MSC_VER)
2624 -int
2625 -yyparse (void *YYPARSE_PARAM)
2626 -#else
2627 -int
2628 -yyparse (YYPARSE_PARAM)
2629 - void *YYPARSE_PARAM;
2630 -#endif
2631 -#else /* ! YYPARSE_PARAM */
2632 -#if (defined __STDC__ || defined __C99__FUNC__ \
2633 - || defined __cplusplus || defined _MSC_VER)
2634 int
2635 yyparse (void)
2636 -#else
2637 -int
2638 -yyparse ()
2639 -
2640 -#endif
2641 -#endif
2642 {
2643 int yystate;
2644 /* Number of tokens to shift before error messages enabled. */
2645 int yyerrstatus;
2646
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.
2654
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. */
2658
2659 /* The state stack. */
2660 @@ -1366,7 +1247,7 @@ yyparse ()
2661 int yyn;
2662 int yyresult;
2663 /* Lookahead token as an internal (translated) token number. */
2664 - int yytoken;
2665 + int yytoken = 0;
2666 /* The variables used to return semantic value and location from the
2667 action routines. */
2668 YYSTYPE yyval;
2669 @@ -1385,10 +1266,9 @@ yyparse ()
2670 Keep to zero when no symbol should be popped. */
2671 int yylen = 0;
2672
2673 - yytoken = 0;
2674 - yyss = yyssa;
2675 - yyvs = yyvsa;
2676 - yyls = yylsa;
2677 + yyssp = yyss = yyssa;
2678 + yyvsp = yyvs = yyvsa;
2679 + yylsp = yyls = yylsa;
2680 yystacksize = YYINITDEPTH;
2681
2682 YYDPRINTF ((stderr, "Starting parse\n"));
2683 @@ -1397,21 +1277,7 @@ yyparse ()
2684 yyerrstatus = 0;
2685 yynerrs = 0;
2686 yychar = YYEMPTY; /* Cause a token to be read. */
2687 -
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. */
2692 - yyssp = yyss;
2693 - yyvsp = yyvs;
2694 - yylsp = yyls;
2695 -
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;
2700 -#endif
2701 -
2702 + yylsp[0] = yylloc;
2703 goto yysetstate;
2704
2705 /*------------------------------------------------------------.
2706 @@ -1432,26 +1298,26 @@ yyparse ()
2707
2708 #ifdef yyoverflow
2709 {
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
2712 - memory. */
2713 - YYSTYPE *yyvs1 = yyvs;
2714 - yytype_int16 *yyss1 = yyss;
2715 - YYLTYPE *yyls1 = yyls;
2716 -
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),
2725 - &yystacksize);
2726 -
2727 - yyls = yyls1;
2728 - yyss = yyss1;
2729 - yyvs = yyvs1;
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
2732 + memory. */
2733 + YYSTYPE *yyvs1 = yyvs;
2734 + yytype_int16 *yyss1 = yyss;
2735 + YYLTYPE *yyls1 = yyls;
2736 +
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),
2745 + &yystacksize);
2746 +
2747 + yyls = yyls1;
2748 + yyss = yyss1;
2749 + yyvs = yyvs1;
2750 }
2751 #else /* no yyoverflow */
2752 # ifndef YYSTACK_RELOCATE
2753 @@ -1459,23 +1325,23 @@ yyparse ()
2754 # else
2755 /* Extend the stack our own way. */
2756 if (YYMAXDEPTH <= yystacksize)
2757 - goto yyexhaustedlab;
2758 + goto yyexhaustedlab;
2759 yystacksize *= 2;
2760 if (YYMAXDEPTH < yystacksize)
2761 - yystacksize = YYMAXDEPTH;
2762 + yystacksize = YYMAXDEPTH;
2763
2764 {
2765 - yytype_int16 *yyss1 = yyss;
2766 - union yyalloc *yyptr =
2767 - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2768 - if (! yyptr)
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));
2776 + if (! yyptr)
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);
2786 }
2787 # endif
2788 #endif /* no yyoverflow */
2789 @@ -1485,10 +1351,10 @@ yyparse ()
2790 yylsp = yyls + yysize - 1;
2791
2792 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2793 - (unsigned long int) yystacksize));
2794 + (unsigned long int) yystacksize));
2795
2796 if (yyss + yystacksize - 1 <= yyssp)
2797 - YYABORT;
2798 + YYABORT;
2799 }
2800
2801 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2802 @@ -1517,7 +1383,7 @@ yybackup:
2803 if (yychar == YYEMPTY)
2804 {
2805 YYDPRINTF ((stderr, "Reading a token: "));
2806 - yychar = YYLEX;
2807 + yychar = yylex ();
2808 }
2809
2810 if (yychar <= YYEOF)
2811 @@ -1557,7 +1423,9 @@ yybackup:
2812 yychar = YYEMPTY;
2813
2814 yystate = yyn;
2815 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2816 *++yyvsp = yylval;
2817 + YY_IGNORE_MAYBE_UNINITIALIZED_END
2818 *++yylsp = yylloc;
2819 goto yynewstate;
2820
2821 @@ -1580,7 +1448,7 @@ yyreduce:
2822 yylen = yyr2[yyn];
2823
2824 /* If YYLEN is nonzero, implement the default value of the action:
2825 - `$$ = $1'.
2826 + '$$ = $1'.
2827
2828 Otherwise, the following line sets YYVAL to garbage.
2829 This behavior is undocumented and Bison
2830 @@ -1595,322 +1463,273 @@ yyreduce:
2831 switch (yyn)
2832 {
2833 case 2:
2834 -
2835 -/* Line 1806 of yacc.c */
2836 -#line 109 "dtc-parser.y"
2837 +#line 105 "dtc-parser.y" /* yacc.c:1646 */
2838 {
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)));
2845 }
2846 +#line 1472 "dtc-parser.tab.c" /* yacc.c:1646 */
2847 break;
2848
2849 case 3:
2850 -
2851 -/* Line 1806 of yacc.c */
2852 -#line 119 "dtc-parser.y"
2853 +#line 113 "dtc-parser.y" /* yacc.c:1646 */
2854 {
2855 - (yyval.is_plugin) = 0;
2856 + (yyval.re) = NULL;
2857 }
2858 +#line 1480 "dtc-parser.tab.c" /* yacc.c:1646 */
2859 break;
2860
2861 case 4:
2862 -
2863 -/* Line 1806 of yacc.c */
2864 -#line 123 "dtc-parser.y"
2865 +#line 117 "dtc-parser.y" /* yacc.c:1646 */
2866 {
2867 - (yyval.is_plugin) = 1;
2868 + (yyval.re) = chain_reserve_entry((yyvsp[-1].re), (yyvsp[0].re));
2869 }
2870 +#line 1488 "dtc-parser.tab.c" /* yacc.c:1646 */
2871 break;
2872
2873 case 5:
2874 -
2875 -/* Line 1806 of yacc.c */
2876 -#line 130 "dtc-parser.y"
2877 +#line 124 "dtc-parser.y" /* yacc.c:1646 */
2878 {
2879 - (yyval.re) = NULL;
2880 + (yyval.re) = build_reserve_entry((yyvsp[-2].integer), (yyvsp[-1].integer));
2881 }
2882 +#line 1496 "dtc-parser.tab.c" /* yacc.c:1646 */
2883 break;
2884
2885 case 6:
2886 -
2887 -/* Line 1806 of yacc.c */
2888 -#line 134 "dtc-parser.y"
2889 +#line 128 "dtc-parser.y" /* yacc.c:1646 */
2890 {
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);
2894 }
2895 +#line 1505 "dtc-parser.tab.c" /* yacc.c:1646 */
2896 break;
2897
2898 case 7:
2899 -
2900 -/* Line 1806 of yacc.c */
2901 -#line 141 "dtc-parser.y"
2902 +#line 136 "dtc-parser.y" /* yacc.c:1646 */
2903 {
2904 - (yyval.re) = build_reserve_entry((yyvsp[(2) - (4)].integer), (yyvsp[(3) - (4)].integer));
2905 + (yyval.node) = name_node((yyvsp[0].node), "");
2906 }
2907 +#line 1513 "dtc-parser.tab.c" /* yacc.c:1646 */
2908 break;
2909
2910 case 8:
2911 -
2912 -/* Line 1806 of yacc.c */
2913 -#line 145 "dtc-parser.y"
2914 +#line 140 "dtc-parser.y" /* yacc.c:1646 */
2915 {
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));
2919 }
2920 +#line 1521 "dtc-parser.tab.c" /* yacc.c:1646 */
2921 break;
2922
2923 case 9:
2924 -
2925 -/* Line 1806 of yacc.c */
2926 -#line 153 "dtc-parser.y"
2927 +#line 145 "dtc-parser.y" /* yacc.c:1646 */
2928 {
2929 - (yyval.node) = name_node((yyvsp[(2) - (2)].node), "");
2930 + struct node *target = get_node_by_ref((yyvsp[-3].node), (yyvsp[-1].labelref));
2931 +
2932 + add_label(&target->labels, (yyvsp[-2].labelref));
2933 + if (target)
2934 + merge_nodes(target, (yyvsp[0].node));
2935 + else
2936 + ERROR(&(yylsp[-1]), "Label or path %s not found", (yyvsp[-1].labelref));
2937 + (yyval.node) = (yyvsp[-3].node);
2938 }
2939 +#line 1536 "dtc-parser.tab.c" /* yacc.c:1646 */
2940 break;
2941
2942 case 10:
2943 -
2944 -/* Line 1806 of yacc.c */
2945 -#line 157 "dtc-parser.y"
2946 +#line 156 "dtc-parser.y" /* yacc.c:1646 */
2947 {
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));
2950 +
2951 + if (target)
2952 + merge_nodes(target, (yyvsp[0].node));
2953 + else
2954 + ERROR(&(yylsp[-1]), "Label or path %s not found", (yyvsp[-1].labelref));
2955 + (yyval.node) = (yyvsp[-2].node);
2956 }
2957 +#line 1550 "dtc-parser.tab.c" /* yacc.c:1646 */
2958 break;
2959
2960 case 11:
2961 -
2962 -/* Line 1806 of yacc.c */
2963 -#line 162 "dtc-parser.y"
2964 +#line 166 "dtc-parser.y" /* yacc.c:1646 */
2965 {
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));
2968
2969 - add_label(&target->labels, (yyvsp[(2) - (4)].labelref));
2970 if (target)
2971 - merge_nodes(target, (yyvsp[(4) - (4)].node));
2972 + delete_node(target);
2973 else
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));
2977 +
2978 +
2979 + (yyval.node) = (yyvsp[-3].node);
2980 }
2981 +#line 1566 "dtc-parser.tab.c" /* yacc.c:1646 */
2982 break;
2983
2984 case 12:
2985 -
2986 -/* Line 1806 of yacc.c */
2987 -#line 173 "dtc-parser.y"
2988 +#line 181 "dtc-parser.y" /* yacc.c:1646 */
2989 {
2990 - struct node *target = get_node_by_ref((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].labelref));
2991 -
2992 - if (target)
2993 - merge_nodes(target, (yyvsp[(3) - (3)].node));
2994 - else
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));
2998 }
2999 +#line 1574 "dtc-parser.tab.c" /* yacc.c:1646 */
3000 break;
3001
3002 case 13:
3003 -
3004 -/* Line 1806 of yacc.c */
3005 -#line 183 "dtc-parser.y"
3006 +#line 188 "dtc-parser.y" /* yacc.c:1646 */
3007 {
3008 - struct node *target = get_node_by_ref((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].labelref));
3009 -
3010 - if (target)
3011 - delete_node(target);
3012 - else
3013 - ERROR(&(yylsp[(3) - (4)]), "Label or path %s not found", (yyvsp[(3) - (4)].labelref));
3014 -
3015 -
3016 - (yyval.node) = (yyvsp[(1) - (4)].node);
3017 + (yyval.proplist) = NULL;
3018 }
3019 +#line 1582 "dtc-parser.tab.c" /* yacc.c:1646 */
3020 break;
3021
3022 case 14:
3023 -
3024 -/* Line 1806 of yacc.c */
3025 -#line 198 "dtc-parser.y"
3026 +#line 192 "dtc-parser.y" /* yacc.c:1646 */
3027 {
3028 - (yyval.node) = build_node((yyvsp[(2) - (5)].proplist), (yyvsp[(3) - (5)].nodelist));
3029 + (yyval.proplist) = chain_property((yyvsp[0].prop), (yyvsp[-1].proplist));
3030 }
3031 +#line 1590 "dtc-parser.tab.c" /* yacc.c:1646 */
3032 break;
3033
3034 case 15:
3035 -
3036 -/* Line 1806 of yacc.c */
3037 -#line 205 "dtc-parser.y"
3038 +#line 199 "dtc-parser.y" /* yacc.c:1646 */
3039 {
3040 - (yyval.proplist) = NULL;
3041 + (yyval.prop) = build_property((yyvsp[-3].propnodename), (yyvsp[-1].data));
3042 }
3043 +#line 1598 "dtc-parser.tab.c" /* yacc.c:1646 */
3044 break;
3045
3046 case 16:
3047 -
3048 -/* Line 1806 of yacc.c */
3049 -#line 209 "dtc-parser.y"
3050 +#line 203 "dtc-parser.y" /* yacc.c:1646 */
3051 {
3052 - (yyval.proplist) = chain_property((yyvsp[(2) - (2)].prop), (yyvsp[(1) - (2)].proplist));
3053 + (yyval.prop) = build_property((yyvsp[-1].propnodename), empty_data);
3054 }
3055 +#line 1606 "dtc-parser.tab.c" /* yacc.c:1646 */
3056 break;
3057
3058 case 17:
3059 -
3060 -/* Line 1806 of yacc.c */
3061 -#line 216 "dtc-parser.y"
3062 +#line 207 "dtc-parser.y" /* yacc.c:1646 */
3063 {
3064 - (yyval.prop) = build_property((yyvsp[(1) - (4)].propnodename), (yyvsp[(3) - (4)].data));
3065 + (yyval.prop) = build_property_delete((yyvsp[-1].propnodename));
3066 }
3067 +#line 1614 "dtc-parser.tab.c" /* yacc.c:1646 */
3068 break;
3069
3070 case 18:
3071 -
3072 -/* Line 1806 of yacc.c */
3073 -#line 220 "dtc-parser.y"
3074 +#line 211 "dtc-parser.y" /* yacc.c:1646 */
3075 {
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);
3079 }
3080 +#line 1623 "dtc-parser.tab.c" /* yacc.c:1646 */
3081 break;
3082
3083 case 19:
3084 -
3085 -/* Line 1806 of yacc.c */
3086 -#line 224 "dtc-parser.y"
3087 +#line 219 "dtc-parser.y" /* yacc.c:1646 */
3088 {
3089 - (yyval.prop) = build_property_delete((yyvsp[(2) - (3)].propnodename));
3090 + (yyval.data) = data_merge((yyvsp[-1].data), (yyvsp[0].data));
3091 }
3092 +#line 1631 "dtc-parser.tab.c" /* yacc.c:1646 */
3093 break;
3094
3095 case 20:
3096 -
3097 -/* Line 1806 of yacc.c */
3098 -#line 228 "dtc-parser.y"
3099 +#line 223 "dtc-parser.y" /* yacc.c:1646 */
3100 {
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);
3104 }
3105 +#line 1639 "dtc-parser.tab.c" /* yacc.c:1646 */
3106 break;
3107
3108 case 21:
3109 -
3110 -/* Line 1806 of yacc.c */
3111 -#line 236 "dtc-parser.y"
3112 +#line 227 "dtc-parser.y" /* yacc.c:1646 */
3113 {
3114 - (yyval.data) = data_merge((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].data));
3115 + (yyval.data) = data_merge((yyvsp[-3].data), (yyvsp[-1].data));
3116 }
3117 +#line 1647 "dtc-parser.tab.c" /* yacc.c:1646 */
3118 break;
3119
3120 case 22:
3121 -
3122 -/* Line 1806 of yacc.c */
3123 -#line 240 "dtc-parser.y"
3124 +#line 231 "dtc-parser.y" /* yacc.c:1646 */
3125 {
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));
3128 }
3129 +#line 1655 "dtc-parser.tab.c" /* yacc.c:1646 */
3130 break;
3131
3132 case 23:
3133 -
3134 -/* Line 1806 of yacc.c */
3135 -#line 244 "dtc-parser.y"
3136 - {
3137 - (yyval.data) = data_merge((yyvsp[(1) - (4)].data), (yyvsp[(3) - (4)].data));
3138 - }
3139 - break;
3140 -
3141 - case 24:
3142 -
3143 -/* Line 1806 of yacc.c */
3144 -#line 248 "dtc-parser.y"
3145 - {
3146 - (yyval.data) = data_add_marker((yyvsp[(1) - (2)].data), REF_PATH, (yyvsp[(2) - (2)].labelref));
3147 - }
3148 - break;
3149 -
3150 - case 25:
3151 -
3152 -/* Line 1806 of yacc.c */
3153 -#line 252 "dtc-parser.y"
3154 +#line 235 "dtc-parser.y" /* yacc.c:1646 */
3155 {
3156 - FILE *f = srcfile_relative_open((yyvsp[(4) - (9)].data).val, NULL);
3157 + FILE *f = srcfile_relative_open((yyvsp[-5].data).val, NULL);
3158 struct data d;
3159
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,
3167 strerror(errno));
3168
3169 - d = data_copy_file(f, (yyvsp[(8) - (9)].integer));
3170 + d = data_copy_file(f, (yyvsp[-1].integer));
3171
3172 - (yyval.data) = data_merge((yyvsp[(1) - (9)].data), d);
3173 + (yyval.data) = data_merge((yyvsp[-8].data), d);
3174 fclose(f);
3175 }
3176 +#line 1675 "dtc-parser.tab.c" /* yacc.c:1646 */
3177 break;
3178
3179 - case 26:
3180 -
3181 -/* Line 1806 of yacc.c */
3182 -#line 268 "dtc-parser.y"
3183 + case 24:
3184 +#line 251 "dtc-parser.y" /* yacc.c:1646 */
3185 {
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;
3189
3190 d = data_copy_file(f, -1);
3191
3192 - (yyval.data) = data_merge((yyvsp[(1) - (5)].data), d);
3193 + (yyval.data) = data_merge((yyvsp[-4].data), d);
3194 fclose(f);
3195 }
3196 +#line 1689 "dtc-parser.tab.c" /* yacc.c:1646 */
3197 break;
3198
3199 - case 27:
3200 -
3201 -/* Line 1806 of yacc.c */
3202 -#line 278 "dtc-parser.y"
3203 + case 25:
3204 +#line 261 "dtc-parser.y" /* yacc.c:1646 */
3205 {
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));
3208 }
3209 +#line 1697 "dtc-parser.tab.c" /* yacc.c:1646 */
3210 break;
3211
3212 - case 28:
3213 -
3214 -/* Line 1806 of yacc.c */
3215 -#line 285 "dtc-parser.y"
3216 + case 26:
3217 +#line 268 "dtc-parser.y" /* yacc.c:1646 */
3218 {
3219 (yyval.data) = empty_data;
3220 }
3221 +#line 1705 "dtc-parser.tab.c" /* yacc.c:1646 */
3222 break;
3223
3224 - case 29:
3225 -
3226 -/* Line 1806 of yacc.c */
3227 -#line 289 "dtc-parser.y"
3228 + case 27:
3229 +#line 272 "dtc-parser.y" /* yacc.c:1646 */
3230 {
3231 - (yyval.data) = (yyvsp[(1) - (2)].data);
3232 + (yyval.data) = (yyvsp[-1].data);
3233 }
3234 +#line 1713 "dtc-parser.tab.c" /* yacc.c:1646 */
3235 break;
3236
3237 - case 30:
3238 -
3239 -/* Line 1806 of yacc.c */
3240 -#line 293 "dtc-parser.y"
3241 + case 28:
3242 +#line 276 "dtc-parser.y" /* yacc.c:1646 */
3243 {
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));
3246 }
3247 +#line 1721 "dtc-parser.tab.c" /* yacc.c:1646 */
3248 break;
3249
3250 - case 31:
3251 -
3252 -/* Line 1806 of yacc.c */
3253 -#line 300 "dtc-parser.y"
3254 + case 29:
3255 +#line 283 "dtc-parser.y" /* yacc.c:1646 */
3256 {
3257 unsigned long long bits;
3258
3259 - bits = (yyvsp[(2) - (3)].integer);
3260 + bits = (yyvsp[-1].integer);
3261
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");
3267 bits = 32;
3268 }
3269 @@ -1918,25 +1737,23 @@ yyreduce:
3270 (yyval.array).data = empty_data;
3271 (yyval.array).bits = bits;
3272 }
3273 +#line 1741 "dtc-parser.tab.c" /* yacc.c:1646 */
3274 break;
3275
3276 - case 32:
3277 -
3278 -/* Line 1806 of yacc.c */
3279 -#line 316 "dtc-parser.y"
3280 + case 30:
3281 +#line 299 "dtc-parser.y" /* yacc.c:1646 */
3282 {
3283 (yyval.array).data = empty_data;
3284 (yyval.array).bits = 32;
3285 }
3286 +#line 1750 "dtc-parser.tab.c" /* yacc.c:1646 */
3287 break;
3288
3289 - case 33:
3290 -
3291 -/* Line 1806 of yacc.c */
3292 -#line 321 "dtc-parser.y"
3293 + case 31:
3294 +#line 304 "dtc-parser.y" /* yacc.c:1646 */
3295 {
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;
3300 /*
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.
3306 */
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);
3313 }
3314
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);
3317 }
3318 +#line 1773 "dtc-parser.tab.c" /* yacc.c:1646 */
3319 break;
3320
3321 - case 34:
3322 -
3323 -/* Line 1806 of yacc.c */
3324 -#line 340 "dtc-parser.y"
3325 + case 32:
3326 +#line 323 "dtc-parser.y" /* yacc.c:1646 */
3327 {
3328 - uint64_t val = ~0ULL >> (64 - (yyvsp[(1) - (2)].array).bits);
3329 + uint64_t val = ~0ULL >> (64 - (yyvsp[-1].array).bits);
3330
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,
3335 REF_PHANDLE,
3336 - (yyvsp[(2) - (2)].labelref));
3337 + (yyvsp[0].labelref));
3338 else
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.");
3342
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);
3345 }
3346 +#line 1791 "dtc-parser.tab.c" /* yacc.c:1646 */
3347 break;
3348
3349 - case 35:
3350 -
3351 -/* Line 1806 of yacc.c */
3352 -#line 354 "dtc-parser.y"
3353 + case 33:
3354 +#line 337 "dtc-parser.y" /* yacc.c:1646 */
3355 {
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));
3358 }
3359 +#line 1799 "dtc-parser.tab.c" /* yacc.c:1646 */
3360 break;
3361
3362 - case 38:
3363 -
3364 -/* Line 1806 of yacc.c */
3365 -#line 363 "dtc-parser.y"
3366 + case 36:
3367 +#line 346 "dtc-parser.y" /* yacc.c:1646 */
3368 {
3369 - (yyval.integer) = (yyvsp[(2) - (3)].integer);
3370 + (yyval.integer) = (yyvsp[-1].integer);
3371 }
3372 +#line 1807 "dtc-parser.tab.c" /* yacc.c:1646 */
3373 break;
3374
3375 - case 41:
3376 + case 39:
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 */
3380 + break;
3381
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); }
3385 + case 41:
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 */
3389 break;
3390
3391 case 43:
3392 -
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 */
3399 break;
3400
3401 case 45:
3402 -
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 */
3409 break;
3410
3411 case 47:
3412 -
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 */
3419 break;
3420
3421 case 49:
3422 -
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 */
3429 break;
3430
3431 case 51:
3432 -
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 */
3439 break;
3440
3441 - case 53:
3442 -
3443 -/* Line 1806 of yacc.c */
3444 -#line 404 "dtc-parser.y"
3445 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) == (yyvsp[(3) - (3)].integer); }
3446 + case 52:
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 */
3450 break;
3451
3452 case 54:
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 */
3456 + break;
3457
3458 -/* Line 1806 of yacc.c */
3459 -#line 405 "dtc-parser.y"
3460 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) != (yyvsp[(3) - (3)].integer); }
3461 + case 55:
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 */
3465 break;
3466
3467 case 56:
3468 -
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 */
3475 break;
3476
3477 case 57:
3478 -
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 */
3485 break;
3486
3487 case 58:
3488 -
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 */
3495 break;
3496
3497 case 59:
3498 -
3499 -/* Line 1806 of yacc.c */
3500 -#line 413 "dtc-parser.y"
3501 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) >= (yyvsp[(3) - (3)].integer); }
3502 - break;
3503 -
3504 - case 60:
3505 -
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 */
3512 break;
3513
3514 case 61:
3515 -
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 */
3522 break;
3523
3524 - case 63:
3525 -
3526 -/* Line 1806 of yacc.c */
3527 -#line 423 "dtc-parser.y"
3528 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) + (yyvsp[(3) - (3)].integer); }
3529 + case 62:
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 */
3533 break;
3534
3535 case 64:
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 */
3539 + break;
3540
3541 -/* Line 1806 of yacc.c */
3542 -#line 424 "dtc-parser.y"
3543 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) - (yyvsp[(3) - (3)].integer); }
3544 + case 65:
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 */
3548 break;
3549
3550 case 66:
3551 -
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 */
3558 break;
3559
3560 - case 67:
3561 -
3562 -/* Line 1806 of yacc.c */
3563 -#line 430 "dtc-parser.y"
3564 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) / (yyvsp[(3) - (3)].integer); }
3565 + case 69:
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 */
3569 break;
3570
3571 - case 68:
3572 -
3573 -/* Line 1806 of yacc.c */
3574 -#line 431 "dtc-parser.y"
3575 - { (yyval.integer) = (yyvsp[(1) - (3)].integer) % (yyvsp[(3) - (3)].integer); }
3576 + case 70:
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 */
3580 break;
3581
3582 case 71:
3583 -
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 */
3590 break;
3591
3592 case 72:
3593 -
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 */
3598 + {
3599 + (yyval.data) = empty_data;
3600 + }
3601 +#line 1947 "dtc-parser.tab.c" /* yacc.c:1646 */
3602 break;
3603
3604 case 73:
3605 -
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 */
3610 + {
3611 + (yyval.data) = data_append_byte((yyvsp[-1].data), (yyvsp[0].byte));
3612 + }
3613 +#line 1955 "dtc-parser.tab.c" /* yacc.c:1646 */
3614 break;
3615
3616 case 74:
3617 -
3618 -/* Line 1806 of yacc.c */
3619 -#line 444 "dtc-parser.y"
3620 +#line 435 "dtc-parser.y" /* yacc.c:1646 */
3621 {
3622 - (yyval.data) = empty_data;
3623 + (yyval.data) = data_add_marker((yyvsp[-1].data), LABEL, (yyvsp[0].labelref));
3624 }
3625 +#line 1963 "dtc-parser.tab.c" /* yacc.c:1646 */
3626 break;
3627
3628 case 75:
3629 -
3630 -/* Line 1806 of yacc.c */
3631 -#line 448 "dtc-parser.y"
3632 +#line 442 "dtc-parser.y" /* yacc.c:1646 */
3633 {
3634 - (yyval.data) = data_append_byte((yyvsp[(1) - (2)].data), (yyvsp[(2) - (2)].byte));
3635 + (yyval.nodelist) = NULL;
3636 }
3637 +#line 1971 "dtc-parser.tab.c" /* yacc.c:1646 */
3638 break;
3639
3640 case 76:
3641 -
3642 -/* Line 1806 of yacc.c */
3643 -#line 452 "dtc-parser.y"
3644 +#line 446 "dtc-parser.y" /* yacc.c:1646 */
3645 {
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));
3648 }
3649 +#line 1979 "dtc-parser.tab.c" /* yacc.c:1646 */
3650 break;
3651
3652 case 77:
3653 -
3654 -/* Line 1806 of yacc.c */
3655 -#line 459 "dtc-parser.y"
3656 +#line 450 "dtc-parser.y" /* yacc.c:1646 */
3657 {
3658 - (yyval.nodelist) = NULL;
3659 + ERROR(&(yylsp[0]), "Properties must precede subnodes");
3660 + YYERROR;
3661 }
3662 +#line 1988 "dtc-parser.tab.c" /* yacc.c:1646 */
3663 break;
3664
3665 case 78:
3666 -
3667 -/* Line 1806 of yacc.c */
3668 -#line 463 "dtc-parser.y"
3669 +#line 458 "dtc-parser.y" /* yacc.c:1646 */
3670 {
3671 - (yyval.nodelist) = chain_node((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].nodelist));
3672 + (yyval.node) = name_node((yyvsp[0].node), (yyvsp[-1].propnodename));
3673 }
3674 +#line 1996 "dtc-parser.tab.c" /* yacc.c:1646 */
3675 break;
3676
3677 case 79:
3678 -
3679 -/* Line 1806 of yacc.c */
3680 -#line 467 "dtc-parser.y"
3681 +#line 462 "dtc-parser.y" /* yacc.c:1646 */
3682 {
3683 - ERROR(&(yylsp[(2) - (2)]), "Properties must precede subnodes");
3684 - YYERROR;
3685 + (yyval.node) = name_node(build_node_delete(), (yyvsp[-1].propnodename));
3686 }
3687 +#line 2004 "dtc-parser.tab.c" /* yacc.c:1646 */
3688 break;
3689
3690 case 80:
3691 -
3692 -/* Line 1806 of yacc.c */
3693 -#line 475 "dtc-parser.y"
3694 +#line 466 "dtc-parser.y" /* yacc.c:1646 */
3695 {
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);
3699 }
3700 +#line 2013 "dtc-parser.tab.c" /* yacc.c:1646 */
3701 break;
3702
3703 - case 81:
3704
3705 -/* Line 1806 of yacc.c */
3706 -#line 479 "dtc-parser.y"
3707 - {
3708 - (yyval.node) = name_node(build_node_delete(), (yyvsp[(2) - (3)].propnodename));
3709 - }
3710 - break;
3711 -
3712 - case 82:
3713 -
3714 -/* Line 1806 of yacc.c */
3715 -#line 483 "dtc-parser.y"
3716 - {
3717 - add_label(&(yyvsp[(2) - (2)].node)->labels, (yyvsp[(1) - (2)].labelref));
3718 - (yyval.node) = (yyvsp[(2) - (2)].node);
3719 - }
3720 - break;
3721 -
3722 -
3723 -
3724 -/* Line 1806 of yacc.c */
3725 -#line 2235 "dtc-parser.tab.c"
3726 +#line 2017 "dtc-parser.tab.c" /* yacc.c:1646 */
3727 default: break;
3728 }
3729 /* User semantic actions sometimes alter yychar, and that requires
3730 @@ -2254,7 +2036,7 @@ yyreduce:
3731 *++yyvsp = yyval;
3732 *++yylsp = yyloc;
3733
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. */
3738
3739 @@ -2269,9 +2051,9 @@ yyreduce:
3740 goto yynewstate;
3741
3742
3743 -/*------------------------------------.
3744 -| yyerrlab -- here on detecting error |
3745 -`------------------------------------*/
3746 +/*--------------------------------------.
3747 +| yyerrlab -- here on detecting error. |
3748 +`--------------------------------------*/
3749 yyerrlab:
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)
3754 {
3755 /* If just tried and failed to reuse lookahead token after an
3756 - error, discard it. */
3757 + error, discard it. */
3758
3759 if (yychar <= YYEOF)
3760 - {
3761 - /* Return failure if at end of input. */
3762 - if (yychar == YYEOF)
3763 - YYABORT;
3764 - }
3765 + {
3766 + /* Return failure if at end of input. */
3767 + if (yychar == YYEOF)
3768 + YYABORT;
3769 + }
3770 else
3771 - {
3772 - yydestruct ("Error: discarding",
3773 - yytoken, &yylval, &yylloc);
3774 - yychar = YYEMPTY;
3775 - }
3776 + {
3777 + yydestruct ("Error: discarding",
3778 + yytoken, &yylval, &yylloc);
3779 + yychar = YYEMPTY;
3780 + }
3781 }
3782
3783 /* Else will try to reuse lookahead token after shifting the error
3784 @@ -2355,7 +2137,7 @@ yyerrorlab:
3785 goto yyerrorlab;
3786
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
3790 this YYERROR. */
3791 YYPOPSTACK (yylen);
3792 yylen = 0;
3793 @@ -2368,35 +2150,37 @@ yyerrorlab:
3794 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3795 `-------------------------------------------------------------*/
3796 yyerrlab1:
3797 - yyerrstatus = 3; /* Each real token shifted decrements this. */
3798 + yyerrstatus = 3; /* Each real token shifted decrements this. */
3799
3800 for (;;)
3801 {
3802 yyn = yypact[yystate];
3803 if (!yypact_value_is_default (yyn))
3804 - {
3805 - yyn += YYTERROR;
3806 - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3807 - {
3808 - yyn = yytable[yyn];
3809 - if (0 < yyn)
3810 - break;
3811 - }
3812 - }
3813 + {
3814 + yyn += YYTERROR;
3815 + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3816 + {
3817 + yyn = yytable[yyn];
3818 + if (0 < yyn)
3819 + break;
3820 + }
3821 + }
3822
3823 /* Pop the current state because it cannot handle the error token. */
3824 if (yyssp == yyss)
3825 - YYABORT;
3826 + YYABORT;
3827
3828 yyerror_range[1] = *yylsp;
3829 yydestruct ("Error: popping",
3830 - yystos[yystate], yyvsp, yylsp);
3831 + yystos[yystate], yyvsp, yylsp);
3832 YYPOPSTACK (1);
3833 yystate = *yyssp;
3834 YY_STACK_PRINT (yyss, yyssp);
3835 }
3836
3837 + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3838 *++yyvsp = yylval;
3839 + YY_IGNORE_MAYBE_UNINITIALIZED_END
3840
3841 yyerror_range[2] = yylloc;
3842 /* Using YYLLOC is tempting, but would change the location of
3843 @@ -2425,7 +2209,7 @@ yyabortlab:
3844 yyresult = 1;
3845 goto yyreturn;
3846
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);
3855 }
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. */
3859 YYPOPSTACK (yylen);
3860 YY_STACK_PRINT (yyss, yyssp);
3861 while (yyssp != yyss)
3862 {
3863 yydestruct ("Cleanup: popping",
3864 - yystos[*yyssp], yyvsp, yylsp);
3865 + yystos[*yyssp], yyvsp, yylsp);
3866 YYPOPSTACK (1);
3867 }
3868 #ifndef yyoverflow
3869 @@ -2462,18 +2246,12 @@ yyreturn:
3870 if (yymsg != yymsgbuf)
3871 YYSTACK_FREE (yymsg);
3872 #endif
3873 - /* Make sure YYID is used. */
3874 - return YYID (yyresult);
3875 + return yyresult;
3876 }
3877 -
3878 -
3879 -
3880 -/* Line 2067 of yacc.c */
3881 -#line 489 "dtc-parser.y"
3882 +#line 472 "dtc-parser.y" /* yacc.c:1906 */
3883
3884
3885 void yyerror(char const *s)
3886 {
3887 ERROR(&yylloc, "%s", s);
3888 }
3889 -
3890 --- a/scripts/dtc/dtc-parser.tab.h_shipped
3891 +++ b/scripts/dtc/dtc-parser.tab.h_shipped
3892 @@ -1,19 +1,19 @@
3893 -/* A Bison parser, made by GNU Bison 2.5. */
3894 +/* A Bison parser, made by GNU Bison 3.0.2. */
3895
3896 /* Bison interface for Yacc-like parsers in C
3897 -
3898 - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
3899 -
3900 +
3901 + Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
3902 +
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.
3907 -
3908 +
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.
3913 -
3914 +
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/>. */
3917
3918 @@ -26,50 +26,55 @@
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.
3922 -
3923 +
3924 This special exception was added by the Free Software Foundation in
3925 version 2.2 of Bison. */
3926
3927 +#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
3928 +# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
3929 +/* Debug traces. */
3930 +#ifndef YYDEBUG
3931 +# define YYDEBUG 0
3932 +#endif
3933 +#if YYDEBUG
3934 +extern int yydebug;
3935 +#endif
3936
3937 -/* Tokens. */
3938 +/* Token type. */
3939 #ifndef YYTOKENTYPE
3940 # define YYTOKENTYPE
3941 - /* Put the tokens into the symbol table, so that GDB and other debuggers
3942 - know about them. */
3943 - enum yytokentype {
3944 - DT_V1 = 258,
3945 - DT_PLUGIN = 259,
3946 - DT_MEMRESERVE = 260,
3947 - DT_LSHIFT = 261,
3948 - DT_RSHIFT = 262,
3949 - DT_LE = 263,
3950 - DT_GE = 264,
3951 - DT_EQ = 265,
3952 - DT_NE = 266,
3953 - DT_AND = 267,
3954 - DT_OR = 268,
3955 - DT_BITS = 269,
3956 - DT_DEL_PROP = 270,
3957 - DT_DEL_NODE = 271,
3958 - DT_PROPNODENAME = 272,
3959 - DT_LITERAL = 273,
3960 - DT_CHAR_LITERAL = 274,
3961 - DT_BYTE = 275,
3962 - DT_STRING = 276,
3963 - DT_LABEL = 277,
3964 - DT_REF = 278,
3965 - DT_INCBIN = 279
3966 - };
3967 + enum yytokentype
3968 + {
3969 + DT_V1 = 258,
3970 + DT_MEMRESERVE = 259,
3971 + DT_LSHIFT = 260,
3972 + DT_RSHIFT = 261,
3973 + DT_LE = 262,
3974 + DT_GE = 263,
3975 + DT_EQ = 264,
3976 + DT_NE = 265,
3977 + DT_AND = 266,
3978 + DT_OR = 267,
3979 + DT_BITS = 268,
3980 + DT_DEL_PROP = 269,
3981 + DT_DEL_NODE = 270,
3982 + DT_PROPNODENAME = 271,
3983 + DT_LITERAL = 272,
3984 + DT_CHAR_LITERAL = 273,
3985 + DT_BYTE = 274,
3986 + DT_STRING = 275,
3987 + DT_LABEL = 276,
3988 + DT_REF = 277,
3989 + DT_INCBIN = 278
3990 + };
3991 #endif
3992
3993 -
3994 -
3995 +/* Value type. */
3996 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
3997 -typedef union YYSTYPE
3998 +typedef union YYSTYPE YYSTYPE;
3999 +union YYSTYPE
4000 {
4001 -
4002 -/* Line 2068 of yacc.c */
4003 -#line 39 "dtc-parser.y"
4004 +#line 38 "dtc-parser.y" /* yacc.c:1909 */
4005
4006 char *propnodename;
4007 char *labelref;
4008 @@ -87,32 +92,30 @@ typedef union YYSTYPE
4009 struct node *nodelist;
4010 struct reserve_info *re;
4011 uint64_t integer;
4012 - int is_plugin;
4013 -
4014 -
4015
4016 -/* Line 2068 of yacc.c */
4017 -#line 96 "dtc-parser.tab.h"
4018 -} YYSTYPE;
4019 +#line 97 "dtc-parser.tab.h" /* yacc.c:1909 */
4020 +};
4021 # define YYSTYPE_IS_TRIVIAL 1
4022 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */
4023 # define YYSTYPE_IS_DECLARED 1
4024 #endif
4025
4026 -extern YYSTYPE yylval;
4027 -
4028 +/* Location type. */
4029 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
4030 -typedef struct YYLTYPE
4031 +typedef struct YYLTYPE YYLTYPE;
4032 +struct YYLTYPE
4033 {
4034 int first_line;
4035 int first_column;
4036 int last_line;
4037 int last_column;
4038 -} YYLTYPE;
4039 -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
4040 +};
4041 # define YYLTYPE_IS_DECLARED 1
4042 # define YYLTYPE_IS_TRIVIAL 1
4043 #endif
4044
4045 +
4046 +extern YYSTYPE yylval;
4047 extern YYLTYPE yylloc;
4048 +int yyparse (void);
4049
4050 +#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
4051 --- a/scripts/dtc/dtc-parser.y
4052 +++ b/scripts/dtc/dtc-parser.y
4053 @@ -19,7 +19,6 @@
4054 */
4055 %{
4056 #include <stdio.h>
4057 -#include <inttypes.h>
4058
4059 #include "dtc.h"
4060 #include "srcpos.h"
4061 @@ -53,11 +52,9 @@ extern bool treesource_error;
4062 struct node *nodelist;
4063 struct reserve_info *re;
4064 uint64_t integer;
4065 - int is_plugin;
4066 }
4067
4068 %token DT_V1
4069 -%token DT_PLUGIN
4070 %token DT_MEMRESERVE
4071 %token DT_LSHIFT DT_RSHIFT DT_LE DT_GE DT_EQ DT_NE DT_AND DT_OR
4072 %token DT_BITS
4073 @@ -74,7 +71,6 @@ extern bool treesource_error;
4074
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;
4082 %%
4083
4084 sourcefile:
4085 - DT_V1 ';' plugindecl memreserves devicetree
4086 + DT_V1 ';' memreserves devicetree
4087 {
4088 - $5->is_plugin = $3;
4089 - $5->is_root = 1;
4090 - the_boot_info = build_boot_info($4, $5,
4091 - guess_boot_cpuid($5));
4092 - }
4093 - ;
4094 -
4095 -plugindecl:
4096 - /* empty */
4097 - {
4098 - $$ = 0;
4099 - }
4100 - | DT_PLUGIN ';'
4101 - {
4102 - $$ = 1;
4103 + the_boot_info = build_boot_info($3, $4,
4104 + guess_boot_cpuid($4));
4105 }
4106 ;
4107
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;
4115
4116 static void fill_fullpaths(struct node *tree, const char *prefix)
4117 {
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",
4142 NULL,
4143 @@ -189,9 +186,7 @@ int main(int argc, char *argv[])
4144 case 'E':
4145 parse_checks_option(false, true, optarg);
4146 break;
4147 - case '@':
4148 - symbol_fixup_support = 1;
4149 - break;
4150 +
4151 case 'h':
4152 usage(NULL);
4153 default:
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 */
4161
4162 #define PHANDLE_LEGACY 0x1
4163 #define PHANDLE_EPAPR 0x2
4164 @@ -133,25 +132,6 @@ struct label {
4165 struct label *next;
4166 };
4167
4168 -struct fixup_entry {
4169 - int offset;
4170 - struct node *node;
4171 - struct property *prop;
4172 - struct fixup_entry *next;
4173 -};
4174 -
4175 -struct fixup {
4176 - char *ref;
4177 - struct fixup_entry *entries;
4178 - struct fixup *next;
4179 -};
4180 -
4181 -struct symbol {
4182 - struct label *label;
4183 - struct node *node;
4184 - struct symbol *next;
4185 -};
4186 -
4187 struct property {
4188 bool deleted;
4189 char *name;
4190 @@ -178,12 +158,6 @@ struct node {
4191 int addr_cells, size_cells;
4192
4193 struct label *labels;
4194 -
4195 - int is_root;
4196 - int is_plugin;
4197 - struct fixup *fixups;
4198 - struct symbol *symbols;
4199 - struct fixup_entry *local_fixups;
4200 };
4201
4202 #define for_each_label_withdel(l0, l) \
4203 @@ -207,18 +181,6 @@ struct node {
4204 for_each_child_withdel(n, c) \
4205 if (!(c)->deleted)
4206
4207 -#define for_each_fixup(n, f) \
4208 - for ((f) = (n)->fixups; (f); (f) = (f)->next)
4209 -
4210 -#define for_each_fixup_entry(f, fe) \
4211 - for ((fe) = (f)->entries; (fe); (fe) = (fe)->next)
4212 -
4213 -#define for_each_symbol(n, s) \
4214 - for ((s) = (n)->symbols; (s); (s) = (s)->next)
4215 -
4216 -#define for_each_local_fixup_entry(n, fe) \
4217 - for ((fe) = (n)->local_fixups; (fe); (fe) = (fe)->next)
4218 -
4219 void add_label(struct label **labels, char *label);
4220 void delete_labels(struct label **labels);
4221
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;
4226 struct node *child;
4227 bool seen_name_prop = false;
4228 - struct symbol *sym;
4229 - struct fixup *f;
4230 - struct fixup_entry *fe;
4231 - char *name, *s;
4232 - const char *fullpath;
4233 - int namesz, nameoff, vallen;
4234
4235 if (tree->deleted)
4236 return;
4237 @@ -282,6 +276,8 @@ static void flatten_tree(struct node *tr
4238 emit->align(etarget, sizeof(cell_t));
4239
4240 for_each_property(tree, prop) {
4241 + int nameoff;
4242 +
4243 if (streq(prop->name, "name"))
4244 seen_name_prop = true;
4245
4246 @@ -314,139 +310,6 @@ static void flatten_tree(struct node *tr
4247 flatten_tree(child, emit, etarget, strbuf, vi);
4248 }
4249
4250 - if (!symbol_fixup_support)
4251 - goto no_symbols;
4252 -
4253 - /* add the symbol nodes (if any) */
4254 - if (tree->symbols) {
4255 -
4256 - emit->beginnode(etarget, NULL);
4257 - emit->string(etarget, "__symbols__", 0);
4258 - emit->align(etarget, sizeof(cell_t));
4259 -
4260 - for_each_symbol(tree, sym) {
4261 -
4262 - vallen = strlen(sym->node->fullpath);
4263 -
4264 - nameoff = stringtable_insert(strbuf, sym->label->label);
4265 -
4266 - emit->property(etarget, NULL);
4267 - emit->cell(etarget, vallen + 1);
4268 - emit->cell(etarget, nameoff);
4269 -
4270 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4271 - emit->align(etarget, 8);
4272 -
4273 - emit->string(etarget, sym->node->fullpath,
4274 - strlen(sym->node->fullpath));
4275 - emit->align(etarget, sizeof(cell_t));
4276 - }
4277 -
4278 - emit->endnode(etarget, NULL);
4279 - }
4280 -
4281 - /* add the fixup nodes */
4282 - if (tree->fixups) {
4283 -
4284 - /* emit the external fixups */
4285 - emit->beginnode(etarget, NULL);
4286 - emit->string(etarget, "__fixups__", 0);
4287 - emit->align(etarget, sizeof(cell_t));
4288 -
4289 - for_each_fixup(tree, f) {
4290 -
4291 - namesz = 0;
4292 - for_each_fixup_entry(f, fe) {
4293 - fullpath = fe->node->fullpath;
4294 - if (fullpath[0] == '\0')
4295 - fullpath = "/";
4296 - namesz += strlen(fullpath) + 1;
4297 - namesz += strlen(fe->prop->name) + 1;
4298 - namesz += 32; /* space for :<number> + '\0' */
4299 - }
4300 -
4301 - name = xmalloc(namesz);
4302 -
4303 - s = name;
4304 - for_each_fixup_entry(f, fe) {
4305 - fullpath = fe->node->fullpath;
4306 - if (fullpath[0] == '\0')
4307 - fullpath = "/";
4308 - snprintf(s, name + namesz - s, "%s:%s:%d",
4309 - fullpath,
4310 - fe->prop->name, fe->offset);
4311 - s += strlen(s) + 1;
4312 - }
4313 -
4314 - nameoff = stringtable_insert(strbuf, f->ref);
4315 - vallen = s - name - 1;
4316 -
4317 - emit->property(etarget, NULL);
4318 - emit->cell(etarget, vallen + 1);
4319 - emit->cell(etarget, nameoff);
4320 -
4321 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4322 - emit->align(etarget, 8);
4323 -
4324 - emit->string(etarget, name, vallen);
4325 - emit->align(etarget, sizeof(cell_t));
4326 -
4327 - free(name);
4328 - }
4329 -
4330 - emit->endnode(etarget, tree->labels);
4331 - }
4332 -
4333 - /* add the local fixup property */
4334 - if (tree->local_fixups) {
4335 -
4336 - /* emit the external fixups */
4337 - emit->beginnode(etarget, NULL);
4338 - emit->string(etarget, "__local_fixups__", 0);
4339 - emit->align(etarget, sizeof(cell_t));
4340 -
4341 - namesz = 0;
4342 - for_each_local_fixup_entry(tree, fe) {
4343 - fullpath = fe->node->fullpath;
4344 - if (fullpath[0] == '\0')
4345 - fullpath = "/";
4346 - namesz += strlen(fullpath) + 1;
4347 - namesz += strlen(fe->prop->name) + 1;
4348 - namesz += 32; /* space for :<number> + '\0' */
4349 - }
4350 -
4351 - name = xmalloc(namesz);
4352 -
4353 - s = name;
4354 - for_each_local_fixup_entry(tree, fe) {
4355 - fullpath = fe->node->fullpath;
4356 - if (fullpath[0] == '\0')
4357 - fullpath = "/";
4358 - snprintf(s, name + namesz - s, "%s:%s:%d",
4359 - fullpath, fe->prop->name,
4360 - fe->offset);
4361 - s += strlen(s) + 1;
4362 - }
4363 -
4364 - nameoff = stringtable_insert(strbuf, "fixup");
4365 - vallen = s - name - 1;
4366 -
4367 - emit->property(etarget, NULL);
4368 - emit->cell(etarget, vallen + 1);
4369 - emit->cell(etarget, nameoff);
4370 -
4371 - if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
4372 - emit->align(etarget, 8);
4373 -
4374 - emit->string(etarget, name, vallen);
4375 - emit->align(etarget, sizeof(cell_t));
4376 -
4377 - free(name);
4378 -
4379 - emit->endnode(etarget, tree->labels);
4380 - }
4381 -
4382 -no_symbols:
4383 emit->endnode(etarget, tree->labels);
4384 }
4385
4386 --- a/scripts/dtc/version_gen.h
4387 +++ b/scripts/dtc/version_gen.h
4388 @@ -1 +1 @@
4389 -#define DTC_VERSION "DTC 1.4.1-g9d3649bd-dirty"
4390 +#define DTC_VERSION "DTC 1.4.1-g9d3649bd"