File: | build/gcc/godump.cc |
Warning: | line 629, column 19 Division by zero |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* Output Go language descriptions of types. | ||||||||
2 | Copyright (C) 2008-2023 Free Software Foundation, Inc. | ||||||||
3 | Written by Ian Lance Taylor <iant@google.com>. | ||||||||
4 | |||||||||
5 | This file is part of GCC. | ||||||||
6 | |||||||||
7 | GCC is free software; you can redistribute it and/or modify it under | ||||||||
8 | the terms of the GNU General Public License as published by the Free | ||||||||
9 | Software Foundation; either version 3, or (at your option) any later | ||||||||
10 | version. | ||||||||
11 | |||||||||
12 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY | ||||||||
13 | WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||||||
14 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||||||||
15 | for more details. | ||||||||
16 | |||||||||
17 | You should have received a copy of the GNU General Public License | ||||||||
18 | along with GCC; see the file COPYING3. If not see | ||||||||
19 | <http://www.gnu.org/licenses/>. */ | ||||||||
20 | |||||||||
21 | /* This file is used during the build process to emit Go language | ||||||||
22 | descriptions of declarations from C header files. It uses the | ||||||||
23 | debug info hooks to emit the descriptions. The Go language | ||||||||
24 | descriptions then become part of the Go runtime support | ||||||||
25 | library. | ||||||||
26 | |||||||||
27 | All global names are output with a leading underscore, so that they | ||||||||
28 | are all hidden in Go. */ | ||||||||
29 | |||||||||
30 | #include "config.h" | ||||||||
31 | #include "system.h" | ||||||||
32 | #include "coretypes.h" | ||||||||
33 | #include "tree.h" | ||||||||
34 | #include "diagnostic-core.h" | ||||||||
35 | #include "debug.h" | ||||||||
36 | #include "stor-layout.h" | ||||||||
37 | |||||||||
38 | /* We dump this information from the debug hooks. This gives us a | ||||||||
39 | stable and maintainable API to hook into. In order to work | ||||||||
40 | correctly when -g is used, we build our own hooks structure which | ||||||||
41 | wraps the hooks we need to change. */ | ||||||||
42 | |||||||||
43 | /* Our debug hooks. This is initialized by dump_go_spec_init. */ | ||||||||
44 | |||||||||
45 | static struct gcc_debug_hooks go_debug_hooks; | ||||||||
46 | |||||||||
47 | /* The real debug hooks. */ | ||||||||
48 | |||||||||
49 | static const struct gcc_debug_hooks *real_debug_hooks; | ||||||||
50 | |||||||||
51 | /* The file where we should write information. */ | ||||||||
52 | |||||||||
53 | static FILE *go_dump_file; | ||||||||
54 | |||||||||
55 | /* A queue of decls to output. */ | ||||||||
56 | |||||||||
57 | static GTY(()) vec<tree, va_gc> *queue; | ||||||||
58 | |||||||||
59 | struct godump_str_hash : string_hash, ggc_remove <const char *> {}; | ||||||||
60 | |||||||||
61 | /* A hash table of macros we have seen. */ | ||||||||
62 | |||||||||
63 | static htab_t macro_hash; | ||||||||
64 | |||||||||
65 | /* The type of a value in macro_hash. */ | ||||||||
66 | |||||||||
67 | struct macro_hash_value | ||||||||
68 | { | ||||||||
69 | /* The name stored in the hash table. */ | ||||||||
70 | char *name; | ||||||||
71 | /* The value of the macro. */ | ||||||||
72 | char *value; | ||||||||
73 | }; | ||||||||
74 | |||||||||
75 | /* Returns the number of units necessary to represent an integer with the given | ||||||||
76 | PRECISION (in bits). */ | ||||||||
77 | |||||||||
78 | static inline unsigned int | ||||||||
79 | precision_to_units (unsigned int precision) | ||||||||
80 | { | ||||||||
81 | return (precision + BITS_PER_UNIT(8) - 1) / BITS_PER_UNIT(8); | ||||||||
82 | } | ||||||||
83 | |||||||||
84 | /* Calculate the hash value for an entry in the macro hash table. */ | ||||||||
85 | |||||||||
86 | static hashval_t | ||||||||
87 | macro_hash_hashval (const void *val) | ||||||||
88 | { | ||||||||
89 | const struct macro_hash_value *mhval = (const struct macro_hash_value *) val; | ||||||||
90 | return htab_hash_string (mhval->name); | ||||||||
91 | } | ||||||||
92 | |||||||||
93 | /* Compare values in the macro hash table for equality. */ | ||||||||
94 | |||||||||
95 | static int | ||||||||
96 | macro_hash_eq (const void *v1, const void *v2) | ||||||||
97 | { | ||||||||
98 | const struct macro_hash_value *mhv1 = (const struct macro_hash_value *) v1; | ||||||||
99 | const struct macro_hash_value *mhv2 = (const struct macro_hash_value *) v2; | ||||||||
100 | return strcmp (mhv1->name, mhv2->name) == 0; | ||||||||
101 | } | ||||||||
102 | |||||||||
103 | /* Free values deleted from the macro hash table. */ | ||||||||
104 | |||||||||
105 | static void | ||||||||
106 | macro_hash_del (void *v) | ||||||||
107 | { | ||||||||
108 | struct macro_hash_value *mhv = (struct macro_hash_value *) v; | ||||||||
109 | XDELETEVEC (mhv->name)free ((void*) (mhv->name)); | ||||||||
110 | XDELETEVEC (mhv->value)free ((void*) (mhv->value)); | ||||||||
111 | XDELETE (mhv)free ((void*) (mhv)); | ||||||||
112 | } | ||||||||
113 | |||||||||
114 | /* A macro definition. */ | ||||||||
115 | |||||||||
116 | static void | ||||||||
117 | go_define (unsigned int lineno, const char *buffer) | ||||||||
118 | { | ||||||||
119 | const char *p; | ||||||||
120 | const char *name_end; | ||||||||
121 | size_t out_len; | ||||||||
122 | char *out_buffer; | ||||||||
123 | char *q; | ||||||||
124 | bool saw_operand; | ||||||||
125 | bool need_operand; | ||||||||
126 | struct macro_hash_value *mhval; | ||||||||
127 | char *copy; | ||||||||
128 | hashval_t hashval; | ||||||||
129 | void **slot; | ||||||||
130 | |||||||||
131 | real_debug_hooks->define (lineno, buffer); | ||||||||
132 | |||||||||
133 | /* Skip macro functions. */ | ||||||||
134 | for (p = buffer; *p != '\0' && *p != ' '; ++p) | ||||||||
135 | if (*p == '(') | ||||||||
136 | return; | ||||||||
137 | |||||||||
138 | if (*p == '\0') | ||||||||
139 | return; | ||||||||
140 | |||||||||
141 | name_end = p; | ||||||||
142 | |||||||||
143 | ++p; | ||||||||
144 | if (*p == '\0') | ||||||||
145 | return; | ||||||||
146 | |||||||||
147 | copy = XNEWVEC (char, name_end - buffer + 1)((char *) xmalloc (sizeof (char) * (name_end - buffer + 1))); | ||||||||
148 | memcpy (copy, buffer, name_end - buffer); | ||||||||
149 | copy[name_end - buffer] = '\0'; | ||||||||
150 | |||||||||
151 | mhval = XNEW (struct macro_hash_value)((struct macro_hash_value *) xmalloc (sizeof (struct macro_hash_value ))); | ||||||||
152 | mhval->name = copy; | ||||||||
153 | mhval->value = NULLnullptr; | ||||||||
154 | |||||||||
155 | hashval = htab_hash_string (copy); | ||||||||
156 | slot = htab_find_slot_with_hash (macro_hash, mhval, hashval, NO_INSERT); | ||||||||
157 | |||||||||
158 | /* For simplicity, we force all names to be hidden by adding an | ||||||||
159 | initial underscore, and let the user undo this as needed. */ | ||||||||
160 | out_len = strlen (p) * 2 + 1; | ||||||||
161 | out_buffer = XNEWVEC (char, out_len)((char *) xmalloc (sizeof (char) * (out_len))); | ||||||||
162 | q = out_buffer; | ||||||||
163 | saw_operand = false; | ||||||||
164 | need_operand = false; | ||||||||
165 | while (*p != '\0') | ||||||||
166 | { | ||||||||
167 | switch (*p) | ||||||||
168 | { | ||||||||
169 | case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': | ||||||||
170 | case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': | ||||||||
171 | case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': | ||||||||
172 | case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': | ||||||||
173 | case 'Y': case 'Z': | ||||||||
174 | case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': | ||||||||
175 | case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': | ||||||||
176 | case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': | ||||||||
177 | case 's': case 't': case 'u': case 'v': case 'w': case 'x': | ||||||||
178 | case 'y': case 'z': | ||||||||
179 | case '_': | ||||||||
180 | { | ||||||||
181 | /* The start of an identifier. Technically we should also | ||||||||
182 | worry about UTF-8 identifiers, but they are not a | ||||||||
183 | problem for practical uses of -fdump-go-spec so we | ||||||||
184 | don't worry about them. */ | ||||||||
185 | const char *start; | ||||||||
186 | char *n; | ||||||||
187 | struct macro_hash_value idval; | ||||||||
188 | |||||||||
189 | if (saw_operand) | ||||||||
190 | goto unknown; | ||||||||
191 | |||||||||
192 | start = p; | ||||||||
193 | while (ISALNUM (*p)(_sch_istable[(*p) & 0xff] & (unsigned short)(_sch_isalnum )) || *p == '_') | ||||||||
194 | ++p; | ||||||||
195 | n = XALLOCAVEC (char, p - start + 1)((char *) __builtin_alloca(sizeof (char) * (p - start + 1))); | ||||||||
196 | memcpy (n, start, p - start); | ||||||||
197 | n[p - start] = '\0'; | ||||||||
198 | idval.name = n; | ||||||||
199 | idval.value = NULLnullptr; | ||||||||
200 | if (htab_find (macro_hash, &idval) == NULLnullptr) | ||||||||
201 | { | ||||||||
202 | /* This is a reference to a name which was not defined | ||||||||
203 | as a macro. */ | ||||||||
204 | goto unknown; | ||||||||
205 | } | ||||||||
206 | |||||||||
207 | *q++ = '_'; | ||||||||
208 | memcpy (q, start, p - start); | ||||||||
209 | q += p - start; | ||||||||
210 | |||||||||
211 | saw_operand = true; | ||||||||
212 | need_operand = false; | ||||||||
213 | } | ||||||||
214 | break; | ||||||||
215 | |||||||||
216 | case '.': | ||||||||
217 | if (!ISDIGIT (p[1])(_sch_istable[(p[1]) & 0xff] & (unsigned short)(_sch_isdigit ))) | ||||||||
218 | goto unknown; | ||||||||
219 | /* Fall through. */ | ||||||||
220 | case '0': case '1': case '2': case '3': case '4': | ||||||||
221 | case '5': case '6': case '7': case '8': case '9': | ||||||||
222 | { | ||||||||
223 | const char *start; | ||||||||
224 | bool is_hex; | ||||||||
225 | |||||||||
226 | start = p; | ||||||||
227 | is_hex = false; | ||||||||
228 | if (*p == '0' && (p[1] == 'x' || p[1] == 'X')) | ||||||||
229 | { | ||||||||
230 | p += 2; | ||||||||
231 | is_hex = true; | ||||||||
232 | } | ||||||||
233 | while (ISDIGIT (*p)(_sch_istable[(*p) & 0xff] & (unsigned short)(_sch_isdigit )) || *p == '.' || *p == 'e' || *p == 'E' | ||||||||
234 | || (is_hex | ||||||||
235 | && ((*p >= 'a' && *p <= 'f') | ||||||||
236 | || (*p >= 'A' && *p <= 'F')))) | ||||||||
237 | ++p; | ||||||||
238 | memcpy (q, start, p - start); | ||||||||
239 | q += p - start; | ||||||||
240 | while (*p == 'u' || *p == 'U' || *p == 'l' || *p == 'L' | ||||||||
241 | || *p == 'f' || *p == 'F' | ||||||||
242 | || *p == 'd' || *p == 'D') | ||||||||
243 | { | ||||||||
244 | /* Go doesn't use any of these trailing type | ||||||||
245 | modifiers. */ | ||||||||
246 | ++p; | ||||||||
247 | } | ||||||||
248 | |||||||||
249 | /* We'll pick up the exponent, if any, as an | ||||||||
250 | expression. */ | ||||||||
251 | |||||||||
252 | saw_operand = true; | ||||||||
253 | need_operand = false; | ||||||||
254 | } | ||||||||
255 | break; | ||||||||
256 | |||||||||
257 | case ' ': case '\t': | ||||||||
258 | *q++ = *p++; | ||||||||
259 | break; | ||||||||
260 | |||||||||
261 | case '(': | ||||||||
262 | /* Always OK, not part of an operand, presumed to start an | ||||||||
263 | operand. */ | ||||||||
264 | *q++ = *p++; | ||||||||
265 | saw_operand = false; | ||||||||
266 | need_operand = false; | ||||||||
267 | break; | ||||||||
268 | |||||||||
269 | case ')': | ||||||||
270 | /* OK if we don't need an operand, and presumed to indicate | ||||||||
271 | an operand. */ | ||||||||
272 | if (need_operand) | ||||||||
273 | goto unknown; | ||||||||
274 | *q++ = *p++; | ||||||||
275 | saw_operand = true; | ||||||||
276 | break; | ||||||||
277 | |||||||||
278 | case '+': case '-': | ||||||||
279 | /* Always OK, but not part of an operand. */ | ||||||||
280 | *q++ = *p++; | ||||||||
281 | saw_operand = false; | ||||||||
282 | break; | ||||||||
283 | |||||||||
284 | case '*': case '/': case '%': case '|': case '&': case '^': | ||||||||
285 | /* Must be a binary operator. */ | ||||||||
286 | if (!saw_operand) | ||||||||
287 | goto unknown; | ||||||||
288 | *q++ = *p++; | ||||||||
289 | saw_operand = false; | ||||||||
290 | need_operand = true; | ||||||||
291 | break; | ||||||||
292 | |||||||||
293 | case '=': | ||||||||
294 | *q++ = *p++; | ||||||||
295 | if (*p != '=') | ||||||||
296 | goto unknown; | ||||||||
297 | /* Must be a binary operator. */ | ||||||||
298 | if (!saw_operand) | ||||||||
299 | goto unknown; | ||||||||
300 | *q++ = *p++; | ||||||||
301 | saw_operand = false; | ||||||||
302 | need_operand = true; | ||||||||
303 | break; | ||||||||
304 | |||||||||
305 | case '!': | ||||||||
306 | *q++ = *p++; | ||||||||
307 | if (*p == '=') | ||||||||
308 | { | ||||||||
309 | /* Must be a binary operator. */ | ||||||||
310 | if (!saw_operand) | ||||||||
311 | goto unknown; | ||||||||
312 | *q++ = *p++; | ||||||||
313 | saw_operand = false; | ||||||||
314 | need_operand = true; | ||||||||
315 | } | ||||||||
316 | else | ||||||||
317 | { | ||||||||
318 | /* Must be a unary operator. */ | ||||||||
319 | if (saw_operand) | ||||||||
320 | goto unknown; | ||||||||
321 | need_operand = true; | ||||||||
322 | } | ||||||||
323 | break; | ||||||||
324 | |||||||||
325 | case '<': case '>': | ||||||||
326 | /* Must be a binary operand, may be << or >> or <= or >=. */ | ||||||||
327 | if (!saw_operand) | ||||||||
328 | goto unknown; | ||||||||
329 | *q++ = *p++; | ||||||||
330 | if (*p == *(p - 1) || *p == '=') | ||||||||
331 | *q++ = *p++; | ||||||||
332 | saw_operand = false; | ||||||||
333 | need_operand = true; | ||||||||
334 | break; | ||||||||
335 | |||||||||
336 | case '~': | ||||||||
337 | /* Must be a unary operand, must be translated for Go. */ | ||||||||
338 | if (saw_operand) | ||||||||
339 | goto unknown; | ||||||||
340 | *q++ = '^'; | ||||||||
341 | p++; | ||||||||
342 | need_operand = true; | ||||||||
343 | break; | ||||||||
344 | |||||||||
345 | case '"': | ||||||||
346 | case '\'': | ||||||||
347 | { | ||||||||
348 | char quote; | ||||||||
349 | int count; | ||||||||
350 | |||||||||
351 | if (saw_operand) | ||||||||
352 | goto unknown; | ||||||||
353 | quote = *p; | ||||||||
354 | *q++ = *p++; | ||||||||
355 | count = 0; | ||||||||
356 | while (*p != quote) | ||||||||
357 | { | ||||||||
358 | int c; | ||||||||
359 | |||||||||
360 | if (*p == '\0') | ||||||||
361 | goto unknown; | ||||||||
362 | |||||||||
363 | ++count; | ||||||||
364 | |||||||||
365 | if (*p != '\\') | ||||||||
366 | { | ||||||||
367 | *q++ = *p++; | ||||||||
368 | continue; | ||||||||
369 | } | ||||||||
370 | |||||||||
371 | *q++ = *p++; | ||||||||
372 | switch (*p) | ||||||||
373 | { | ||||||||
374 | case '0': case '1': case '2': case '3': | ||||||||
375 | case '4': case '5': case '6': case '7': | ||||||||
376 | c = 0; | ||||||||
377 | while (*p >= '0' && *p <= '7') | ||||||||
378 | { | ||||||||
379 | *q++ = *p++; | ||||||||
380 | ++c; | ||||||||
381 | } | ||||||||
382 | /* Go octal characters are always 3 | ||||||||
383 | digits. */ | ||||||||
384 | if (c != 3) | ||||||||
385 | goto unknown; | ||||||||
386 | break; | ||||||||
387 | |||||||||
388 | case 'x': | ||||||||
389 | *q++ = *p++; | ||||||||
390 | c = 0; | ||||||||
391 | while (ISXDIGIT (*p)(_sch_istable[(*p) & 0xff] & (unsigned short)(_sch_isxdigit ))) | ||||||||
392 | { | ||||||||
393 | *q++ = *p++; | ||||||||
394 | ++c; | ||||||||
395 | } | ||||||||
396 | /* Go hex characters are always 2 digits. */ | ||||||||
397 | if (c != 2) | ||||||||
398 | goto unknown; | ||||||||
399 | break; | ||||||||
400 | |||||||||
401 | case 'a': case 'b': case 'f': case 'n': case 'r': | ||||||||
402 | case 't': case 'v': case '\\': case '\'': case '"': | ||||||||
403 | *q++ = *p++; | ||||||||
404 | break; | ||||||||
405 | |||||||||
406 | default: | ||||||||
407 | goto unknown; | ||||||||
408 | } | ||||||||
409 | } | ||||||||
410 | |||||||||
411 | *q++ = *p++; | ||||||||
412 | |||||||||
413 | if (quote == '\'' && count != 1) | ||||||||
414 | goto unknown; | ||||||||
415 | |||||||||
416 | saw_operand = true; | ||||||||
417 | need_operand = false; | ||||||||
418 | |||||||||
419 | break; | ||||||||
420 | } | ||||||||
421 | |||||||||
422 | default: | ||||||||
423 | goto unknown; | ||||||||
424 | } | ||||||||
425 | } | ||||||||
426 | |||||||||
427 | if (need_operand) | ||||||||
428 | goto unknown; | ||||||||
429 | |||||||||
430 | gcc_assert ((size_t) (q - out_buffer) < out_len)((void)(!((size_t) (q - out_buffer) < out_len) ? fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 430, __FUNCTION__), 0 : 0)); | ||||||||
431 | *q = '\0'; | ||||||||
432 | |||||||||
433 | mhval->value = out_buffer; | ||||||||
434 | |||||||||
435 | if (slot == NULLnullptr) | ||||||||
436 | { | ||||||||
437 | slot = htab_find_slot_with_hash (macro_hash, mhval, hashval, INSERT); | ||||||||
438 | gcc_assert (slot != NULL && *slot == NULL)((void)(!(slot != nullptr && *slot == nullptr) ? fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 438, __FUNCTION__), 0 : 0)); | ||||||||
439 | } | ||||||||
440 | else | ||||||||
441 | { | ||||||||
442 | if (*slot != NULLnullptr) | ||||||||
443 | macro_hash_del (*slot); | ||||||||
444 | } | ||||||||
445 | |||||||||
446 | *slot = mhval; | ||||||||
447 | |||||||||
448 | return; | ||||||||
449 | |||||||||
450 | unknown: | ||||||||
451 | fprintf (go_dump_file, "// unknowndefine %s\n", buffer); | ||||||||
452 | if (slot != NULLnullptr) | ||||||||
453 | htab_clear_slot (macro_hash, slot); | ||||||||
454 | XDELETEVEC (out_buffer)free ((void*) (out_buffer)); | ||||||||
455 | XDELETEVEC (copy)free ((void*) (copy)); | ||||||||
456 | } | ||||||||
457 | |||||||||
458 | /* A macro undef. */ | ||||||||
459 | |||||||||
460 | static void | ||||||||
461 | go_undef (unsigned int lineno, const char *buffer) | ||||||||
462 | { | ||||||||
463 | struct macro_hash_value mhval; | ||||||||
464 | void **slot; | ||||||||
465 | |||||||||
466 | real_debug_hooks->undef (lineno, buffer); | ||||||||
467 | |||||||||
468 | mhval.name = CONST_CAST (char *, buffer)(const_cast<char *> ((buffer))); | ||||||||
469 | mhval.value = NULLnullptr; | ||||||||
470 | slot = htab_find_slot (macro_hash, &mhval, NO_INSERT); | ||||||||
471 | if (slot != NULLnullptr) | ||||||||
472 | htab_clear_slot (macro_hash, slot); | ||||||||
473 | } | ||||||||
474 | |||||||||
475 | /* A function or variable decl. */ | ||||||||
476 | |||||||||
477 | static void | ||||||||
478 | go_decl (tree decl) | ||||||||
479 | { | ||||||||
480 | if (!TREE_PUBLIC (decl)((decl)->base.public_flag) | ||||||||
481 | || DECL_IS_UNDECLARED_BUILTIN (decl)(((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 481, __FUNCTION__))->decl_minimal.locus) <= ((location_t ) 1)) | ||||||||
482 | || DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 482, __FUNCTION__))->decl_minimal.name) == NULL_TREE(tree) nullptr) | ||||||||
483 | return; | ||||||||
484 | vec_safe_push (queue, decl); | ||||||||
485 | } | ||||||||
486 | |||||||||
487 | /* A function decl. */ | ||||||||
488 | |||||||||
489 | static void | ||||||||
490 | go_function_decl (tree decl) | ||||||||
491 | { | ||||||||
492 | real_debug_hooks->function_decl (decl); | ||||||||
493 | go_decl (decl); | ||||||||
494 | } | ||||||||
495 | |||||||||
496 | static void | ||||||||
497 | go_early_global_decl (tree decl) | ||||||||
498 | { | ||||||||
499 | go_decl (decl); | ||||||||
500 | if (TREE_CODE (decl)((enum tree_code) (decl)->base.code) != FUNCTION_DECL || DECL_STRUCT_FUNCTION (decl)((tree_check ((decl), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 500, __FUNCTION__, (FUNCTION_DECL)))->function_decl.f) != NULLnullptr) | ||||||||
501 | real_debug_hooks->early_global_decl (decl); | ||||||||
502 | } | ||||||||
503 | |||||||||
504 | /* A global variable decl. */ | ||||||||
505 | |||||||||
506 | static void | ||||||||
507 | go_late_global_decl (tree decl) | ||||||||
508 | { | ||||||||
509 | real_debug_hooks->late_global_decl (decl); | ||||||||
510 | } | ||||||||
511 | |||||||||
512 | /* A type declaration. */ | ||||||||
513 | |||||||||
514 | static void | ||||||||
515 | go_type_decl (tree decl, int local) | ||||||||
516 | { | ||||||||
517 | real_debug_hooks->type_decl (decl, local); | ||||||||
518 | |||||||||
519 | if (local || DECL_IS_UNDECLARED_BUILTIN (decl)(((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 519, __FUNCTION__))->decl_minimal.locus) <= ((location_t ) 1))) | ||||||||
520 | return; | ||||||||
521 | if (DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 521, __FUNCTION__))->decl_minimal.name) == NULL_TREE(tree) nullptr | ||||||||
522 | && (TYPE_NAME (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 522, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 522, __FUNCTION__))->type_common.name) == NULL_TREE(tree) nullptr | ||||||||
523 | || TREE_CODE (TYPE_NAME (TREE_TYPE (decl)))((enum tree_code) (((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 523, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 523, __FUNCTION__))->type_common.name))->base.code) != IDENTIFIER_NODE) | ||||||||
524 | && TREE_CODE (TREE_TYPE (decl))((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 524, __FUNCTION__))->typed.type))->base.code) != ENUMERAL_TYPE) | ||||||||
525 | return; | ||||||||
526 | vec_safe_push (queue, decl); | ||||||||
527 | } | ||||||||
528 | |||||||||
529 | /* A container for the data we pass around when generating information | ||||||||
530 | at the end of the compilation. */ | ||||||||
531 | |||||||||
532 | class godump_container | ||||||||
533 | { | ||||||||
534 | public: | ||||||||
535 | /* DECLs that we have already seen. */ | ||||||||
536 | hash_set<tree> decls_seen; | ||||||||
537 | |||||||||
538 | /* Types which may potentially have to be defined as dummy | ||||||||
539 | types. */ | ||||||||
540 | hash_set<const char *, false, godump_str_hash> pot_dummy_types; | ||||||||
541 | |||||||||
542 | /* Go keywords. */ | ||||||||
543 | htab_t keyword_hash; | ||||||||
544 | |||||||||
545 | /* Global type definitions. */ | ||||||||
546 | htab_t type_hash; | ||||||||
547 | |||||||||
548 | /* Invalid types. */ | ||||||||
549 | htab_t invalid_hash; | ||||||||
550 | |||||||||
551 | /* Obstack used to write out a type definition. */ | ||||||||
552 | struct obstack type_obstack; | ||||||||
553 | }; | ||||||||
554 | |||||||||
555 | /* Append an IDENTIFIER_NODE to OB. */ | ||||||||
556 | |||||||||
557 | static void | ||||||||
558 | go_append_string (struct obstack *ob, tree id) | ||||||||
559 | { | ||||||||
560 | obstack_grow (ob, IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( ((tree_check ((id), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 560, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.len )); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, ( (const char *) (tree_check ((id), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 560, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), __len); __o->next_free += __len; (void) 0; }); | ||||||||
561 | } | ||||||||
562 | |||||||||
563 | /* Given an integer PRECISION in bits, returns a constant string that is the | ||||||||
564 | matching go int or uint type (depending on the IS_UNSIGNED flag). Returns a | ||||||||
565 | NULL pointer if there is no matching go type. */ | ||||||||
566 | |||||||||
567 | static const char * | ||||||||
568 | go_get_uinttype_for_precision (unsigned int precision, bool is_unsigned) | ||||||||
569 | { | ||||||||
570 | switch (precision) | ||||||||
571 | { | ||||||||
572 | case 8: | ||||||||
573 | return is_unsigned ? "uint8" : "int8"; | ||||||||
574 | case 16: | ||||||||
575 | return is_unsigned ? "uint16" : "int16"; | ||||||||
576 | case 32: | ||||||||
577 | return is_unsigned ? "uint32" : "int32"; | ||||||||
578 | case 64: | ||||||||
579 | return is_unsigned ? "uint64" : "int64"; | ||||||||
580 | default: | ||||||||
581 | return NULLnullptr; | ||||||||
582 | } | ||||||||
583 | } | ||||||||
584 | |||||||||
585 | /* Append an artificial variable name with the suffix _INDEX to OB. Returns | ||||||||
586 | INDEX + 1. */ | ||||||||
587 | |||||||||
588 | static unsigned int | ||||||||
589 | go_append_artificial_name (struct obstack *ob, unsigned int index) | ||||||||
590 | { | ||||||||
591 | char buf[100]; | ||||||||
592 | |||||||||
593 | /* FIXME: identifier may not be unique. */ | ||||||||
594 | obstack_grow (ob, "Godump_", 7)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 7); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "Godump_" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
595 | snprintf (buf, sizeof buf, "%u", index); | ||||||||
596 | obstack_grow (ob, buf, strlen (buf))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (buf)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free ); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o ->next_free, buf, __len); __o->next_free += __len; (void ) 0; }); | ||||||||
597 | |||||||||
598 | return index + 1; | ||||||||
599 | } | ||||||||
600 | |||||||||
601 | /* Append the variable name from DECL to OB. If the name is in the | ||||||||
602 | KEYWORD_HASH, prepend an '_'. */ | ||||||||
603 | |||||||||
604 | static void | ||||||||
605 | go_append_decl_name (struct obstack *ob, tree decl, htab_t keyword_hash) | ||||||||
606 | { | ||||||||
607 | const char *var_name; | ||||||||
608 | void **slot; | ||||||||
609 | |||||||||
610 | /* Start variable name with an underscore if a keyword. */ | ||||||||
611 | var_name = IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 611, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 611, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ); | ||||||||
612 | slot = htab_find_slot (keyword_hash, var_name, NO_INSERT); | ||||||||
613 | if (slot != NULLnullptr) | ||||||||
614 | obstack_1grow (ob, '_')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('_'))); }); | ||||||||
615 | go_append_string (ob, DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 615, __FUNCTION__))->decl_minimal.name)); | ||||||||
616 | } | ||||||||
617 | |||||||||
618 | /* Appends a byte array with the necessary number of elements and the name | ||||||||
619 | "Godump_INDEX_pad" to pad from FROM_OFFSET to TO_OFFSET to OB assuming that | ||||||||
620 | the next field is automatically aligned to ALIGN_UNITS. Returns INDEX + 1, | ||||||||
621 | or INDEX if no padding had to be appended. The resulting offset where the | ||||||||
622 | next field is allocated is returned through RET_OFFSET. */ | ||||||||
623 | |||||||||
624 | static unsigned int | ||||||||
625 | go_append_padding (struct obstack *ob, unsigned int from_offset, | ||||||||
626 | unsigned int to_offset, unsigned int align_units, | ||||||||
627 | unsigned int index, unsigned int *ret_offset) | ||||||||
628 | { | ||||||||
629 | if (from_offset % align_units > 0) | ||||||||
| |||||||||
630 | from_offset += align_units - (from_offset % align_units); | ||||||||
631 | gcc_assert (to_offset >= from_offset)((void)(!(to_offset >= from_offset) ? fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 631, __FUNCTION__), 0 : 0)); | ||||||||
632 | if (to_offset > from_offset) | ||||||||
633 | { | ||||||||
634 | char buf[100]; | ||||||||
635 | |||||||||
636 | index = go_append_artificial_name (ob, index); | ||||||||
637 | snprintf (buf, sizeof buf, "_pad [%u]byte; ", to_offset - from_offset); | ||||||||
638 | obstack_grow (ob, buf, strlen (buf))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (buf)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free ); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o ->next_free, buf, __len); __o->next_free += __len; (void ) 0; }); | ||||||||
639 | } | ||||||||
640 | *ret_offset = to_offset; | ||||||||
641 | |||||||||
642 | return index; | ||||||||
643 | } | ||||||||
644 | |||||||||
645 | /* Appends an array of type TYPE_STRING with zero elements and the name | ||||||||
646 | "_" to OB. If TYPE_STRING is a null pointer, ERROR_STRING is appended | ||||||||
647 | instead of the type. Returns INDEX + 1. */ | ||||||||
648 | |||||||||
649 | static unsigned int | ||||||||
650 | go_force_record_alignment (struct obstack *ob, const char *type_string, | ||||||||
651 | unsigned int index, const char *error_string) | ||||||||
652 | { | ||||||||
653 | obstack_grow (ob, "_ ", 2)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 2); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "_ " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
654 | if (type_string == NULLnullptr) | ||||||||
655 | obstack_grow (ob, error_string, strlen (error_string))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (error_string)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free ); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o ->next_free, error_string, __len); __o->next_free += __len ; (void) 0; }); | ||||||||
656 | else | ||||||||
657 | { | ||||||||
658 | obstack_grow (ob, "[0]", 3)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 3); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "[0]" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
659 | obstack_grow (ob, type_string, strlen (type_string))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (type_string)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free ); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o ->next_free, type_string, __len); __o->next_free += __len ; (void) 0; }); | ||||||||
660 | } | ||||||||
661 | obstack_grow (ob, "; ", 2)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 2); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "; " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
662 | |||||||||
663 | return index; | ||||||||
664 | } | ||||||||
665 | |||||||||
666 | /* Write the Go version of TYPE to CONTAINER->TYPE_OBSTACK. | ||||||||
667 | USE_TYPE_NAME is true if we can simply use a type name here without | ||||||||
668 | needing to define it. IS_FUNC_OK is true if we can output a func | ||||||||
669 | type here; the "func" keyword will already have been added. | ||||||||
670 | Return true if the type can be represented in Go, false otherwise. | ||||||||
671 | P_ART_I is used for indexing artificial elements in nested structures and | ||||||||
672 | should always be a NULL pointer when called, except by certain recursive | ||||||||
673 | calls from go_format_type() itself. */ | ||||||||
674 | |||||||||
675 | static bool | ||||||||
676 | go_format_type (class godump_container *container, tree type, | ||||||||
677 | bool use_type_name, bool is_func_ok, unsigned int *p_art_i, | ||||||||
678 | bool is_anon_record_or_union) | ||||||||
679 | { | ||||||||
680 | bool ret; | ||||||||
681 | struct obstack *ob; | ||||||||
682 | unsigned int art_i_dummy; | ||||||||
683 | bool is_union = false; | ||||||||
684 | |||||||||
685 | if (p_art_i == NULLnullptr) | ||||||||
| |||||||||
686 | { | ||||||||
687 | art_i_dummy = 0; | ||||||||
688 | p_art_i = &art_i_dummy; | ||||||||
689 | } | ||||||||
690 | ret = true; | ||||||||
691 | ob = &container->type_obstack; | ||||||||
692 | |||||||||
693 | if (use_type_name | ||||||||
694 | && TYPE_NAME (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 694, __FUNCTION__))->type_common.name) != NULL_TREE(tree) nullptr | ||||||||
695 | && (AGGREGATE_TYPE_P (type)(((enum tree_code) (type)->base.code) == ARRAY_TYPE || ((( enum tree_code) (type)->base.code) == RECORD_TYPE || ((enum tree_code) (type)->base.code) == UNION_TYPE || ((enum tree_code ) (type)->base.code) == QUAL_UNION_TYPE)) | ||||||||
696 | || POINTER_TYPE_P (type)(((enum tree_code) (type)->base.code) == POINTER_TYPE || ( (enum tree_code) (type)->base.code) == REFERENCE_TYPE) | ||||||||
697 | || TREE_CODE (type)((enum tree_code) (type)->base.code) == FUNCTION_TYPE)) | ||||||||
698 | { | ||||||||
699 | tree name; | ||||||||
700 | void **slot; | ||||||||
701 | |||||||||
702 | /* References to complex builtin types cannot be translated to | ||||||||
703 | Go. */ | ||||||||
704 | if (DECL_P (TYPE_NAME (type))(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 704, __FUNCTION__))->type_common.name))->base.code))] == tcc_declaration) | ||||||||
705 | && DECL_IS_UNDECLARED_BUILTIN (TYPE_NAME (type))(((contains_struct_check ((((tree_class_check ((type), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 705, __FUNCTION__))->type_common.name)), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 705, __FUNCTION__))->decl_minimal.locus) <= ((location_t ) 1))) | ||||||||
706 | ret = false; | ||||||||
707 | |||||||||
708 | name = TYPE_IDENTIFIER (type)(((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 708, __FUNCTION__))->type_common.name) && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 708, __FUNCTION__))->type_common.name))->base.code))] == tcc_declaration) ? ((contains_struct_check ((((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 708, __FUNCTION__))->type_common.name)), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 708, __FUNCTION__))->decl_minimal.name) : ((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 708, __FUNCTION__))->type_common.name)); | ||||||||
709 | |||||||||
710 | slot = htab_find_slot (container->invalid_hash, IDENTIFIER_POINTER (name)((const char *) (tree_check ((name), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 710, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
711 | NO_INSERT); | ||||||||
712 | if (slot != NULLnullptr) | ||||||||
713 | ret = false; | ||||||||
714 | |||||||||
715 | /* References to incomplete structs are permitted in many | ||||||||
716 | contexts, like behind a pointer or inside of a typedef. So | ||||||||
717 | consider any referenced struct a potential dummy type. */ | ||||||||
718 | if (RECORD_OR_UNION_TYPE_P (type)(((enum tree_code) (type)->base.code) == RECORD_TYPE || (( enum tree_code) (type)->base.code) == UNION_TYPE || ((enum tree_code) (type)->base.code) == QUAL_UNION_TYPE)) | ||||||||
719 | container->pot_dummy_types.add (IDENTIFIER_POINTER (name)((const char *) (tree_check ((name), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 719, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
720 | |||||||||
721 | obstack_1grow (ob, '_')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('_'))); }); | ||||||||
722 | go_append_string (ob, name); | ||||||||
723 | return ret; | ||||||||
724 | } | ||||||||
725 | |||||||||
726 | switch (TREE_CODE (type)((enum tree_code) (type)->base.code)) | ||||||||
727 | { | ||||||||
728 | case TYPE_DECL: | ||||||||
729 | { | ||||||||
730 | void **slot; | ||||||||
731 | |||||||||
732 | slot = htab_find_slot (container->invalid_hash, | ||||||||
733 | IDENTIFIER_POINTER (DECL_NAME (type))((const char *) (tree_check ((((contains_struct_check ((type) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 733, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 733, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
734 | NO_INSERT); | ||||||||
735 | if (slot != NULLnullptr) | ||||||||
736 | ret = false; | ||||||||
737 | |||||||||
738 | obstack_1grow (ob, '_')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('_'))); }); | ||||||||
739 | go_append_string (ob, DECL_NAME (type)((contains_struct_check ((type), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 739, __FUNCTION__))->decl_minimal.name)); | ||||||||
740 | } | ||||||||
741 | break; | ||||||||
742 | |||||||||
743 | case ENUMERAL_TYPE: | ||||||||
744 | case INTEGER_TYPE: | ||||||||
745 | { | ||||||||
746 | const char *s; | ||||||||
747 | char buf[100]; | ||||||||
748 | |||||||||
749 | s = go_get_uinttype_for_precision (TYPE_PRECISION (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 749, __FUNCTION__))->type_common.precision), | ||||||||
750 | TYPE_UNSIGNED (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 750, __FUNCTION__))->base.u.bits.unsigned_flag)); | ||||||||
751 | if (s == NULLnullptr) | ||||||||
752 | { | ||||||||
753 | snprintf (buf, sizeof buf, "INVALID-int-%u%s", | ||||||||
754 | TYPE_PRECISION (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 754, __FUNCTION__))->type_common.precision), | ||||||||
755 | TYPE_UNSIGNED (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 755, __FUNCTION__))->base.u.bits.unsigned_flag) ? "u" : ""); | ||||||||
756 | s = buf; | ||||||||
757 | ret = false; | ||||||||
758 | } | ||||||||
759 | obstack_grow (ob, s, strlen (s))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (s)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o-> next_free, s, __len); __o->next_free += __len; (void) 0; } ); | ||||||||
760 | } | ||||||||
761 | break; | ||||||||
762 | |||||||||
763 | case REAL_TYPE: | ||||||||
764 | { | ||||||||
765 | const char *s; | ||||||||
766 | char buf[100]; | ||||||||
767 | |||||||||
768 | switch (TYPE_PRECISION (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 768, __FUNCTION__))->type_common.precision)) | ||||||||
769 | { | ||||||||
770 | case 32: | ||||||||
771 | s = "float32"; | ||||||||
772 | break; | ||||||||
773 | case 64: | ||||||||
774 | s = "float64"; | ||||||||
775 | break; | ||||||||
776 | default: | ||||||||
777 | snprintf (buf, sizeof buf, "INVALID-float-%u", | ||||||||
778 | TYPE_PRECISION (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 778, __FUNCTION__))->type_common.precision)); | ||||||||
779 | s = buf; | ||||||||
780 | ret = false; | ||||||||
781 | break; | ||||||||
782 | } | ||||||||
783 | obstack_grow (ob, s, strlen (s))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (s)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o-> next_free, s, __len); __o->next_free += __len; (void) 0; } ); | ||||||||
784 | } | ||||||||
785 | break; | ||||||||
786 | |||||||||
787 | case COMPLEX_TYPE: | ||||||||
788 | { | ||||||||
789 | const char *s; | ||||||||
790 | char buf[100]; | ||||||||
791 | tree real_type; | ||||||||
792 | |||||||||
793 | real_type = TREE_TYPE (type)((contains_struct_check ((type), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 793, __FUNCTION__))->typed.type); | ||||||||
794 | if (TREE_CODE (real_type)((enum tree_code) (real_type)->base.code) == REAL_TYPE) | ||||||||
795 | { | ||||||||
796 | switch (TYPE_PRECISION (real_type)((tree_class_check ((real_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 796, __FUNCTION__))->type_common.precision)) | ||||||||
797 | { | ||||||||
798 | case 32: | ||||||||
799 | s = "complex64"; | ||||||||
800 | break; | ||||||||
801 | case 64: | ||||||||
802 | s = "complex128"; | ||||||||
803 | break; | ||||||||
804 | default: | ||||||||
805 | snprintf (buf, sizeof buf, "INVALID-complex-%u", | ||||||||
806 | 2 * TYPE_PRECISION (real_type)((tree_class_check ((real_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 806, __FUNCTION__))->type_common.precision)); | ||||||||
807 | s = buf; | ||||||||
808 | ret = false; | ||||||||
809 | break; | ||||||||
810 | } | ||||||||
811 | } | ||||||||
812 | else | ||||||||
813 | { | ||||||||
814 | s = "INVALID-complex-non-real"; | ||||||||
815 | ret = false; | ||||||||
816 | } | ||||||||
817 | obstack_grow (ob, s, strlen (s))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (s)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o-> next_free, s, __len); __o->next_free += __len; (void) 0; } ); | ||||||||
818 | } | ||||||||
819 | break; | ||||||||
820 | |||||||||
821 | case BOOLEAN_TYPE: | ||||||||
822 | obstack_grow (ob, "bool", 4)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 4); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "bool" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
823 | break; | ||||||||
824 | |||||||||
825 | case POINTER_TYPE: | ||||||||
826 | if (TREE_CODE (TREE_TYPE (type))((enum tree_code) (((contains_struct_check ((type), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 826, __FUNCTION__))->typed.type))->base.code) == FUNCTION_TYPE) | ||||||||
827 | obstack_grow (ob, "func", 4)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 4); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "func" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
828 | else | ||||||||
829 | obstack_1grow (ob, '*')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('*'))); }); | ||||||||
830 | if (VOID_TYPE_P (TREE_TYPE (type))(((enum tree_code) (((contains_struct_check ((type), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 830, __FUNCTION__))->typed.type))->base.code) == VOID_TYPE )) | ||||||||
831 | obstack_grow (ob, "byte", 4)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 4); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "byte" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
832 | else | ||||||||
833 | { | ||||||||
834 | if (!go_format_type (container, TREE_TYPE (type)((contains_struct_check ((type), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 834, __FUNCTION__))->typed.type), use_type_name, | ||||||||
835 | true, NULLnullptr, false)) | ||||||||
836 | ret = false; | ||||||||
837 | } | ||||||||
838 | break; | ||||||||
839 | |||||||||
840 | case ARRAY_TYPE: | ||||||||
841 | obstack_1grow (ob, '[')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('['))); }); | ||||||||
842 | if (TYPE_DOMAIN (type)((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 842, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values ) != NULL_TREE(tree) nullptr | ||||||||
843 | && TREE_CODE (TYPE_DOMAIN (type))((enum tree_code) (((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 843, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values ))->base.code) == INTEGER_TYPE | ||||||||
844 | && TYPE_MIN_VALUE (TYPE_DOMAIN (type))((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 844, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 844, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.minval ) != NULL_TREE(tree) nullptr | ||||||||
845 | && TREE_CODE (TYPE_MIN_VALUE (TYPE_DOMAIN (type)))((enum tree_code) (((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 845, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 845, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.minval ))->base.code) == INTEGER_CST | ||||||||
846 | && tree_int_cst_sgn (TYPE_MIN_VALUE (TYPE_DOMAIN (type))((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 846, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 846, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.minval )) == 0 | ||||||||
847 | && TYPE_MAX_VALUE (TYPE_DOMAIN (type))((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 847, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 847, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.maxval ) != NULL_TREE(tree) nullptr | ||||||||
848 | && TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))((enum tree_code) (((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 848, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 848, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.maxval ))->base.code) == INTEGER_CST | ||||||||
849 | && tree_fits_shwi_p (TYPE_MAX_VALUE (TYPE_DOMAIN (type))((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 849, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 849, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.maxval ))) | ||||||||
850 | { | ||||||||
851 | char buf[100]; | ||||||||
852 | |||||||||
853 | snprintf (buf, sizeof buf, HOST_WIDE_INT_PRINT_DEC"%" "l" "d" "+1", | ||||||||
854 | tree_to_shwi (TYPE_MAX_VALUE (TYPE_DOMAIN (type))((tree_check5 ((((tree_check ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 854, __FUNCTION__, (ARRAY_TYPE)))->type_non_common.values )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 854, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE)))->type_non_common.maxval ))); | ||||||||
855 | obstack_grow (ob, buf, strlen (buf))__extension__ ({ struct obstack *__o = (ob); size_t __len = ( strlen (buf)); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free ); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o ->next_free, buf, __len); __o->next_free += __len; (void ) 0; }); | ||||||||
856 | } | ||||||||
857 | else | ||||||||
858 | obstack_1grow (ob, '0')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('0'))); }); | ||||||||
859 | obstack_1grow (ob, ']')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = (']'))); }); | ||||||||
860 | if (!go_format_type (container, TREE_TYPE (type)((contains_struct_check ((type), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 860, __FUNCTION__))->typed.type), use_type_name, false, | ||||||||
861 | NULLnullptr, false)) | ||||||||
862 | ret = false; | ||||||||
863 | break; | ||||||||
864 | |||||||||
865 | case UNION_TYPE: | ||||||||
866 | is_union = true; | ||||||||
867 | /* Fall through to RECORD_TYPE case. */ | ||||||||
868 | gcc_fallthrough (); | ||||||||
869 | case RECORD_TYPE: | ||||||||
870 | { | ||||||||
871 | unsigned int prev_field_end; | ||||||||
872 | unsigned int known_alignment; | ||||||||
873 | tree field; | ||||||||
874 | bool emitted_a_field; | ||||||||
875 | |||||||||
876 | /* FIXME: Why is this necessary? Without it we can get a core | ||||||||
877 | dump on the s390x headers, or from a file containing simply | ||||||||
878 | "typedef struct S T;". */ | ||||||||
879 | layout_type (type); | ||||||||
880 | |||||||||
881 | prev_field_end = 0; | ||||||||
882 | known_alignment = 1; | ||||||||
883 | /* Anonymous records and unions are flattened, i.e. they are not put | ||||||||
884 | into "struct { ... }". */ | ||||||||
885 | if (!is_anon_record_or_union) | ||||||||
886 | obstack_grow (ob, "struct { ", 9)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 9); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "struct { " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
887 | for (field = TYPE_FIELDS (type)((tree_check3 ((type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 887, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE )))->type_non_common.values), emitted_a_field = false; | ||||||||
888 | field != NULL_TREE(tree) nullptr; | ||||||||
889 | field = TREE_CHAIN (field)((contains_struct_check ((field), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 889, __FUNCTION__))->common.chain)) | ||||||||
890 | { | ||||||||
891 | if (TREE_CODE (field)((enum tree_code) (field)->base.code) != FIELD_DECL) | ||||||||
892 | continue; | ||||||||
893 | if (DECL_BIT_FIELD (field)((tree_check ((field), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 893, __FUNCTION__, (FIELD_DECL)))->decl_common.decl_flag_1 )) | ||||||||
894 | /* Bit fields are replaced by padding. */ | ||||||||
895 | continue; | ||||||||
896 | /* Only the first non-bitfield field is emitted for unions. */ | ||||||||
897 | if (!is_union
| ||||||||
898 | { | ||||||||
899 | /* Emit the field. */ | ||||||||
900 | bool field_ok; | ||||||||
901 | bool is_anon_substructure; | ||||||||
902 | unsigned int decl_align_unit; | ||||||||
903 | unsigned int decl_offset; | ||||||||
904 | |||||||||
905 | field_ok = true; | ||||||||
906 | emitted_a_field = true; | ||||||||
907 | is_anon_substructure = | ||||||||
908 | (DECL_NAME (field)((contains_struct_check ((field), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 908, __FUNCTION__))->decl_minimal.name) == NULLnullptr | ||||||||
909 | && (TREE_CODE (TREE_TYPE (field))((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 909, __FUNCTION__))->typed.type))->base.code) == RECORD_TYPE | ||||||||
910 | || TREE_CODE (TREE_TYPE (field))((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 910, __FUNCTION__))->typed.type))->base.code) == UNION_TYPE)); | ||||||||
911 | /* Keep track of the alignment of named substructures, either | ||||||||
912 | of the whole record, or the alignment of the emitted field | ||||||||
913 | (for unions). */ | ||||||||
914 | decl_align_unit = DECL_ALIGN_UNIT (field)((((contains_struct_check ((field), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 914, __FUNCTION__))->decl_common.align) ? ((unsigned)1) << (((contains_struct_check ((field), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 914, __FUNCTION__))->decl_common.align) - 1) : 0) / (8)); | ||||||||
915 | if (!is_anon_substructure
| ||||||||
916 | known_alignment = decl_align_unit; | ||||||||
917 | /* Pad to start of field. */ | ||||||||
918 | decl_offset = | ||||||||
919 | TREE_INT_CST_LOW (DECL_FIELD_OFFSET (field))((unsigned long) (*tree_int_cst_elt_check ((((tree_check ((field ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 919, __FUNCTION__, (FIELD_DECL)))->field_decl.offset)), ( 0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 919, __FUNCTION__))) | ||||||||
920 | + precision_to_units | ||||||||
921 | (TREE_INT_CST_LOW (DECL_FIELD_BIT_OFFSET (field))((unsigned long) (*tree_int_cst_elt_check ((((tree_check ((field ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 921, __FUNCTION__, (FIELD_DECL)))->field_decl.bit_offset )), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 921, __FUNCTION__)))); | ||||||||
922 | { | ||||||||
923 | unsigned int align_unit; | ||||||||
924 | |||||||||
925 | /* For anonymous records and unions there is no automatic | ||||||||
926 | structure alignment, so use 1 as the alignment. */ | ||||||||
927 | align_unit = (is_anon_substructure
| ||||||||
928 | *p_art_i = go_append_padding | ||||||||
929 | (ob, prev_field_end, decl_offset, align_unit, *p_art_i, | ||||||||
930 | &prev_field_end); | ||||||||
931 | } | ||||||||
932 | if (DECL_SIZE_UNIT (field)((contains_struct_check ((field), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 932, __FUNCTION__))->decl_common.size_unit)) | ||||||||
933 | prev_field_end += | ||||||||
934 | TREE_INT_CST_LOW (DECL_SIZE_UNIT (field))((unsigned long) (*tree_int_cst_elt_check ((((contains_struct_check ((field), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 934, __FUNCTION__))->decl_common.size_unit)), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 934, __FUNCTION__))); | ||||||||
935 | /* Emit the field name, but not for anonymous records and | ||||||||
936 | unions. */ | ||||||||
937 | if (!is_anon_substructure) | ||||||||
938 | { | ||||||||
939 | if (DECL_NAME (field)((contains_struct_check ((field), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 939, __FUNCTION__))->decl_minimal.name) == NULLnullptr) | ||||||||
940 | *p_art_i = go_append_artificial_name (ob, *p_art_i); | ||||||||
941 | else | ||||||||
942 | go_append_decl_name | ||||||||
943 | (ob, field, container->keyword_hash); | ||||||||
944 | obstack_1grow (ob, ' ')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = (' '))); }); | ||||||||
945 | } | ||||||||
946 | /* Do not expand type if a record or union type or a function | ||||||||
947 | pointer. */ | ||||||||
948 | if (TYPE_NAME (TREE_TYPE (field))((tree_class_check ((((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 948, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 948, __FUNCTION__))->type_common.name) != NULL_TREE(tree) nullptr | ||||||||
949 | && (RECORD_OR_UNION_TYPE_P (TREE_TYPE (field))(((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 949, __FUNCTION__))->typed.type))->base.code) == RECORD_TYPE || ((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 949, __FUNCTION__))->typed.type))->base.code) == UNION_TYPE || ((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 949, __FUNCTION__))->typed.type))->base.code) == QUAL_UNION_TYPE ) | ||||||||
950 | || (POINTER_TYPE_P (TREE_TYPE (field))(((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 950, __FUNCTION__))->typed.type))->base.code) == POINTER_TYPE || ((enum tree_code) (((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 950, __FUNCTION__))->typed.type))->base.code) == REFERENCE_TYPE ) | ||||||||
951 | && (TREE_CODE (TREE_TYPE (TREE_TYPE (field)))((enum tree_code) (((contains_struct_check ((((contains_struct_check ((field), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 951, __FUNCTION__))->typed.type)), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 951, __FUNCTION__))->typed.type))->base.code) | ||||||||
952 | == FUNCTION_TYPE)))) | ||||||||
953 | { | ||||||||
954 | tree name; | ||||||||
955 | void **slot; | ||||||||
956 | |||||||||
957 | name = TYPE_IDENTIFIER (TREE_TYPE (field))(((tree_class_check ((((contains_struct_check ((field), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->type_common.name) && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (((tree_class_check ((((contains_struct_check ((field), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->type_common.name))->base.code))] == tcc_declaration) ? ((contains_struct_check ((((tree_class_check ((((contains_struct_check ((field), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->type_common.name)), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->decl_minimal.name) : ((tree_class_check ((((contains_struct_check ((field), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 957, __FUNCTION__))->type_common.name)); | ||||||||
958 | |||||||||
959 | slot = htab_find_slot (container->invalid_hash, | ||||||||
960 | IDENTIFIER_POINTER (name)((const char *) (tree_check ((name), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 960, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
961 | NO_INSERT); | ||||||||
962 | if (slot != NULLnullptr) | ||||||||
963 | field_ok = false; | ||||||||
964 | |||||||||
965 | obstack_1grow (ob, '_')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('_'))); }); | ||||||||
966 | go_append_string (ob, name); | ||||||||
967 | } | ||||||||
968 | else | ||||||||
969 | { | ||||||||
970 | if (!go_format_type (container, TREE_TYPE (field)((contains_struct_check ((field), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 970, __FUNCTION__))->typed.type), true, | ||||||||
971 | false, p_art_i, is_anon_substructure)) | ||||||||
972 | field_ok = false; | ||||||||
973 | } | ||||||||
974 | if (!is_anon_substructure) | ||||||||
975 | obstack_grow (ob, "; ", 2)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 2); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "; " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
976 | if (!field_ok) | ||||||||
977 | ret = false; | ||||||||
978 | } | ||||||||
979 | } | ||||||||
980 | /* Padding. */ | ||||||||
981 | *p_art_i = go_append_padding (ob, prev_field_end, | ||||||||
982 | TREE_INT_CST_LOW (TYPE_SIZE_UNIT (type))((unsigned long) (*tree_int_cst_elt_check ((((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 982, __FUNCTION__))->type_common.size_unit)), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 982, __FUNCTION__))), | ||||||||
983 | 1, *p_art_i, &prev_field_end); | ||||||||
984 | /* Alignment. */ | ||||||||
985 | if (!is_anon_record_or_union | ||||||||
986 | && known_alignment < TYPE_ALIGN_UNIT (type)((((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 986, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 986, __FUNCTION__))->type_common.align) - 1) : 0) / (8))) | ||||||||
987 | { | ||||||||
988 | const char *s; | ||||||||
989 | char buf[100]; | ||||||||
990 | |||||||||
991 | /* Enforce proper record alignment. */ | ||||||||
992 | s = go_get_uinttype_for_precision | ||||||||
993 | (TYPE_ALIGN (type)(((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 993, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 993, __FUNCTION__))->type_common.align) - 1) : 0), TYPE_UNSIGNED (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 993, __FUNCTION__))->base.u.bits.unsigned_flag)); | ||||||||
994 | if (s == NULLnullptr) | ||||||||
995 | { | ||||||||
996 | snprintf (buf, sizeof buf, "INVALID-int-%u%s", | ||||||||
997 | TYPE_ALIGN (type)(((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 997, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 997, __FUNCTION__))->type_common.align) - 1) : 0), TYPE_UNSIGNED (type)((tree_class_check ((type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 997, __FUNCTION__))->base.u.bits.unsigned_flag) ? "u" : ""); | ||||||||
998 | s = buf; | ||||||||
999 | ret = false; | ||||||||
1000 | } | ||||||||
1001 | *p_art_i = go_force_record_alignment (ob, s, *p_art_i, buf); | ||||||||
1002 | } | ||||||||
1003 | if (!is_anon_record_or_union) | ||||||||
1004 | obstack_1grow (ob, '}')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('}'))); }); | ||||||||
1005 | } | ||||||||
1006 | break; | ||||||||
1007 | |||||||||
1008 | case FUNCTION_TYPE: | ||||||||
1009 | { | ||||||||
1010 | tree arg_type; | ||||||||
1011 | bool is_varargs; | ||||||||
1012 | tree result; | ||||||||
1013 | function_args_iterator iter; | ||||||||
1014 | bool seen_arg; | ||||||||
1015 | |||||||||
1016 | /* Go has no way to write a type which is a function but not a | ||||||||
1017 | pointer to a function. */ | ||||||||
1018 | if (!is_func_ok) | ||||||||
1019 | { | ||||||||
1020 | obstack_grow (ob, "func*", 5)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 5); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, "func*" , __len); __o->next_free += __len; (void) 0; }); | ||||||||
1021 | ret = false; | ||||||||
1022 | } | ||||||||
1023 | |||||||||
1024 | obstack_1grow (ob, '(')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('('))); }); | ||||||||
1025 | is_varargs = stdarg_p (type); | ||||||||
1026 | seen_arg = false; | ||||||||
1027 | FOREACH_FUNCTION_ARGS (type, arg_type, iter)for (function_args_iter_init (&(iter), (type)); (arg_type = function_args_iter_cond (&(iter))) != (tree) nullptr; function_args_iter_next (&(iter))) | ||||||||
1028 | { | ||||||||
1029 | if (VOID_TYPE_P (arg_type)(((enum tree_code) (arg_type)->base.code) == VOID_TYPE)) | ||||||||
1030 | break; | ||||||||
1031 | if (seen_arg) | ||||||||
1032 | obstack_grow (ob, ", ", 2)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 2); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, ", " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
1033 | if (!go_format_type (container, arg_type, true, false, NULLnullptr, false)) | ||||||||
1034 | ret = false; | ||||||||
1035 | seen_arg = true; | ||||||||
1036 | } | ||||||||
1037 | if (is_varargs) | ||||||||
1038 | { | ||||||||
1039 | if (prototype_p (type)) | ||||||||
1040 | obstack_grow (ob, ", ", 2)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 2); if (__extension__ ({ struct obstack const *__o1 = (__o); ( size_t) (__o1->chunk_limit - __o1->next_free); }) < __len ) _obstack_newchunk (__o, __len); memcpy (__o->next_free, ", " , __len); __o->next_free += __len; (void) 0; }); | ||||||||
1041 | obstack_grow (ob, "...interface{}", 14)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 14); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o->next_free , "...interface{}", __len); __o->next_free += __len; (void ) 0; }); | ||||||||
1042 | } | ||||||||
1043 | obstack_1grow (ob, ')')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = (')'))); }); | ||||||||
1044 | |||||||||
1045 | result = TREE_TYPE (type)((contains_struct_check ((type), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1045, __FUNCTION__))->typed.type); | ||||||||
1046 | if (!VOID_TYPE_P (result)(((enum tree_code) (result)->base.code) == VOID_TYPE)) | ||||||||
1047 | { | ||||||||
1048 | obstack_1grow (ob, ' ')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = (' '))); }); | ||||||||
1049 | if (!go_format_type (container, result, use_type_name, false, NULLnullptr, | ||||||||
1050 | false)) | ||||||||
1051 | ret = false; | ||||||||
1052 | } | ||||||||
1053 | } | ||||||||
1054 | break; | ||||||||
1055 | |||||||||
1056 | default: | ||||||||
1057 | obstack_grow (ob, "INVALID-type", 12)__extension__ ({ struct obstack *__o = (ob); size_t __len = ( 12); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < __len) _obstack_newchunk (__o, __len); memcpy (__o->next_free , "INVALID-type", __len); __o->next_free += __len; (void) 0 ; }); | ||||||||
1058 | ret = false; | ||||||||
1059 | break; | ||||||||
1060 | } | ||||||||
1061 | |||||||||
1062 | return ret; | ||||||||
1063 | } | ||||||||
1064 | |||||||||
1065 | /* Output the type which was built on the type obstack, and then free | ||||||||
1066 | it. */ | ||||||||
1067 | |||||||||
1068 | static void | ||||||||
1069 | go_output_type (class godump_container *container) | ||||||||
1070 | { | ||||||||
1071 | struct obstack *ob; | ||||||||
1072 | |||||||||
1073 | ob = &container->type_obstack; | ||||||||
1074 | obstack_1grow (ob, '\0')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('\0'))); }); | ||||||||
1075 | fputs ((char *) obstack_base (ob)((void *) (ob)->object_base), go_dump_file); | ||||||||
1076 | obstack_free (ob, obstack_base (ob))__extension__ ({ struct obstack *__o = (ob); void *__obj = (void *) (((void *) (ob)->object_base)); if (__obj > (void * ) __o->chunk && __obj < (void *) __o->chunk_limit ) __o->next_free = __o->object_base = (char *) __obj; else _obstack_free (__o, __obj); }); | ||||||||
1077 | } | ||||||||
1078 | |||||||||
1079 | /* Output a function declaration. */ | ||||||||
1080 | |||||||||
1081 | static void | ||||||||
1082 | go_output_fndecl (class godump_container *container, tree decl) | ||||||||
1083 | { | ||||||||
1084 | if (!go_format_type (container, TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1084, __FUNCTION__))->typed.type), true, true, NULLnullptr, false)) | ||||||||
1085 | fprintf (go_dump_file, "// "); | ||||||||
1086 | fprintf (go_dump_file, "func _%s ", | ||||||||
1087 | IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1087, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1087, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1088 | go_output_type (container); | ||||||||
1089 | fprintf (go_dump_file, " __asm__(\"%s\")\n", | ||||||||
1090 | IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl))((const char *) (tree_check ((decl_assembler_name (decl)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1090, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1091 | } | ||||||||
1092 | |||||||||
1093 | /* Output a typedef or something like a struct definition. */ | ||||||||
1094 | |||||||||
1095 | static void | ||||||||
1096 | go_output_typedef (class godump_container *container, tree decl) | ||||||||
1097 | { | ||||||||
1098 | /* If we have an enum type, output the enum constants | ||||||||
1099 | separately. */ | ||||||||
1100 | if (TREE_CODE (TREE_TYPE (decl))((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1100, __FUNCTION__))->typed.type))->base.code) == ENUMERAL_TYPE | ||||||||
1101 | && TYPE_SIZE (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1101, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1101, __FUNCTION__))->type_common.size) != 0 | ||||||||
1102 | && !container->decls_seen.contains (TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1102, __FUNCTION__))->typed.type)) | ||||||||
1103 | && (TYPE_CANONICAL (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1103, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1103, __FUNCTION__))->type_common.canonical) == NULL_TREE(tree) nullptr | ||||||||
1104 | || !container->decls_seen.contains | ||||||||
1105 | (TYPE_CANONICAL (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1105, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1105, __FUNCTION__))->type_common.canonical)))) | ||||||||
1106 | { | ||||||||
1107 | tree element; | ||||||||
1108 | |||||||||
1109 | for (element = TYPE_VALUES (TREE_TYPE (decl))((tree_check ((((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1109, __FUNCTION__))->typed.type)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1109, __FUNCTION__, (ENUMERAL_TYPE)))->type_non_common.values ); | ||||||||
1110 | element != NULL_TREE(tree) nullptr; | ||||||||
1111 | element = TREE_CHAIN (element)((contains_struct_check ((element), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1111, __FUNCTION__))->common.chain)) | ||||||||
1112 | { | ||||||||
1113 | const char *name; | ||||||||
1114 | struct macro_hash_value *mhval; | ||||||||
1115 | void **slot; | ||||||||
1116 | char buf[WIDE_INT_PRINT_BUFFER_SIZE(((((64*(8)) + 64) / 64) * 64) / 4 + 4)]; | ||||||||
1117 | tree value = DECL_INITIAL (TREE_VALUE (element))((contains_struct_check ((((tree_check ((element), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1117, __FUNCTION__, (TREE_LIST)))->list.value)), (TS_DECL_COMMON ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1117, __FUNCTION__))->decl_common.initial); | ||||||||
1118 | |||||||||
1119 | name = IDENTIFIER_POINTER (TREE_PURPOSE (element))((const char *) (tree_check ((((tree_check ((element), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1119, __FUNCTION__, (TREE_LIST)))->list.purpose)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1119, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ); | ||||||||
1120 | |||||||||
1121 | /* Sometimes a name will be defined as both an enum constant | ||||||||
1122 | and a macro. Avoid duplicate definition errors by | ||||||||
1123 | treating enum constants as macros. */ | ||||||||
1124 | mhval = XNEW (struct macro_hash_value)((struct macro_hash_value *) xmalloc (sizeof (struct macro_hash_value ))); | ||||||||
1125 | mhval->name = xstrdup (name); | ||||||||
1126 | mhval->value = NULLnullptr; | ||||||||
1127 | slot = htab_find_slot (macro_hash, mhval, INSERT); | ||||||||
1128 | if (*slot != NULLnullptr) | ||||||||
1129 | macro_hash_del (*slot); | ||||||||
1130 | |||||||||
1131 | if (tree_fits_shwi_p (value)) | ||||||||
1132 | snprintf (buf, sizeof buf, HOST_WIDE_INT_PRINT_DEC"%" "l" "d", | ||||||||
1133 | tree_to_shwi (value)); | ||||||||
1134 | else if (tree_fits_uhwi_p (value)) | ||||||||
1135 | snprintf (buf, sizeof buf, HOST_WIDE_INT_PRINT_UNSIGNED"%" "l" "u", | ||||||||
1136 | tree_to_uhwi (value)); | ||||||||
1137 | else | ||||||||
1138 | print_hex (wi::to_wide (element), buf); | ||||||||
1139 | |||||||||
1140 | mhval->value = xstrdup (buf); | ||||||||
1141 | *slot = mhval; | ||||||||
1142 | } | ||||||||
1143 | container->decls_seen.add (TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1143, __FUNCTION__))->typed.type)); | ||||||||
1144 | if (TYPE_CANONICAL (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1144, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1144, __FUNCTION__))->type_common.canonical) != NULL_TREE(tree) nullptr) | ||||||||
1145 | container->decls_seen.add (TYPE_CANONICAL (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1145, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1145, __FUNCTION__))->type_common.canonical)); | ||||||||
1146 | } | ||||||||
1147 | |||||||||
1148 | if (DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1148, __FUNCTION__))->decl_minimal.name) != NULL_TREE(tree) nullptr) | ||||||||
1149 | { | ||||||||
1150 | void **slot; | ||||||||
1151 | const char *type; | ||||||||
1152 | tree original_type; | ||||||||
1153 | |||||||||
1154 | type = IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1154, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1154, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ); | ||||||||
1155 | original_type = DECL_ORIGINAL_TYPE (decl)((tree_check ((decl), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1155, __FUNCTION__, (TYPE_DECL)))->decl_non_common.result ); | ||||||||
1156 | if (original_type == NULL_TREE(tree) nullptr) | ||||||||
1157 | original_type = TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1157, __FUNCTION__))->typed.type); | ||||||||
1158 | |||||||||
1159 | /* Suppress typedefs where the type name matches the underlying | ||||||||
1160 | struct/union/enum tag. This way we'll emit the struct definition | ||||||||
1161 | instead of an invalid recursive type. */ | ||||||||
1162 | if (TYPE_IDENTIFIER (original_type)(((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1162, __FUNCTION__))->type_common.name) && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1162, __FUNCTION__))->type_common.name))->base.code)) ] == tcc_declaration) ? ((contains_struct_check ((((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1162, __FUNCTION__))->type_common.name)), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1162, __FUNCTION__))->decl_minimal.name) : ((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1162, __FUNCTION__))->type_common.name)) != NULLnullptr | ||||||||
1163 | && IDENTIFIER_POINTER (TYPE_IDENTIFIER (original_type))((const char *) (tree_check (((((tree_class_check ((original_type ), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__))->type_common.name) && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__))->type_common.name))->base.code)) ] == tcc_declaration) ? ((contains_struct_check ((((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__))->type_common.name)), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__))->decl_minimal.name) : ((tree_class_check ((original_type), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__))->type_common.name))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1163, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ) == type) | ||||||||
1164 | return; | ||||||||
1165 | |||||||||
1166 | /* If type defined already, skip. */ | ||||||||
1167 | slot = htab_find_slot (container->type_hash, type, INSERT); | ||||||||
1168 | if (*slot != NULLnullptr) | ||||||||
1169 | return; | ||||||||
1170 | *slot = CONST_CAST (void *, (const void *) type)(const_cast<void *> (((const void *) type))); | ||||||||
1171 | |||||||||
1172 | if (!go_format_type (container, original_type, true, false, | ||||||||
1173 | NULLnullptr, false)) | ||||||||
1174 | { | ||||||||
1175 | fprintf (go_dump_file, "// "); | ||||||||
1176 | slot = htab_find_slot (container->invalid_hash, type, INSERT); | ||||||||
1177 | *slot = CONST_CAST (void *, (const void *) type)(const_cast<void *> (((const void *) type))); | ||||||||
1178 | } | ||||||||
1179 | fprintf (go_dump_file, "type _%s ", | ||||||||
1180 | IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1180, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1180, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1181 | go_output_type (container); | ||||||||
1182 | |||||||||
1183 | if (RECORD_OR_UNION_TYPE_P (TREE_TYPE (decl))(((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1183, __FUNCTION__))->typed.type))->base.code) == RECORD_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1183, __FUNCTION__))->typed.type))->base.code) == UNION_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1183, __FUNCTION__))->typed.type))->base.code) == QUAL_UNION_TYPE )) | ||||||||
1184 | { | ||||||||
1185 | HOST_WIDE_INTlong size = int_size_in_bytes (TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1185, __FUNCTION__))->typed.type)); | ||||||||
1186 | |||||||||
1187 | if (size > 0) | ||||||||
1188 | fprintf (go_dump_file, | ||||||||
1189 | "\nconst _sizeof_%s = " HOST_WIDE_INT_PRINT_DEC"%" "l" "d", | ||||||||
1190 | IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1190, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1190, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1191 | size); | ||||||||
1192 | } | ||||||||
1193 | |||||||||
1194 | container->decls_seen.add (decl); | ||||||||
1195 | } | ||||||||
1196 | else if ((RECORD_OR_UNION_TYPE_P (TREE_TYPE (decl))(((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1196, __FUNCTION__))->typed.type))->base.code) == RECORD_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1196, __FUNCTION__))->typed.type))->base.code) == UNION_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1196, __FUNCTION__))->typed.type))->base.code) == QUAL_UNION_TYPE ) | ||||||||
1197 | || TREE_CODE (TREE_TYPE (decl))((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1197, __FUNCTION__))->typed.type))->base.code) == ENUMERAL_TYPE) | ||||||||
1198 | && TYPE_NAME (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1198, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1198, __FUNCTION__))->type_common.name) != NULLnullptr) | ||||||||
1199 | { | ||||||||
1200 | void **slot; | ||||||||
1201 | const char *type; | ||||||||
1202 | HOST_WIDE_INTlong size; | ||||||||
1203 | |||||||||
1204 | type = IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE ((decl))))((const char *) (tree_check ((((tree_class_check ((((contains_struct_check (((decl)), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1204, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1204, __FUNCTION__))->type_common.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1204, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ); | ||||||||
1205 | /* If type defined already, skip. */ | ||||||||
1206 | slot = htab_find_slot (container->type_hash, type, INSERT); | ||||||||
1207 | if (*slot != NULLnullptr) | ||||||||
1208 | return; | ||||||||
1209 | *slot = CONST_CAST (void *, (const void *) type)(const_cast<void *> (((const void *) type))); | ||||||||
1210 | |||||||||
1211 | if (!go_format_type (container, TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1211, __FUNCTION__))->typed.type), false, false, NULLnullptr, | ||||||||
1212 | false)) | ||||||||
1213 | { | ||||||||
1214 | fprintf (go_dump_file, "// "); | ||||||||
1215 | slot = htab_find_slot (container->invalid_hash, type, INSERT); | ||||||||
1216 | *slot = CONST_CAST (void *, (const void *) type)(const_cast<void *> (((const void *) type))); | ||||||||
1217 | } | ||||||||
1218 | fprintf (go_dump_file, "type _%s ", | ||||||||
1219 | IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (decl)))((const char *) (tree_check ((((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1219, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1219, __FUNCTION__))->type_common.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1219, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1220 | go_output_type (container); | ||||||||
1221 | |||||||||
1222 | size = int_size_in_bytes (TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1222, __FUNCTION__))->typed.type)); | ||||||||
1223 | if (size > 0) | ||||||||
1224 | fprintf (go_dump_file, | ||||||||
1225 | "\nconst _sizeof_%s = " HOST_WIDE_INT_PRINT_DEC"%" "l" "d", | ||||||||
1226 | IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (decl)))((const char *) (tree_check ((((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1226, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1226, __FUNCTION__))->type_common.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1226, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1227 | size); | ||||||||
1228 | } | ||||||||
1229 | else | ||||||||
1230 | return; | ||||||||
1231 | |||||||||
1232 | fprintf (go_dump_file, "\n"); | ||||||||
1233 | } | ||||||||
1234 | |||||||||
1235 | /* Output a variable. */ | ||||||||
1236 | |||||||||
1237 | static void | ||||||||
1238 | go_output_var (class godump_container *container, tree decl) | ||||||||
1239 | { | ||||||||
1240 | bool is_valid; | ||||||||
1241 | tree type_name; | ||||||||
1242 | tree id; | ||||||||
1243 | |||||||||
1244 | if (container->decls_seen.contains (decl) | ||||||||
1245 | || container->decls_seen.contains (DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1245, __FUNCTION__))->decl_minimal.name))) | ||||||||
1246 | return; | ||||||||
1247 | container->decls_seen.add (decl); | ||||||||
1248 | container->decls_seen.add (DECL_NAME (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1248, __FUNCTION__))->decl_minimal.name)); | ||||||||
1249 | |||||||||
1250 | type_name = TYPE_NAME (TREE_TYPE (decl))((tree_class_check ((((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1250, __FUNCTION__))->typed.type)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1250, __FUNCTION__))->type_common.name); | ||||||||
1251 | id = NULL_TREE(tree) nullptr; | ||||||||
1252 | if (type_name != NULL_TREE(tree) nullptr && TREE_CODE (type_name)((enum tree_code) (type_name)->base.code) == IDENTIFIER_NODE) | ||||||||
1253 | id = type_name; | ||||||||
1254 | else if (type_name != NULL_TREE(tree) nullptr && TREE_CODE (type_name)((enum tree_code) (type_name)->base.code) == TYPE_DECL | ||||||||
1255 | && DECL_SOURCE_LOCATION (type_name)((contains_struct_check ((type_name), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1255, __FUNCTION__))->decl_minimal.locus) != BUILTINS_LOCATION((location_t) 1) | ||||||||
1256 | && DECL_NAME (type_name)((contains_struct_check ((type_name), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1256, __FUNCTION__))->decl_minimal.name)) | ||||||||
1257 | id = DECL_NAME (type_name)((contains_struct_check ((type_name), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1257, __FUNCTION__))->decl_minimal.name); | ||||||||
1258 | if (id != NULL_TREE(tree) nullptr | ||||||||
1259 | && (!htab_find_slot (container->type_hash, IDENTIFIER_POINTER (id)((const char *) (tree_check ((id), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1259, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1260 | NO_INSERT) | ||||||||
1261 | || htab_find_slot (container->invalid_hash, IDENTIFIER_POINTER (id)((const char *) (tree_check ((id), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1261, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1262 | NO_INSERT))) | ||||||||
1263 | id = NULL_TREE(tree) nullptr; | ||||||||
1264 | if (id != NULL_TREE(tree) nullptr) | ||||||||
1265 | { | ||||||||
1266 | struct obstack *ob; | ||||||||
1267 | |||||||||
1268 | ob = &container->type_obstack; | ||||||||
1269 | obstack_1grow (ob, '_')__extension__ ({ struct obstack *__o = (ob); if (__extension__ ({ struct obstack const *__o1 = (__o); (size_t) (__o1->chunk_limit - __o1->next_free); }) < 1) _obstack_newchunk (__o, 1) ; ((void) (*((__o)->next_free)++ = ('_'))); }); | ||||||||
1270 | go_append_string (ob, id); | ||||||||
1271 | is_valid = htab_find_slot (container->type_hash, IDENTIFIER_POINTER (id)((const char *) (tree_check ((id), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1271, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1272 | NO_INSERT) != NULLnullptr; | ||||||||
1273 | } | ||||||||
1274 | else | ||||||||
1275 | is_valid = go_format_type (container, TREE_TYPE (decl)((contains_struct_check ((decl), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1275, __FUNCTION__))->typed.type), true, false, NULLnullptr, | ||||||||
1276 | false); | ||||||||
1277 | if (is_valid | ||||||||
1278 | && htab_find_slot (container->type_hash, | ||||||||
1279 | IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1279, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1279, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ), | ||||||||
1280 | NO_INSERT) != NULLnullptr) | ||||||||
1281 | { | ||||||||
1282 | /* There is already a type with this name, probably from a | ||||||||
1283 | struct tag. Prefer the type to the variable. */ | ||||||||
1284 | is_valid = false; | ||||||||
1285 | } | ||||||||
1286 | if (!is_valid) | ||||||||
1287 | fprintf (go_dump_file, "// "); | ||||||||
1288 | |||||||||
1289 | fprintf (go_dump_file, "var _%s ", | ||||||||
1290 | IDENTIFIER_POINTER (DECL_NAME (decl))((const char *) (tree_check ((((contains_struct_check ((decl) , (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1290, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1290, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1291 | go_output_type (container); | ||||||||
1292 | fprintf (go_dump_file, "\n"); | ||||||||
1293 | |||||||||
1294 | /* Sometimes an extern variable is declared with an unknown struct | ||||||||
1295 | type. */ | ||||||||
1296 | if (type_name != NULL_TREE(tree) nullptr && RECORD_OR_UNION_TYPE_P (TREE_TYPE (decl))(((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1296, __FUNCTION__))->typed.type))->base.code) == RECORD_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1296, __FUNCTION__))->typed.type))->base.code) == UNION_TYPE || ((enum tree_code) (((contains_struct_check ((decl), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1296, __FUNCTION__))->typed.type))->base.code) == QUAL_UNION_TYPE )) | ||||||||
1297 | { | ||||||||
1298 | if (TREE_CODE (type_name)((enum tree_code) (type_name)->base.code) == IDENTIFIER_NODE) | ||||||||
1299 | container->pot_dummy_types.add (IDENTIFIER_POINTER (type_name)((const char *) (tree_check ((type_name), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1299, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1300 | else if (TREE_CODE (type_name)((enum tree_code) (type_name)->base.code) == TYPE_DECL) | ||||||||
1301 | container->pot_dummy_types.add | ||||||||
1302 | (IDENTIFIER_POINTER (DECL_NAME (type_name))((const char *) (tree_check ((((contains_struct_check ((type_name ), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1302, __FUNCTION__))->decl_minimal.name)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1302, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str )); | ||||||||
1303 | } | ||||||||
1304 | } | ||||||||
1305 | |||||||||
1306 | /* Output the final value of a preprocessor macro or enum constant. | ||||||||
1307 | This is called via htab_traverse_noresize. */ | ||||||||
1308 | |||||||||
1309 | static int | ||||||||
1310 | go_print_macro (void **slot, void *arg ATTRIBUTE_UNUSED__attribute__ ((__unused__))) | ||||||||
1311 | { | ||||||||
1312 | struct macro_hash_value *mhval = (struct macro_hash_value *) *slot; | ||||||||
1313 | fprintf (go_dump_file, "const _%s = %s\n", mhval->name, mhval->value); | ||||||||
1314 | return 1; | ||||||||
1315 | } | ||||||||
1316 | |||||||||
1317 | /* Build a hash table with the Go keywords. */ | ||||||||
1318 | |||||||||
1319 | static const char * const keywords[] = { | ||||||||
1320 | "__asm__", "break", "case", "chan", "const", "continue", "default", | ||||||||
1321 | "defer", "else", "fallthrough", "for", "func", "go", "goto", "if", | ||||||||
1322 | "import", "interface", "map", "package", "range", "return", "select", | ||||||||
1323 | "struct", "switch", "type", "var" | ||||||||
1324 | }; | ||||||||
1325 | |||||||||
1326 | static void | ||||||||
1327 | keyword_hash_init (class godump_container *container) | ||||||||
1328 | { | ||||||||
1329 | size_t i; | ||||||||
1330 | size_t count = ARRAY_SIZE (keywords)(sizeof (keywords) / sizeof ((keywords)[0])); | ||||||||
1331 | void **slot; | ||||||||
1332 | |||||||||
1333 | for (i = 0; i < count; i++) | ||||||||
1334 | { | ||||||||
1335 | slot = htab_find_slot (container->keyword_hash, keywords[i], INSERT); | ||||||||
1336 | *slot = CONST_CAST (void *, (const void *) keywords[i])(const_cast<void *> (((const void *) keywords[i]))); | ||||||||
1337 | } | ||||||||
1338 | } | ||||||||
1339 | |||||||||
1340 | /* Traversing the pot_dummy_types and seeing which types are present | ||||||||
1341 | in the global types hash table and creating dummy definitions if | ||||||||
1342 | not found. This function is invoked by hash_set::traverse. */ | ||||||||
1343 | |||||||||
1344 | bool | ||||||||
1345 | find_dummy_types (const char *const &ptr, godump_container *adata) | ||||||||
1346 | { | ||||||||
1347 | class godump_container *data = (class godump_container *) adata; | ||||||||
1348 | const char *type = (const char *) ptr; | ||||||||
1349 | void **slot; | ||||||||
1350 | void **islot; | ||||||||
1351 | |||||||||
1352 | slot = htab_find_slot (data->type_hash, type, NO_INSERT); | ||||||||
1353 | islot = htab_find_slot (data->invalid_hash, type, NO_INSERT); | ||||||||
1354 | if (slot == NULLnullptr || islot != NULLnullptr) | ||||||||
1355 | fprintf (go_dump_file, "type _%s struct {}\n", type); | ||||||||
1356 | return true; | ||||||||
1357 | } | ||||||||
1358 | |||||||||
1359 | /* Output symbols. */ | ||||||||
1360 | |||||||||
1361 | static void | ||||||||
1362 | go_finish (const char *filename) | ||||||||
1363 | { | ||||||||
1364 | class godump_container container; | ||||||||
1365 | unsigned int ix; | ||||||||
1366 | tree decl; | ||||||||
1367 | |||||||||
1368 | real_debug_hooks->finish (filename); | ||||||||
1369 | |||||||||
1370 | container.type_hash = htab_create (100, htab_hash_string, | ||||||||
1371 | htab_eq_string, NULLnullptr); | ||||||||
1372 | container.invalid_hash = htab_create (10, htab_hash_string, | ||||||||
1373 | htab_eq_string, NULLnullptr); | ||||||||
1374 | container.keyword_hash = htab_create (50, htab_hash_string, | ||||||||
1375 | htab_eq_string, NULLnullptr); | ||||||||
1376 | obstack_init (&container.type_obstack)_obstack_begin ((&container.type_obstack), 0, 0, (mempool_obstack_chunk_alloc ), (mempool_obstack_chunk_free)); | ||||||||
1377 | |||||||||
1378 | keyword_hash_init (&container); | ||||||||
1379 | |||||||||
1380 | FOR_EACH_VEC_SAFE_ELT (queue, ix, decl)for (ix = 0; vec_safe_iterate ((queue), (ix), &(decl)); ++ (ix)) | ||||||||
1381 | { | ||||||||
1382 | switch (TREE_CODE (decl)((enum tree_code) (decl)->base.code)) | ||||||||
1383 | { | ||||||||
1384 | case FUNCTION_DECL: | ||||||||
1385 | go_output_fndecl (&container, decl); | ||||||||
1386 | break; | ||||||||
1387 | |||||||||
1388 | case TYPE_DECL: | ||||||||
1389 | go_output_typedef (&container, decl); | ||||||||
1390 | break; | ||||||||
1391 | |||||||||
1392 | case VAR_DECL: | ||||||||
1393 | go_output_var (&container, decl); | ||||||||
1394 | break; | ||||||||
1395 | |||||||||
1396 | default: | ||||||||
1397 | gcc_unreachable ()(fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/godump.cc" , 1397, __FUNCTION__)); | ||||||||
1398 | } | ||||||||
1399 | } | ||||||||
1400 | |||||||||
1401 | htab_traverse_noresize (macro_hash, go_print_macro, NULLnullptr); | ||||||||
1402 | |||||||||
1403 | /* To emit dummy definitions. */ | ||||||||
1404 | container.pot_dummy_types.traverse<godump_container *, find_dummy_types> | ||||||||
1405 | (&container); | ||||||||
1406 | |||||||||
1407 | htab_delete (container.type_hash); | ||||||||
1408 | htab_delete (container.invalid_hash); | ||||||||
1409 | htab_delete (container.keyword_hash); | ||||||||
1410 | obstack_free (&container.type_obstack, NULL)__extension__ ({ struct obstack *__o = (&container.type_obstack ); void *__obj = (void *) (nullptr); if (__obj > (void *) __o ->chunk && __obj < (void *) __o->chunk_limit ) __o->next_free = __o->object_base = (char *) __obj; else _obstack_free (__o, __obj); }); | ||||||||
1411 | |||||||||
1412 | vec_free (queue); | ||||||||
1413 | |||||||||
1414 | if (fclose (go_dump_file) != 0) | ||||||||
1415 | error ("could not close Go dump file: %m"); | ||||||||
1416 | go_dump_file = NULLnullptr; | ||||||||
1417 | } | ||||||||
1418 | |||||||||
1419 | /* Set up our hooks. */ | ||||||||
1420 | |||||||||
1421 | const struct gcc_debug_hooks * | ||||||||
1422 | dump_go_spec_init (const char *filename, const struct gcc_debug_hooks *hooks) | ||||||||
1423 | { | ||||||||
1424 | go_dump_file = fopen (filename, "w"); | ||||||||
1425 | if (go_dump_file == NULLnullptr) | ||||||||
1426 | { | ||||||||
1427 | error ("could not open Go dump file %qs: %m", filename); | ||||||||
1428 | return hooks; | ||||||||
1429 | } | ||||||||
1430 | |||||||||
1431 | go_debug_hooks = *hooks; | ||||||||
1432 | real_debug_hooks = hooks; | ||||||||
1433 | |||||||||
1434 | go_debug_hooks.finish = go_finish; | ||||||||
1435 | go_debug_hooks.define = go_define; | ||||||||
1436 | go_debug_hooks.undef = go_undef; | ||||||||
1437 | go_debug_hooks.function_decl = go_function_decl; | ||||||||
1438 | go_debug_hooks.early_global_decl = go_early_global_decl; | ||||||||
1439 | go_debug_hooks.late_global_decl = go_late_global_decl; | ||||||||
1440 | go_debug_hooks.type_decl = go_type_decl; | ||||||||
1441 | |||||||||
1442 | macro_hash = htab_create (100, macro_hash_hashval, macro_hash_eq, | ||||||||
1443 | macro_hash_del); | ||||||||
1444 | |||||||||
1445 | return &go_debug_hooks; | ||||||||
1446 | } | ||||||||
1447 | |||||||||
1448 | #include "gt-godump.h" |
1 | /* Definitions for the ubiquitous 'tree' type for GNU compilers. |
2 | Copyright (C) 1989-2023 Free Software Foundation, Inc. |
3 | |
4 | This file is part of GCC. |
5 | |
6 | GCC is free software; you can redistribute it and/or modify it under |
7 | the terms of the GNU General Public License as published by the Free |
8 | Software Foundation; either version 3, or (at your option) any later |
9 | version. |
10 | |
11 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
12 | WARRANTY; without even the implied warranty of MERCHANTABILITY or |
13 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
14 | for more details. |
15 | |
16 | You should have received a copy of the GNU General Public License |
17 | along with GCC; see the file COPYING3. If not see |
18 | <http://www.gnu.org/licenses/>. */ |
19 | |
20 | #ifndef GCC_TREE_H |
21 | #define GCC_TREE_H |
22 | |
23 | #include "tree-core.h" |
24 | #include "options.h" |
25 | |
26 | /* Convert a target-independent built-in function code to a combined_fn. */ |
27 | |
28 | inline combined_fn |
29 | as_combined_fn (built_in_function fn) |
30 | { |
31 | return combined_fn (int (fn)); |
32 | } |
33 | |
34 | /* Convert an internal function code to a combined_fn. */ |
35 | |
36 | inline combined_fn |
37 | as_combined_fn (internal_fn fn) |
38 | { |
39 | return combined_fn (int (fn) + int (END_BUILTINS)); |
40 | } |
41 | |
42 | /* Return true if CODE is a target-independent built-in function. */ |
43 | |
44 | inline bool |
45 | builtin_fn_p (combined_fn code) |
46 | { |
47 | return int (code) < int (END_BUILTINS); |
48 | } |
49 | |
50 | /* Return the target-independent built-in function represented by CODE. |
51 | Only valid if builtin_fn_p (CODE). */ |
52 | |
53 | inline built_in_function |
54 | as_builtin_fn (combined_fn code) |
55 | { |
56 | gcc_checking_assert (builtin_fn_p (code))((void)(!(builtin_fn_p (code)) ? fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 56, __FUNCTION__), 0 : 0)); |
57 | return built_in_function (int (code)); |
58 | } |
59 | |
60 | /* Return true if CODE is an internal function. */ |
61 | |
62 | inline bool |
63 | internal_fn_p (combined_fn code) |
64 | { |
65 | return int (code) >= int (END_BUILTINS); |
66 | } |
67 | |
68 | /* Return the internal function represented by CODE. Only valid if |
69 | internal_fn_p (CODE). */ |
70 | |
71 | inline internal_fn |
72 | as_internal_fn (combined_fn code) |
73 | { |
74 | gcc_checking_assert (internal_fn_p (code))((void)(!(internal_fn_p (code)) ? fancy_abort ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 74, __FUNCTION__), 0 : 0)); |
75 | return internal_fn (int (code) - int (END_BUILTINS)); |
76 | } |
77 | |
78 | /* Helper to transparently allow tree codes and builtin function codes |
79 | exist in one storage entity. */ |
80 | class code_helper |
81 | { |
82 | public: |
83 | code_helper () {} |
84 | code_helper (tree_code code) : rep ((int) code) {} |
85 | code_helper (combined_fn fn) : rep (-(int) fn) {} |
86 | code_helper (internal_fn fn) : rep (-(int) as_combined_fn (fn)) {} |
87 | explicit operator tree_code () const { return (tree_code) rep; } |
88 | explicit operator combined_fn () const { return (combined_fn) -rep; } |
89 | explicit operator internal_fn () const; |
90 | explicit operator built_in_function () const; |
91 | bool is_tree_code () const { return rep > 0; } |
92 | bool is_fn_code () const { return rep < 0; } |
93 | bool is_internal_fn () const; |
94 | bool is_builtin_fn () const; |
95 | int get_rep () const { return rep; } |
96 | bool operator== (const code_helper &other) { return rep == other.rep; } |
97 | bool operator!= (const code_helper &other) { return rep != other.rep; } |
98 | bool operator== (tree_code c) { return rep == code_helper (c).rep; } |
99 | bool operator!= (tree_code c) { return rep != code_helper (c).rep; } |
100 | |
101 | private: |
102 | int rep; |
103 | }; |
104 | |
105 | inline code_helper::operator internal_fn () const |
106 | { |
107 | return as_internal_fn (combined_fn (*this)); |
108 | } |
109 | |
110 | inline code_helper::operator built_in_function () const |
111 | { |
112 | return as_builtin_fn (combined_fn (*this)); |
113 | } |
114 | |
115 | inline bool |
116 | code_helper::is_internal_fn () const |
117 | { |
118 | return is_fn_code () && internal_fn_p (combined_fn (*this)); |
119 | } |
120 | |
121 | inline bool |
122 | code_helper::is_builtin_fn () const |
123 | { |
124 | return is_fn_code () && builtin_fn_p (combined_fn (*this)); |
125 | } |
126 | |
127 | /* Macros for initializing `tree_contains_struct'. */ |
128 | #define MARK_TS_BASE(C)(tree_contains_struct[C][TS_BASE] = true) \ |
129 | (tree_contains_struct[C][TS_BASE] = true) |
130 | |
131 | #define MARK_TS_TYPED(C)((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true) \ |
132 | (MARK_TS_BASE (C)(tree_contains_struct[C][TS_BASE] = true), \ |
133 | tree_contains_struct[C][TS_TYPED] = true) |
134 | |
135 | #define MARK_TS_COMMON(C)(((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ) \ |
136 | (MARK_TS_TYPED (C)((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), \ |
137 | tree_contains_struct[C][TS_COMMON] = true) |
138 | |
139 | #define MARK_TS_TYPE_COMMON(C)((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_TYPE_COMMON] = true) \ |
140 | (MARK_TS_COMMON (C)(((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), \ |
141 | tree_contains_struct[C][TS_TYPE_COMMON] = true) |
142 | |
143 | #define MARK_TS_TYPE_WITH_LANG_SPECIFIC(C)(((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_TYPE_COMMON] = true), tree_contains_struct [C][TS_TYPE_WITH_LANG_SPECIFIC] = true) \ |
144 | (MARK_TS_TYPE_COMMON (C)((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_TYPE_COMMON] = true), \ |
145 | tree_contains_struct[C][TS_TYPE_WITH_LANG_SPECIFIC] = true) |
146 | |
147 | #define MARK_TS_TYPE_NON_COMMON(C)((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_TYPE_COMMON] = true), tree_contains_struct [C][TS_TYPE_WITH_LANG_SPECIFIC] = true), tree_contains_struct [C][TS_TYPE_NON_COMMON] = true) \ |
148 | (MARK_TS_TYPE_WITH_LANG_SPECIFIC (C)(((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_TYPE_COMMON] = true), tree_contains_struct [C][TS_TYPE_WITH_LANG_SPECIFIC] = true), \ |
149 | tree_contains_struct[C][TS_TYPE_NON_COMMON] = true) \ |
150 | |
151 | #define MARK_TS_DECL_MINIMAL(C)((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true) \ |
152 | (MARK_TS_COMMON (C)(((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), \ |
153 | tree_contains_struct[C][TS_DECL_MINIMAL] = true) |
154 | |
155 | #define MARK_TS_DECL_COMMON(C)(((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true) \ |
156 | (MARK_TS_DECL_MINIMAL (C)((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), \ |
157 | tree_contains_struct[C][TS_DECL_COMMON] = true) |
158 | |
159 | #define MARK_TS_DECL_WRTL(C)((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), tree_contains_struct[C][TS_DECL_WRTL ] = true) \ |
160 | (MARK_TS_DECL_COMMON (C)(((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), \ |
161 | tree_contains_struct[C][TS_DECL_WRTL] = true) |
162 | |
163 | #define MARK_TS_DECL_WITH_VIS(C)(((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), tree_contains_struct[C][TS_DECL_WRTL ] = true), tree_contains_struct[C][TS_DECL_WITH_VIS] = true) \ |
164 | (MARK_TS_DECL_WRTL (C)((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), tree_contains_struct[C][TS_DECL_WRTL ] = true), \ |
165 | tree_contains_struct[C][TS_DECL_WITH_VIS] = true) |
166 | |
167 | #define MARK_TS_DECL_NON_COMMON(C)((((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), tree_contains_struct[C][TS_DECL_WRTL ] = true), tree_contains_struct[C][TS_DECL_WITH_VIS] = true), tree_contains_struct[C][TS_DECL_NON_COMMON] = true) \ |
168 | (MARK_TS_DECL_WITH_VIS (C)(((((((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_COMMON] = true ), tree_contains_struct[C][TS_DECL_MINIMAL] = true), tree_contains_struct [C][TS_DECL_COMMON] = true), tree_contains_struct[C][TS_DECL_WRTL ] = true), tree_contains_struct[C][TS_DECL_WITH_VIS] = true), \ |
169 | tree_contains_struct[C][TS_DECL_NON_COMMON] = true) |
170 | |
171 | #define MARK_TS_EXP(C)(((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), tree_contains_struct[C][TS_EXP] = true ) \ |
172 | (MARK_TS_TYPED (C)((tree_contains_struct[C][TS_BASE] = true), tree_contains_struct [C][TS_TYPED] = true), \ |
173 | tree_contains_struct[C][TS_EXP] = true) |
174 | |
175 | /* Returns the string representing CLASS. */ |
176 | |
177 | #define TREE_CODE_CLASS_STRING(CLASS)tree_code_class_strings[(int) (CLASS)]\ |
178 | tree_code_class_strings[(int) (CLASS)] |
179 | |
180 | #if __cpp_inline_variables < 201606L |
181 | #define TREE_CODE_CLASS(CODE)tree_code_type_tmpl <0>::tree_code_type[(int) (CODE)] \ |
182 | tree_code_type_tmpl <0>::tree_code_type[(int) (CODE)] |
183 | #else |
184 | #define TREE_CODE_CLASS(CODE)tree_code_type_tmpl <0>::tree_code_type[(int) (CODE)] tree_code_type[(int) (CODE)] |
185 | #endif |
186 | |
187 | /* Nonzero if NODE represents an exceptional code. */ |
188 | |
189 | #define EXCEPTIONAL_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_exceptional)\ |
190 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_exceptional) |
191 | |
192 | /* Nonzero if NODE represents a constant. */ |
193 | |
194 | #define CONSTANT_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_constant)\ |
195 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_constant) |
196 | |
197 | /* Nonzero if NODE represents a constant, or is a location wrapper |
198 | around such a node. */ |
199 | |
200 | #define CONSTANT_CLASS_OR_WRAPPER_P(NODE)((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (tree_strip_any_location_wrapper (NODE))->base .code))] == tcc_constant))\ |
201 | (CONSTANT_CLASS_P (tree_strip_any_location_wrapper (NODE))(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (tree_strip_any_location_wrapper (NODE))->base.code))] == tcc_constant)) |
202 | |
203 | /* Nonzero if NODE represents a type. */ |
204 | |
205 | #define TYPE_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_type)\ |
206 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_type) |
207 | |
208 | /* Nonzero if NODE represents a declaration. */ |
209 | |
210 | #define DECL_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_declaration)\ |
211 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_declaration) |
212 | |
213 | /* True if NODE designates a variable declaration. */ |
214 | #define VAR_P(NODE)(((enum tree_code) (NODE)->base.code) == VAR_DECL) \ |
215 | (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == VAR_DECL) |
216 | |
217 | /* Nonzero if DECL represents a VAR_DECL or FUNCTION_DECL. */ |
218 | |
219 | #define VAR_OR_FUNCTION_DECL_P(DECL)(((enum tree_code) (DECL)->base.code) == VAR_DECL || ((enum tree_code) (DECL)->base.code) == FUNCTION_DECL)\ |
220 | (TREE_CODE (DECL)((enum tree_code) (DECL)->base.code) == VAR_DECL || TREE_CODE (DECL)((enum tree_code) (DECL)->base.code) == FUNCTION_DECL) |
221 | |
222 | /* Nonzero if NODE represents a INDIRECT_REF. Keep these checks in |
223 | ascending code order. */ |
224 | |
225 | #define INDIRECT_REF_P(NODE)(((enum tree_code) (NODE)->base.code) == INDIRECT_REF)\ |
226 | (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == INDIRECT_REF) |
227 | |
228 | /* Nonzero if NODE represents a reference. */ |
229 | |
230 | #define REFERENCE_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_reference)\ |
231 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_reference) |
232 | |
233 | /* Nonzero if NODE represents a comparison. */ |
234 | |
235 | #define COMPARISON_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_comparison)\ |
236 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_comparison) |
237 | |
238 | /* Nonzero if NODE represents a unary arithmetic expression. */ |
239 | |
240 | #define UNARY_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_unary)\ |
241 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_unary) |
242 | |
243 | /* Nonzero if NODE represents a binary arithmetic expression. */ |
244 | |
245 | #define BINARY_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_binary)\ |
246 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_binary) |
247 | |
248 | /* Nonzero if NODE represents a statement expression. */ |
249 | |
250 | #define STATEMENT_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_statement)\ |
251 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_statement) |
252 | |
253 | /* Nonzero if NODE represents a function call-like expression with a |
254 | variable-length operand vector. */ |
255 | |
256 | #define VL_EXP_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_vl_exp)\ |
257 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_vl_exp) |
258 | |
259 | /* Nonzero if NODE represents any other expression. */ |
260 | |
261 | #define EXPRESSION_CLASS_P(NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_expression)\ |
262 | (TREE_CODE_CLASS (TREE_CODE (NODE))tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_expression) |
263 | |
264 | /* Returns nonzero iff NODE represents a type or declaration. */ |
265 | |
266 | #define IS_TYPE_OR_DECL_P(NODE)((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))] == tcc_type) || (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)-> base.code))] == tcc_declaration))\ |
267 | (TYPE_P (NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_type) || DECL_P (NODE)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (NODE)->base.code))] == tcc_declaration)) |
268 | |
269 | /* Returns nonzero iff CLASS is the tree-code class of an |
270 | expression. */ |
271 | |
272 | #define IS_EXPR_CODE_CLASS(CLASS)((CLASS) >= tcc_reference && (CLASS) <= tcc_expression )\ |
273 | ((CLASS) >= tcc_reference && (CLASS) <= tcc_expression) |
274 | |
275 | /* Returns nonzero iff NODE is an expression of some kind. */ |
276 | |
277 | #define EXPR_P(NODE)((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression) IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (NODE)))((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression) |
278 | |
279 | #if __cpp_inline_variables < 201606L |
280 | #define TREE_CODE_LENGTH(CODE)tree_code_length_tmpl <0>::tree_code_length[(int) (CODE )] \ |
281 | tree_code_length_tmpl <0>::tree_code_length[(int) (CODE)] |
282 | #else |
283 | #define TREE_CODE_LENGTH(CODE)tree_code_length_tmpl <0>::tree_code_length[(int) (CODE )] tree_code_length[(int) (CODE)] |
284 | #endif |
285 | |
286 | |
287 | /* Helper macros for math builtins. */ |
288 | |
289 | #define CASE_FLT_FN(FN)case FN: case FNF: case FNL case FN: case FN##F: case FN##L |
290 | #define CASE_FLT_FN_FLOATN_NX(FN)case FNF16: case FNF32: case FNF64: case FNF128: case FNF32X: case FNF64X: case FNF128X \ |
291 | case FN##F16: case FN##F32: case FN##F64: case FN##F128: \ |
292 | case FN##F32X: case FN##F64X: case FN##F128X |
293 | #define CASE_FLT_FN_REENT(FN)case FN_R: case FNF_R: case FNL_R case FN##_R: case FN##F_R: case FN##L_R |
294 | #define CASE_INT_FN(FN)case FN: case FNL: case FNLL: case FNIMAX case FN: case FN##L: case FN##LL: case FN##IMAX |
295 | |
296 | #define NULL_TREE(tree) nullptr (tree) NULLnullptr |
297 | |
298 | /* Define accessors for the fields that all tree nodes have |
299 | (though some fields are not used for all kinds of nodes). */ |
300 | |
301 | /* The tree-code says what kind of node it is. |
302 | Codes are defined in tree.def. */ |
303 | #define TREE_CODE(NODE)((enum tree_code) (NODE)->base.code) ((enum tree_code) (NODE)->base.code) |
304 | #define TREE_SET_CODE(NODE, VALUE)((NODE)->base.code = (VALUE)) ((NODE)->base.code = (VALUE)) |
305 | |
306 | /* When checking is enabled, errors will be generated if a tree node |
307 | is accessed incorrectly. The macros die with a fatal error. */ |
308 | #if defined ENABLE_TREE_CHECKING1 && (GCC_VERSION(4 * 1000 + 2) >= 2007) |
309 | |
310 | #define TREE_CHECK(T, CODE)(tree_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 310, __FUNCTION__, (CODE))) \ |
311 | (tree_check ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__311, __FUNCTION__, (CODE))) |
312 | |
313 | #define TREE_NOT_CHECK(T, CODE)(tree_not_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 313, __FUNCTION__, (CODE))) \ |
314 | (tree_not_check ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__314, __FUNCTION__, (CODE))) |
315 | |
316 | #define TREE_CHECK2(T, CODE1, CODE2)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 316, __FUNCTION__, (CODE1), (CODE2))) \ |
317 | (tree_check2 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__317, __FUNCTION__, (CODE1), (CODE2))) |
318 | |
319 | #define TREE_NOT_CHECK2(T, CODE1, CODE2)(tree_not_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 319, __FUNCTION__, (CODE1), (CODE2))) \ |
320 | (tree_not_check2 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__320, __FUNCTION__, (CODE1), (CODE2))) |
321 | |
322 | #define TREE_CHECK3(T, CODE1, CODE2, CODE3)(tree_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 322, __FUNCTION__, (CODE1), (CODE2), (CODE3))) \ |
323 | (tree_check3 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__323, __FUNCTION__, (CODE1), (CODE2), (CODE3))) |
324 | |
325 | #define TREE_NOT_CHECK3(T, CODE1, CODE2, CODE3)(tree_not_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 325, __FUNCTION__, (CODE1), (CODE2), (CODE3))) \ |
326 | (tree_not_check3 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__326, __FUNCTION__, \ |
327 | (CODE1), (CODE2), (CODE3))) |
328 | |
329 | #define TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4)(tree_check4 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 329, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4))) \ |
330 | (tree_check4 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__330, __FUNCTION__, \ |
331 | (CODE1), (CODE2), (CODE3), (CODE4))) |
332 | |
333 | #define TREE_NOT_CHECK4(T, CODE1, CODE2, CODE3, CODE4)(tree_not_check4 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 333, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4))) \ |
334 | (tree_not_check4 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__334, __FUNCTION__, \ |
335 | (CODE1), (CODE2), (CODE3), (CODE4))) |
336 | |
337 | #define TREE_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5)(tree_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 337, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4), (CODE5 ))) \ |
338 | (tree_check5 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__338, __FUNCTION__, \ |
339 | (CODE1), (CODE2), (CODE3), (CODE4), (CODE5))) |
340 | |
341 | #define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5)(tree_not_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 341, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4), (CODE5 ))) \ |
342 | (tree_not_check5 ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__342, __FUNCTION__, \ |
343 | (CODE1), (CODE2), (CODE3), (CODE4), (CODE5))) |
344 | |
345 | #define CONTAINS_STRUCT_CHECK(T, STRUCT)(contains_struct_check ((T), (STRUCT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 345, __FUNCTION__)) \ |
346 | (contains_struct_check ((T), (STRUCT), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__346, __FUNCTION__)) |
347 | |
348 | #define TREE_CLASS_CHECK(T, CLASS)(tree_class_check ((T), (CLASS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 348, __FUNCTION__)) \ |
349 | (tree_class_check ((T), (CLASS), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__349, __FUNCTION__)) |
350 | |
351 | #define TREE_RANGE_CHECK(T, CODE1, CODE2)(tree_range_check ((T), (CODE1), (CODE2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 351, __FUNCTION__)) \ |
352 | (tree_range_check ((T), (CODE1), (CODE2), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__352, __FUNCTION__)) |
353 | |
354 | #define OMP_CLAUSE_SUBCODE_CHECK(T, CODE)(omp_clause_subcode_check ((T), (CODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 354, __FUNCTION__)) \ |
355 | (omp_clause_subcode_check ((T), (CODE), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__355, __FUNCTION__)) |
356 | |
357 | #define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2)(omp_clause_range_check ((T), (CODE1), (CODE2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 357, __FUNCTION__)) \ |
358 | (omp_clause_range_check ((T), (CODE1), (CODE2), \ |
359 | __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__359, __FUNCTION__)) |
360 | |
361 | /* These checks have to be special cased. */ |
362 | #define EXPR_CHECK(T)(expr_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 362, __FUNCTION__)) \ |
363 | (expr_check ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__363, __FUNCTION__)) |
364 | |
365 | /* These checks have to be special cased. */ |
366 | #define NON_TYPE_CHECK(T)(non_type_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 366, __FUNCTION__)) \ |
367 | (non_type_check ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__367, __FUNCTION__)) |
368 | |
369 | /* These checks have to be special cased. */ |
370 | #define ANY_INTEGRAL_TYPE_CHECK(T)(any_integral_type_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 370, __FUNCTION__)) \ |
371 | (any_integral_type_check ((T), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__371, __FUNCTION__)) |
372 | |
373 | #define TREE_INT_CST_ELT_CHECK(T, I)(*tree_int_cst_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 373, __FUNCTION__)) \ |
374 | (*tree_int_cst_elt_check ((T), (I), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__374, __FUNCTION__)) |
375 | |
376 | #define TREE_VEC_ELT_CHECK(T, I)(*((const_cast<tree *> (tree_vec_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 376, __FUNCTION__))))) \ |
377 | (*(CONST_CAST2 (tree *, typeof (T)*, \(const_cast<tree *> (tree_vec_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 378, __FUNCTION__))) |
378 | tree_vec_elt_check ((T), (I), __FILE__, __LINE__, __FUNCTION__))(const_cast<tree *> (tree_vec_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 378, __FUNCTION__))))) |
379 | |
380 | #define OMP_CLAUSE_ELT_CHECK(T, I)(*(omp_clause_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 380, __FUNCTION__))) \ |
381 | (*(omp_clause_elt_check ((T), (I), __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__381, __FUNCTION__))) |
382 | |
383 | /* Special checks for TREE_OPERANDs. */ |
384 | #define TREE_OPERAND_CHECK(T, I)(*((const_cast<tree*> (tree_operand_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 384, __FUNCTION__))))) \ |
385 | (*(CONST_CAST2 (tree*, typeof (T)*, \(const_cast<tree*> (tree_operand_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 386, __FUNCTION__))) |
386 | tree_operand_check ((T), (I), __FILE__, __LINE__, __FUNCTION__))(const_cast<tree*> (tree_operand_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 386, __FUNCTION__))))) |
387 | |
388 | #define TREE_OPERAND_CHECK_CODE(T, CODE, I)(*(tree_operand_check_code ((T), (CODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 388, __FUNCTION__))) \ |
389 | (*(tree_operand_check_code ((T), (CODE), (I), \ |
390 | __FILE__"/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h", __LINE__390, __FUNCTION__))) |
391 | |
392 | /* Nodes are chained together for many purposes. |
393 | Types are chained together to record them for being output to the debugger |
394 | (see the function `chain_type'). |
395 | Decls in the same scope are chained together to record the contents |
396 | of the scope. |
397 | Statement nodes for successive statements used to be chained together. |
398 | Often lists of things are represented by TREE_LIST nodes that |
399 | are chained together. */ |
400 | |
401 | #define TREE_CHAIN(NODE)((contains_struct_check ((NODE), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 401, __FUNCTION__))->common.chain) \ |
402 | (CONTAINS_STRUCT_CHECK (NODE, TS_COMMON)(contains_struct_check ((NODE), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 402, __FUNCTION__))->common.chain) |
403 | |
404 | /* In all nodes that are expressions, this is the data type of the expression. |
405 | In POINTER_TYPE nodes, this is the type that the pointer points to. |
406 | In ARRAY_TYPE nodes, this is the type of the elements. |
407 | In VECTOR_TYPE nodes, this is the type of the elements. */ |
408 | #define TREE_TYPE(NODE)((contains_struct_check ((NODE), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 408, __FUNCTION__))->typed.type) \ |
409 | (CONTAINS_STRUCT_CHECK (NODE, TS_TYPED)(contains_struct_check ((NODE), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 409, __FUNCTION__))->typed.type) |
410 | |
411 | extern void tree_contains_struct_check_failed (const_tree, |
412 | const enum tree_node_structure_enum, |
413 | const char *, int, const char *) |
414 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
415 | |
416 | extern void tree_check_failed (const_tree, const char *, int, const char *, |
417 | ...) ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
418 | extern void tree_not_check_failed (const_tree, const char *, int, const char *, |
419 | ...) ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
420 | extern void tree_class_check_failed (const_tree, const enum tree_code_class, |
421 | const char *, int, const char *) |
422 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
423 | extern void tree_range_check_failed (const_tree, const char *, int, |
424 | const char *, enum tree_code, |
425 | enum tree_code) |
426 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
427 | extern void tree_not_class_check_failed (const_tree, |
428 | const enum tree_code_class, |
429 | const char *, int, const char *) |
430 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
431 | extern void tree_int_cst_elt_check_failed (int, int, const char *, |
432 | int, const char *) |
433 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
434 | extern void tree_vec_elt_check_failed (int, int, const char *, |
435 | int, const char *) |
436 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
437 | extern void phi_node_elt_check_failed (int, int, const char *, |
438 | int, const char *) |
439 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
440 | extern void tree_operand_check_failed (int, const_tree, |
441 | const char *, int, const char *) |
442 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
443 | extern void omp_clause_check_failed (const_tree, const char *, int, |
444 | const char *, enum omp_clause_code) |
445 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
446 | extern void omp_clause_operand_check_failed (int, const_tree, const char *, |
447 | int, const char *) |
448 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
449 | extern void omp_clause_range_check_failed (const_tree, const char *, int, |
450 | const char *, enum omp_clause_code, |
451 | enum omp_clause_code) |
452 | ATTRIBUTE_NORETURN__attribute__ ((__noreturn__)) ATTRIBUTE_COLD; |
453 | |
454 | #else /* not ENABLE_TREE_CHECKING, or not gcc */ |
455 | |
456 | #define CONTAINS_STRUCT_CHECK(T, ENUM)(contains_struct_check ((T), (ENUM), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 456, __FUNCTION__)) (T) |
457 | #define TREE_CHECK(T, CODE)(tree_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 457, __FUNCTION__, (CODE))) (T) |
458 | #define TREE_NOT_CHECK(T, CODE)(tree_not_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 458, __FUNCTION__, (CODE))) (T) |
459 | #define TREE_CHECK2(T, CODE1, CODE2)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 459, __FUNCTION__, (CODE1), (CODE2))) (T) |
460 | #define TREE_NOT_CHECK2(T, CODE1, CODE2)(tree_not_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 460, __FUNCTION__, (CODE1), (CODE2))) (T) |
461 | #define TREE_CHECK3(T, CODE1, CODE2, CODE3)(tree_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 461, __FUNCTION__, (CODE1), (CODE2), (CODE3))) (T) |
462 | #define TREE_NOT_CHECK3(T, CODE1, CODE2, CODE3)(tree_not_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 462, __FUNCTION__, (CODE1), (CODE2), (CODE3))) (T) |
463 | #define TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4)(tree_check4 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 463, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4))) (T) |
464 | #define TREE_NOT_CHECK4(T, CODE1, CODE2, CODE3, CODE4)(tree_not_check4 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 464, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4))) (T) |
465 | #define TREE_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5)(tree_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 465, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4), (CODE5 ))) (T) |
466 | #define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5)(tree_not_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 466, __FUNCTION__, (CODE1), (CODE2), (CODE3), (CODE4), (CODE5 ))) (T) |
467 | #define TREE_CLASS_CHECK(T, CODE)(tree_class_check ((T), (CODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 467, __FUNCTION__)) (T) |
468 | #define TREE_RANGE_CHECK(T, CODE1, CODE2)(tree_range_check ((T), (CODE1), (CODE2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 468, __FUNCTION__)) (T) |
469 | #define EXPR_CHECK(T)(expr_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 469, __FUNCTION__)) (T) |
470 | #define NON_TYPE_CHECK(T)(non_type_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 470, __FUNCTION__)) (T) |
471 | #define TREE_INT_CST_ELT_CHECK(T, I)(*tree_int_cst_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 471, __FUNCTION__)) ((T)->int_cst.val[I]) |
472 | #define TREE_VEC_ELT_CHECK(T, I)(*((const_cast<tree *> (tree_vec_elt_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 472, __FUNCTION__))))) ((T)->vec.a[I]) |
473 | #define TREE_OPERAND_CHECK(T, I)(*((const_cast<tree*> (tree_operand_check ((T), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 473, __FUNCTION__))))) ((T)->exp.operands[I]) |
474 | #define TREE_OPERAND_CHECK_CODE(T, CODE, I)(*(tree_operand_check_code ((T), (CODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 474, __FUNCTION__))) ((T)->exp.operands[I]) |
475 | #define OMP_CLAUSE_ELT_CHECK(T, i)(*(omp_clause_elt_check ((T), (i), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 475, __FUNCTION__))) ((T)->omp_clause.ops[i]) |
476 | #define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2)(omp_clause_range_check ((T), (CODE1), (CODE2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 476, __FUNCTION__)) (T) |
477 | #define OMP_CLAUSE_SUBCODE_CHECK(T, CODE)(omp_clause_subcode_check ((T), (CODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 477, __FUNCTION__)) (T) |
478 | #define ANY_INTEGRAL_TYPE_CHECK(T)(any_integral_type_check ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 478, __FUNCTION__)) (T) |
479 | |
480 | #define TREE_CHAIN(NODE)((contains_struct_check ((NODE), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 480, __FUNCTION__))->common.chain) ((NODE)->common.chain) |
481 | #define TREE_TYPE(NODE)((contains_struct_check ((NODE), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 481, __FUNCTION__))->typed.type) ((NODE)->typed.type) |
482 | |
483 | #endif |
484 | |
485 | #define TREE_BLOCK(NODE)(tree_block (NODE)) (tree_block (NODE)) |
486 | #define TREE_SET_BLOCK(T, B)(tree_set_block ((T), (B))) (tree_set_block ((T), (B))) |
487 | |
488 | #include "tree-check.h" |
489 | |
490 | #define TYPE_CHECK(T)(tree_class_check ((T), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 490, __FUNCTION__)) TREE_CLASS_CHECK (T, tcc_type)(tree_class_check ((T), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 490, __FUNCTION__)) |
491 | #define DECL_MINIMAL_CHECK(T)(contains_struct_check ((T), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 491, __FUNCTION__)) CONTAINS_STRUCT_CHECK (T, TS_DECL_MINIMAL)(contains_struct_check ((T), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 491, __FUNCTION__)) |
492 | #define DECL_COMMON_CHECK(T)(contains_struct_check ((T), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 492, __FUNCTION__)) CONTAINS_STRUCT_CHECK (T, TS_DECL_COMMON)(contains_struct_check ((T), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 492, __FUNCTION__)) |
493 | #define DECL_WRTL_CHECK(T)(contains_struct_check ((T), (TS_DECL_WRTL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 493, __FUNCTION__)) CONTAINS_STRUCT_CHECK (T, TS_DECL_WRTL)(contains_struct_check ((T), (TS_DECL_WRTL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 493, __FUNCTION__)) |
494 | #define DECL_WITH_VIS_CHECK(T)(contains_struct_check ((T), (TS_DECL_WITH_VIS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 494, __FUNCTION__)) CONTAINS_STRUCT_CHECK (T, TS_DECL_WITH_VIS)(contains_struct_check ((T), (TS_DECL_WITH_VIS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 494, __FUNCTION__)) |
495 | #define DECL_NON_COMMON_CHECK(T)(contains_struct_check ((T), (TS_DECL_NON_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 495, __FUNCTION__)) CONTAINS_STRUCT_CHECK (T, TS_DECL_NON_COMMON)(contains_struct_check ((T), (TS_DECL_NON_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 495, __FUNCTION__)) |
496 | #define CST_CHECK(T)(tree_class_check ((T), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 496, __FUNCTION__)) TREE_CLASS_CHECK (T, tcc_constant)(tree_class_check ((T), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 496, __FUNCTION__)) |
497 | #define STMT_CHECK(T)(tree_class_check ((T), (tcc_statement), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 497, __FUNCTION__)) TREE_CLASS_CHECK (T, tcc_statement)(tree_class_check ((T), (tcc_statement), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 497, __FUNCTION__)) |
498 | #define VL_EXP_CHECK(T)(tree_class_check ((T), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 498, __FUNCTION__)) TREE_CLASS_CHECK (T, tcc_vl_exp)(tree_class_check ((T), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 498, __FUNCTION__)) |
499 | #define FUNC_OR_METHOD_CHECK(T)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 499, __FUNCTION__, (FUNCTION_TYPE), (METHOD_TYPE))) TREE_CHECK2 (T, FUNCTION_TYPE, METHOD_TYPE)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 499, __FUNCTION__, (FUNCTION_TYPE), (METHOD_TYPE))) |
500 | #define PTR_OR_REF_CHECK(T)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 500, __FUNCTION__, (POINTER_TYPE), (REFERENCE_TYPE))) TREE_CHECK2 (T, POINTER_TYPE, REFERENCE_TYPE)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 500, __FUNCTION__, (POINTER_TYPE), (REFERENCE_TYPE))) |
501 | |
502 | #define RECORD_OR_UNION_CHECK(T)(tree_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 502, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ))) \ |
503 | TREE_CHECK3 (T, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE)(tree_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 503, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ))) |
504 | #define NOT_RECORD_OR_UNION_CHECK(T)(tree_not_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 504, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ))) \ |
505 | TREE_NOT_CHECK3 (T, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE)(tree_not_check3 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 505, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ))) |
506 | #define ARRAY_OR_INTEGER_TYPE_CHECK(T)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 506, __FUNCTION__, (ARRAY_TYPE), (INTEGER_TYPE))) \ |
507 | TREE_CHECK2 (T, ARRAY_TYPE, INTEGER_TYPE)(tree_check2 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 507, __FUNCTION__, (ARRAY_TYPE), (INTEGER_TYPE))) |
508 | |
509 | #define NUMERICAL_TYPE_CHECK(T)(tree_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 509, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE))) \ |
510 | TREE_CHECK5 (T, INTEGER_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, REAL_TYPE, \(tree_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 511, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE))) |
511 | FIXED_POINT_TYPE)(tree_check5 ((T), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 511, __FUNCTION__, (INTEGER_TYPE), (ENUMERAL_TYPE), (BOOLEAN_TYPE ), (REAL_TYPE), (FIXED_POINT_TYPE))) |
512 | |
513 | /* Here is how primitive or already-canonicalized types' hash codes |
514 | are made. */ |
515 | #define TYPE_HASH(TYPE)(((tree_class_check ((TYPE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 515, __FUNCTION__))->type_common.uid)) (TYPE_UID (TYPE)((tree_class_check ((TYPE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 515, __FUNCTION__))->type_common.uid)) |
516 | |
517 | /* A simple hash function for an arbitrary tree node. This must not be |
518 | used in hash tables which are saved to a PCH. */ |
519 | #define TREE_HASH(NODE)((size_t) (NODE) & 0777777) ((size_t) (NODE) & 0777777) |
520 | |
521 | /* Tests if CODE is a conversion expr (NOP_EXPR or CONVERT_EXPR). */ |
522 | #define CONVERT_EXPR_CODE_P(CODE)((CODE) == NOP_EXPR || (CODE) == CONVERT_EXPR) \ |
523 | ((CODE) == NOP_EXPR || (CODE) == CONVERT_EXPR) |
524 | |
525 | /* Similarly, but accept an expression instead of a tree code. */ |
526 | #define CONVERT_EXPR_P(EXP)((((enum tree_code) (EXP)->base.code)) == NOP_EXPR || (((enum tree_code) (EXP)->base.code)) == CONVERT_EXPR) CONVERT_EXPR_CODE_P (TREE_CODE (EXP))((((enum tree_code) (EXP)->base.code)) == NOP_EXPR || (((enum tree_code) (EXP)->base.code)) == CONVERT_EXPR) |
527 | |
528 | /* Generate case for NOP_EXPR, CONVERT_EXPR. */ |
529 | |
530 | #define CASE_CONVERTcase NOP_EXPR: case CONVERT_EXPR \ |
531 | case NOP_EXPR: \ |
532 | case CONVERT_EXPR |
533 | |
534 | /* Given an expression as a tree, strip any conversion that generates |
535 | no instruction. Accepts both tree and const_tree arguments since |
536 | we are not modifying the tree itself. */ |
537 | |
538 | #define STRIP_NOPS(EXP)(EXP) = tree_strip_nop_conversions ((const_cast<union tree_node *> (((EXP))))) \ |
539 | (EXP) = tree_strip_nop_conversions (CONST_CAST_TREE (EXP)(const_cast<union tree_node *> (((EXP))))) |
540 | |
541 | /* Like STRIP_NOPS, but don't let the signedness change either. */ |
542 | |
543 | #define STRIP_SIGN_NOPS(EXP)(EXP) = tree_strip_sign_nop_conversions ((const_cast<union tree_node *> (((EXP))))) \ |
544 | (EXP) = tree_strip_sign_nop_conversions (CONST_CAST_TREE (EXP)(const_cast<union tree_node *> (((EXP))))) |
545 | |
546 | /* Like STRIP_NOPS, but don't alter the TREE_TYPE either. */ |
547 | |
548 | #define STRIP_TYPE_NOPS(EXP)while ((((((enum tree_code) (EXP)->base.code)) == NOP_EXPR || (((enum tree_code) (EXP)->base.code)) == CONVERT_EXPR) || ((enum tree_code) (EXP)->base.code) == NON_LVALUE_EXPR ) && (*((const_cast<tree*> (tree_operand_check ( (EXP), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 548, __FUNCTION__))))) != global_trees[TI_ERROR_MARK] && (((contains_struct_check ((EXP), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 548, __FUNCTION__))->typed.type) == ((contains_struct_check (((*((const_cast<tree*> (tree_operand_check ((EXP), (0 ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 548, __FUNCTION__)))))), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 548, __FUNCTION__))->typed.type))) (EXP) = (*((const_cast <tree*> (tree_operand_check ((EXP), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 548, __FUNCTION__))))) \ |
549 | while ((CONVERT_EXPR_P (EXP)((((enum tree_code) (EXP)->base.code)) == NOP_EXPR || (((enum tree_code) (EXP)->base.code)) == CONVERT_EXPR) \ |
550 | || TREE_CODE (EXP)((enum tree_code) (EXP)->base.code) == NON_LVALUE_EXPR) \ |
551 | && TREE_OPERAND (EXP, 0)(*((const_cast<tree*> (tree_operand_check ((EXP), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 551, __FUNCTION__))))) != error_mark_nodeglobal_trees[TI_ERROR_MARK] \ |
552 | && (TREE_TYPE (EXP)((contains_struct_check ((EXP), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 552, __FUNCTION__))->typed.type) \ |
553 | == TREE_TYPE (TREE_OPERAND (EXP, 0))((contains_struct_check (((*((const_cast<tree*> (tree_operand_check ((EXP), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 553, __FUNCTION__)))))), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 553, __FUNCTION__))->typed.type))) \ |
554 | (EXP) = TREE_OPERAND (EXP, 0)(*((const_cast<tree*> (tree_operand_check ((EXP), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 554, __FUNCTION__))))) |
555 | |
556 | /* Remove unnecessary type conversions according to |
557 | tree_ssa_useless_type_conversion. */ |
558 | |
559 | #define STRIP_USELESS_TYPE_CONVERSION(EXP)(EXP) = tree_ssa_strip_useless_type_conversions (EXP) \ |
560 | (EXP) = tree_ssa_strip_useless_type_conversions (EXP) |
561 | |
562 | /* Remove any VIEW_CONVERT_EXPR or NON_LVALUE_EXPR that's purely |
563 | in use to provide a location_t. */ |
564 | |
565 | #define STRIP_ANY_LOCATION_WRAPPER(EXP)(EXP) = tree_strip_any_location_wrapper ((const_cast<union tree_node *> (((EXP))))) \ |
566 | (EXP) = tree_strip_any_location_wrapper (CONST_CAST_TREE (EXP)(const_cast<union tree_node *> (((EXP))))) |
567 | |
568 | /* Nonzero if TYPE represents a vector type. */ |
569 | |
570 | #define VECTOR_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) |
571 | |
572 | /* Nonzero if TYPE represents a vector of booleans. */ |
573 | |
574 | #define VECTOR_BOOLEAN_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE && ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 574, __FUNCTION__))->typed.type))->base.code) == BOOLEAN_TYPE ) \ |
575 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE \ |
576 | && TREE_CODE (TREE_TYPE (TYPE))((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 576, __FUNCTION__))->typed.type))->base.code) == BOOLEAN_TYPE) |
577 | |
578 | /* Nonzero if TYPE represents an integral type. Note that we do not |
579 | include COMPLEX types here. Keep these checks in ascending code |
580 | order. */ |
581 | |
582 | #define INTEGRAL_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE || ( (enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE || ((enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) \ |
583 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE \ |
584 | || TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE \ |
585 | || TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) |
586 | |
587 | /* Nonzero if TYPE represents an integral type, including complex |
588 | and vector integer types. */ |
589 | |
590 | #define ANY_INTEGRAL_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE || ((enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE || ( (enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) || (( ((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE || (( (enum tree_code) (TYPE)->base.code) == VECTOR_TYPE)) && (((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 590, __FUNCTION__))->typed.type))->base.code) == ENUMERAL_TYPE || ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 590, __FUNCTION__))->typed.type))->base.code) == BOOLEAN_TYPE || ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 590, __FUNCTION__))->typed.type))->base.code) == INTEGER_TYPE ))) \ |
591 | (INTEGRAL_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE || ( (enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE || ((enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) \ |
592 | || ((TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE \ |
593 | || VECTOR_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE)) \ |
594 | && INTEGRAL_TYPE_P (TREE_TYPE (TYPE))(((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 594, __FUNCTION__))->typed.type))->base.code) == ENUMERAL_TYPE || ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 594, __FUNCTION__))->typed.type))->base.code) == BOOLEAN_TYPE || ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 594, __FUNCTION__))->typed.type))->base.code) == INTEGER_TYPE ))) |
595 | |
596 | /* Nonzero if TYPE represents a non-saturating fixed-point type. */ |
597 | |
598 | #define NON_SAT_FIXED_POINT_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE && !((tree_not_check4 ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 598, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag)) \ |
599 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE && !TYPE_SATURATING (TYPE)((tree_not_check4 ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 599, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag)) |
600 | |
601 | /* Nonzero if TYPE represents a saturating fixed-point type. */ |
602 | |
603 | #define SAT_FIXED_POINT_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE && ((tree_not_check4 ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 603, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag)) \ |
604 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE && TYPE_SATURATING (TYPE)((tree_not_check4 ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 604, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag)) |
605 | |
606 | /* Nonzero if TYPE represents a fixed-point type. */ |
607 | |
608 | #define FIXED_POINT_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE) (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == FIXED_POINT_TYPE) |
609 | |
610 | /* Nonzero if TYPE represents a scalar floating-point type. */ |
611 | |
612 | #define SCALAR_FLOAT_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == REAL_TYPE) (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == REAL_TYPE) |
613 | |
614 | /* Nonzero if TYPE represents a complex floating-point type. */ |
615 | |
616 | #define COMPLEX_FLOAT_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE && ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 616, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE ) \ |
617 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE \ |
618 | && TREE_CODE (TREE_TYPE (TYPE))((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 618, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE) |
619 | |
620 | /* Nonzero if TYPE represents a vector integer type. */ |
621 | |
622 | #define VECTOR_INTEGER_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) && ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 622, __FUNCTION__))->typed.type))->base.code) == INTEGER_TYPE ) \ |
623 | (VECTOR_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) \ |
624 | && TREE_CODE (TREE_TYPE (TYPE))((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 624, __FUNCTION__))->typed.type))->base.code) == INTEGER_TYPE) |
625 | |
626 | |
627 | /* Nonzero if TYPE represents a vector floating-point type. */ |
628 | |
629 | #define VECTOR_FLOAT_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) && ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 629, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE ) \ |
630 | (VECTOR_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE) \ |
631 | && TREE_CODE (TREE_TYPE (TYPE))((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 631, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE) |
632 | |
633 | /* Nonzero if TYPE represents a floating-point type, including complex |
634 | and vector floating-point types. The vector and complex check does |
635 | not use the previous two macros to enable early folding. */ |
636 | |
637 | #define FLOAT_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == REAL_TYPE) || (( ((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE || (( (enum tree_code) (TYPE)->base.code) == VECTOR_TYPE)) && (((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 637, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE ))) \ |
638 | (SCALAR_FLOAT_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == REAL_TYPE) \ |
639 | || ((TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == COMPLEX_TYPE \ |
640 | || VECTOR_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == VECTOR_TYPE)) \ |
641 | && SCALAR_FLOAT_TYPE_P (TREE_TYPE (TYPE))(((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 641, __FUNCTION__))->typed.type))->base.code) == REAL_TYPE ))) |
642 | |
643 | /* Nonzero if TYPE represents a decimal floating-point type. */ |
644 | #define DECIMAL_FLOAT_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == REAL_TYPE) && (((enum mode_class) mode_class[((((enum tree_code) ((tree_class_check ((TYPE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 644, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (TYPE) : (TYPE)->type_common.mode)]) == MODE_DECIMAL_FLOAT )) \ |
645 | (SCALAR_FLOAT_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == REAL_TYPE) \ |
646 | && DECIMAL_FLOAT_MODE_P (TYPE_MODE (TYPE))(((enum mode_class) mode_class[((((enum tree_code) ((tree_class_check ((TYPE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 646, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (TYPE) : (TYPE)->type_common.mode)]) == MODE_DECIMAL_FLOAT )) |
647 | |
648 | /* Nonzero if TYPE is a record or union type. */ |
649 | #define RECORD_OR_UNION_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == RECORD_TYPE || (( enum tree_code) (TYPE)->base.code) == UNION_TYPE || ((enum tree_code) (TYPE)->base.code) == QUAL_UNION_TYPE) \ |
650 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == RECORD_TYPE \ |
651 | || TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == UNION_TYPE \ |
652 | || TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == QUAL_UNION_TYPE) |
653 | |
654 | /* Nonzero if TYPE represents an aggregate (multi-component) type. |
655 | Keep these checks in ascending code order. */ |
656 | |
657 | #define AGGREGATE_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == ARRAY_TYPE || ((( enum tree_code) (TYPE)->base.code) == RECORD_TYPE || ((enum tree_code) (TYPE)->base.code) == UNION_TYPE || ((enum tree_code ) (TYPE)->base.code) == QUAL_UNION_TYPE)) \ |
658 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == ARRAY_TYPE || RECORD_OR_UNION_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == RECORD_TYPE || (( enum tree_code) (TYPE)->base.code) == UNION_TYPE || ((enum tree_code) (TYPE)->base.code) == QUAL_UNION_TYPE)) |
659 | |
660 | /* Nonzero if TYPE represents a pointer or reference type. |
661 | (It should be renamed to INDIRECT_TYPE_P.) Keep these checks in |
662 | ascending code order. */ |
663 | |
664 | #define POINTER_TYPE_P(TYPE)(((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) \ |
665 | (TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || TREE_CODE (TYPE)((enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) |
666 | |
667 | /* Nonzero if TYPE represents a pointer to function. */ |
668 | #define FUNCTION_POINTER_TYPE_P(TYPE)((((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) && ((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 668, __FUNCTION__))->typed.type))->base.code) == FUNCTION_TYPE ) \ |
669 | (POINTER_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) && TREE_CODE (TREE_TYPE (TYPE))((enum tree_code) (((contains_struct_check ((TYPE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 669, __FUNCTION__))->typed.type))->base.code) == FUNCTION_TYPE) |
670 | |
671 | /* Nonzero if this type is a complete type. */ |
672 | #define COMPLETE_TYPE_P(NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 672, __FUNCTION__))->type_common.size) != (tree) nullptr ) (TYPE_SIZE (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 672, __FUNCTION__))->type_common.size) != NULL_TREE(tree) nullptr) |
673 | |
674 | /* Nonzero if this type is the (possibly qualified) void type. */ |
675 | #define VOID_TYPE_P(NODE)(((enum tree_code) (NODE)->base.code) == VOID_TYPE) (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == VOID_TYPE) |
676 | |
677 | /* Nonzero if this type is complete or is cv void. */ |
678 | #define COMPLETE_OR_VOID_TYPE_P(NODE)((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 678, __FUNCTION__))->type_common.size) != (tree) nullptr ) || (((enum tree_code) (NODE)->base.code) == VOID_TYPE)) \ |
679 | (COMPLETE_TYPE_P (NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 679, __FUNCTION__))->type_common.size) != (tree) nullptr ) || VOID_TYPE_P (NODE)(((enum tree_code) (NODE)->base.code) == VOID_TYPE)) |
680 | |
681 | /* Nonzero if this type is complete or is an array with unspecified bound. */ |
682 | #define COMPLETE_OR_UNBOUND_ARRAY_TYPE_P(NODE)((((tree_class_check ((((enum tree_code) (NODE)->base.code ) == ARRAY_TYPE ? ((contains_struct_check ((NODE), (TS_TYPED) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 682, __FUNCTION__))->typed.type) : (NODE)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 682, __FUNCTION__))->type_common.size) != (tree) nullptr )) \ |
683 | (COMPLETE_TYPE_P (TREE_CODE (NODE) == ARRAY_TYPE ? TREE_TYPE (NODE) : (NODE))(((tree_class_check ((((enum tree_code) (NODE)->base.code) == ARRAY_TYPE ? ((contains_struct_check ((NODE), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 683, __FUNCTION__))->typed.type) : (NODE)), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 683, __FUNCTION__))->type_common.size) != (tree) nullptr )) |
684 | |
685 | #define FUNC_OR_METHOD_TYPE_P(NODE)(((enum tree_code) (NODE)->base.code) == FUNCTION_TYPE || ( (enum tree_code) (NODE)->base.code) == METHOD_TYPE) \ |
686 | (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == FUNCTION_TYPE || TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == METHOD_TYPE) |
687 | |
688 | #define OPAQUE_TYPE_P(NODE)(((enum tree_code) (NODE)->base.code) == OPAQUE_TYPE) \ |
689 | (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == OPAQUE_TYPE) |
690 | |
691 | /* Define many boolean fields that all tree nodes have. */ |
692 | |
693 | /* In VAR_DECL, PARM_DECL and RESULT_DECL nodes, nonzero means address |
694 | of this is needed. So it cannot be in a register. |
695 | In a FUNCTION_DECL it has no meaning. |
696 | In LABEL_DECL nodes, it means a goto for this label has been seen |
697 | from a place outside all binding contours that restore stack levels. |
698 | In an artificial SSA_NAME that points to a stack partition with at least |
699 | two variables, it means that at least one variable has TREE_ADDRESSABLE. |
700 | In ..._TYPE nodes, it means that objects of this type must be fully |
701 | addressable. This means that pieces of this object cannot go into |
702 | register parameters, for example. If this a function type, this |
703 | means that the value must be returned in memory. |
704 | In CONSTRUCTOR nodes, it means object constructed must be in memory. |
705 | In IDENTIFIER_NODEs, this means that some extern decl for this name |
706 | had its address taken. That matters for inline functions. |
707 | In a STMT_EXPR, it means we want the result of the enclosed expression. */ |
708 | #define TREE_ADDRESSABLE(NODE)((NODE)->base.addressable_flag) ((NODE)->base.addressable_flag) |
709 | |
710 | /* Set on a CALL_EXPR if the call is in a tail position, ie. just before the |
711 | exit of a function. Calls for which this is true are candidates for tail |
712 | call optimizations. */ |
713 | #define CALL_EXPR_TAILCALL(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 713, __FUNCTION__, (CALL_EXPR)))->base.addressable_flag) \ |
714 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 714, __FUNCTION__, (CALL_EXPR)))->base.addressable_flag) |
715 | |
716 | /* Set on a CALL_EXPR if the call has been marked as requiring tail call |
717 | optimization for correctness. */ |
718 | #define CALL_EXPR_MUST_TAIL_CALL(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 718, __FUNCTION__, (CALL_EXPR)))->base.static_flag) \ |
719 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 719, __FUNCTION__, (CALL_EXPR)))->base.static_flag) |
720 | |
721 | /* Used as a temporary field on a CASE_LABEL_EXPR to indicate that the |
722 | CASE_LOW operand has been processed. */ |
723 | #define CASE_LOW_SEEN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 723, __FUNCTION__, (CASE_LABEL_EXPR)))->base.addressable_flag ) \ |
724 | (CASE_LABEL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 724, __FUNCTION__, (CASE_LABEL_EXPR)))->base.addressable_flag) |
725 | |
726 | #define PREDICT_EXPR_OUTCOME(NODE)((enum prediction) ((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 726, __FUNCTION__, (PREDICT_EXPR)))->base.addressable_flag )) \ |
727 | ((enum prediction) (PREDICT_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 727, __FUNCTION__, (PREDICT_EXPR)))->base.addressable_flag)) |
728 | #define SET_PREDICT_EXPR_OUTCOME(NODE, OUTCOME)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 728, __FUNCTION__, (PREDICT_EXPR)))->base.addressable_flag = (int) OUTCOME) \ |
729 | (PREDICT_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 729, __FUNCTION__, (PREDICT_EXPR)))->base.addressable_flag = (int) OUTCOME) |
730 | #define PREDICT_EXPR_PREDICTOR(NODE)((enum br_predictor)tree_to_shwi ((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 730, __FUNCTION__, (PREDICT_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 730, __FUNCTION__))))))) \ |
731 | ((enum br_predictor)tree_to_shwi (TREE_OPERAND (PREDICT_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 731, __FUNCTION__, (PREDICT_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 731, __FUNCTION__))))))) |
732 | |
733 | /* In a VAR_DECL, nonzero means allocate static storage. |
734 | In a FUNCTION_DECL, nonzero if function has been defined. |
735 | In a CONSTRUCTOR, nonzero means allocate static storage. */ |
736 | #define TREE_STATIC(NODE)((NODE)->base.static_flag) ((NODE)->base.static_flag) |
737 | |
738 | /* In an ADDR_EXPR, nonzero means do not use a trampoline. */ |
739 | #define TREE_NO_TRAMPOLINE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 739, __FUNCTION__, (ADDR_EXPR)))->base.static_flag) (ADDR_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 739, __FUNCTION__, (ADDR_EXPR)))->base.static_flag) |
740 | |
741 | /* In a TARGET_EXPR or WITH_CLEANUP_EXPR, means that the pertinent cleanup |
742 | should only be executed if an exception is thrown, not on normal exit |
743 | of its scope. */ |
744 | #define CLEANUP_EH_ONLY(NODE)((NODE)->base.static_flag) ((NODE)->base.static_flag) |
745 | |
746 | /* In a TRY_CATCH_EXPR, means that the handler should be considered a |
747 | separate cleanup in honor_protect_cleanup_actions. */ |
748 | #define TRY_CATCH_IS_CLEANUP(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 748, __FUNCTION__, (TRY_CATCH_EXPR)))->base.static_flag) \ |
749 | (TRY_CATCH_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 749, __FUNCTION__, (TRY_CATCH_EXPR)))->base.static_flag) |
750 | |
751 | /* Used as a temporary field on a CASE_LABEL_EXPR to indicate that the |
752 | CASE_HIGH operand has been processed. */ |
753 | #define CASE_HIGH_SEEN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 753, __FUNCTION__, (CASE_LABEL_EXPR)))->base.static_flag ) \ |
754 | (CASE_LABEL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 754, __FUNCTION__, (CASE_LABEL_EXPR)))->base.static_flag) |
755 | |
756 | /* Used to mark scoped enums. */ |
757 | #define ENUM_IS_SCOPED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 757, __FUNCTION__, (ENUMERAL_TYPE)))->base.static_flag) (ENUMERAL_TYPE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 757, __FUNCTION__, (ENUMERAL_TYPE)))->base.static_flag) |
758 | |
759 | /* Determines whether an ENUMERAL_TYPE has defined the list of constants. */ |
760 | #define ENUM_IS_OPAQUE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 760, __FUNCTION__, (ENUMERAL_TYPE)))->base.private_flag) (ENUMERAL_TYPE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 760, __FUNCTION__, (ENUMERAL_TYPE)))->base.private_flag) |
761 | |
762 | /* In an expr node (usually a conversion) this means the node was made |
763 | implicitly and should not lead to any sort of warning. In a decl node, |
764 | warnings concerning the decl should be suppressed. This is used at |
765 | least for used-before-set warnings, and it set after one warning is |
766 | emitted. */ |
767 | #define TREE_NO_WARNING(NODE)((NODE)->base.nowarning_flag) ((NODE)->base.nowarning_flag) |
768 | |
769 | /* Nonzero if we should warn about the change in empty class parameter |
770 | passing ABI in this TU. */ |
771 | #define TRANSLATION_UNIT_WARN_EMPTY_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 771, __FUNCTION__, (TRANSLATION_UNIT_DECL)))->decl_common .decl_flag_0) \ |
772 | (TRANSLATION_UNIT_DECL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 772, __FUNCTION__, (TRANSLATION_UNIT_DECL)))->decl_common.decl_flag_0) |
773 | |
774 | /* Nonzero if this type is "empty" according to the particular psABI. */ |
775 | #define TYPE_EMPTY_P(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 775, __FUNCTION__))->type_common.empty_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 775, __FUNCTION__))->type_common.empty_flag) |
776 | |
777 | /* Used to indicate that this TYPE represents a compiler-generated entity. */ |
778 | #define TYPE_ARTIFICIAL(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 778, __FUNCTION__))->base.nowarning_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 778, __FUNCTION__))->base.nowarning_flag) |
779 | |
780 | /* True if the type is indivisible at the source level, i.e. if its |
781 | component parts cannot be accessed directly. This is used to suppress |
782 | normal GNU extensions for target-specific vector types. */ |
783 | #define TYPE_INDIVISIBLE_P(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 783, __FUNCTION__))->type_common.indivisible_p) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 783, __FUNCTION__))->type_common.indivisible_p) |
784 | |
785 | /* True if this is a stdarg function with no named arguments (C2x |
786 | (...) prototype, where arguments can be accessed with va_start and |
787 | va_arg), as opposed to an unprototyped function. */ |
788 | #define TYPE_NO_NAMED_ARGS_STDARG_P(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 788, __FUNCTION__))->type_common.no_named_args_stdarg_p) \ |
789 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 789, __FUNCTION__))->type_common.no_named_args_stdarg_p) |
790 | |
791 | /* In an IDENTIFIER_NODE, this means that assemble_name was called with |
792 | this string as an argument. */ |
793 | #define TREE_SYMBOL_REFERENCED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 793, __FUNCTION__, (IDENTIFIER_NODE)))->base.static_flag ) \ |
794 | (IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 794, __FUNCTION__, (IDENTIFIER_NODE)))->base.static_flag) |
795 | |
796 | /* Nonzero in a pointer or reference type means the data pointed to |
797 | by this type can alias anything. */ |
798 | #define TYPE_REF_CAN_ALIAS_ALL(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 798, __FUNCTION__, (POINTER_TYPE), (REFERENCE_TYPE)))->base .static_flag) \ |
799 | (PTR_OR_REF_CHECK (NODE)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 799, __FUNCTION__, (POINTER_TYPE), (REFERENCE_TYPE)))->base.static_flag) |
800 | |
801 | /* In an INTEGER_CST, REAL_CST, COMPLEX_CST, or VECTOR_CST, this means |
802 | there was an overflow in folding. */ |
803 | |
804 | #define TREE_OVERFLOW(NODE)((tree_class_check ((NODE), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 804, __FUNCTION__))->base.public_flag) (CST_CHECK (NODE)(tree_class_check ((NODE), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 804, __FUNCTION__))->base.public_flag) |
805 | |
806 | /* TREE_OVERFLOW can only be true for EXPR of CONSTANT_CLASS_P. */ |
807 | |
808 | #define TREE_OVERFLOW_P(EXPR)((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (EXPR)->base.code))] == tcc_constant) && ((tree_class_check ((EXPR), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 808, __FUNCTION__))->base.public_flag)) \ |
809 | (CONSTANT_CLASS_P (EXPR)(tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code ) (EXPR)->base.code))] == tcc_constant) && TREE_OVERFLOW (EXPR)((tree_class_check ((EXPR), (tcc_constant), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 809, __FUNCTION__))->base.public_flag)) |
810 | |
811 | /* In a VAR_DECL, FUNCTION_DECL, NAMESPACE_DECL or TYPE_DECL, |
812 | nonzero means name is to be accessible from outside this translation unit. |
813 | In an IDENTIFIER_NODE, nonzero means an external declaration |
814 | accessible from outside this translation unit was previously seen |
815 | for this name in an inner scope. */ |
816 | #define TREE_PUBLIC(NODE)((NODE)->base.public_flag) ((NODE)->base.public_flag) |
817 | |
818 | /* In a _TYPE, indicates whether TYPE_CACHED_VALUES contains a vector |
819 | of cached values, or is something else. */ |
820 | #define TYPE_CACHED_VALUES_P(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 820, __FUNCTION__))->base.public_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 820, __FUNCTION__))->base.public_flag) |
821 | |
822 | /* In a SAVE_EXPR, indicates that the original expression has already |
823 | been substituted with a VAR_DECL that contains the value. */ |
824 | #define SAVE_EXPR_RESOLVED_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 824, __FUNCTION__, (SAVE_EXPR)))->base.public_flag) \ |
825 | (SAVE_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 825, __FUNCTION__, (SAVE_EXPR)))->base.public_flag) |
826 | |
827 | /* Set on a CALL_EXPR if this stdarg call should be passed the argument |
828 | pack. */ |
829 | #define CALL_EXPR_VA_ARG_PACK(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 829, __FUNCTION__, (CALL_EXPR)))->base.public_flag) \ |
830 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 830, __FUNCTION__, (CALL_EXPR)))->base.public_flag) |
831 | |
832 | /* In any expression, decl, or constant, nonzero means it has side effects or |
833 | reevaluation of the whole expression could produce a different value. |
834 | This is set if any subexpression is a function call, a side effect or a |
835 | reference to a volatile variable. In a ..._DECL, this is set only if the |
836 | declaration said `volatile'. This will never be set for a constant. */ |
837 | #define TREE_SIDE_EFFECTS(NODE)((non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 837, __FUNCTION__))->base.side_effects_flag) \ |
838 | (NON_TYPE_CHECK (NODE)(non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 838, __FUNCTION__))->base.side_effects_flag) |
839 | |
840 | /* In a LABEL_DECL, nonzero means this label had its address taken |
841 | and therefore can never be deleted and is a jump target for |
842 | computed gotos. */ |
843 | #define FORCED_LABEL(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 843, __FUNCTION__, (LABEL_DECL)))->base.side_effects_flag ) (LABEL_DECL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 843, __FUNCTION__, (LABEL_DECL)))->base.side_effects_flag) |
844 | |
845 | /* Whether a case or a user-defined label is allowed to fall through to. |
846 | This is used to implement -Wimplicit-fallthrough. */ |
847 | #define FALLTHROUGH_LABEL_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 847, __FUNCTION__, (LABEL_DECL)))->base.private_flag) \ |
848 | (LABEL_DECL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 848, __FUNCTION__, (LABEL_DECL)))->base.private_flag) |
849 | |
850 | /* Set on the artificial label created for break; stmt from a switch. |
851 | This is used to implement -Wimplicit-fallthrough. */ |
852 | #define SWITCH_BREAK_LABEL_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 852, __FUNCTION__, (LABEL_DECL)))->base.protected_flag) \ |
853 | (LABEL_DECL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 853, __FUNCTION__, (LABEL_DECL)))->base.protected_flag) |
854 | |
855 | /* Set on label that is known not to be jumped to, it can be only |
856 | reached by falling through from previous statements. |
857 | This is used to implement -Wimplicit-fallthrough. */ |
858 | #define UNUSED_LABEL_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 858, __FUNCTION__, (LABEL_DECL)))->base.default_def_flag ) \ |
859 | (LABEL_DECL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 859, __FUNCTION__, (LABEL_DECL)))->base.default_def_flag) |
860 | |
861 | /* Nonzero means this expression is volatile in the C sense: |
862 | its address should be of type `volatile WHATEVER *'. |
863 | In other words, the declared item is volatile qualified. |
864 | This is used in _DECL nodes and _REF nodes. |
865 | On a FUNCTION_DECL node, this means the function does not |
866 | return normally. This is the same effect as setting |
867 | the attribute noreturn on the function in C. |
868 | |
869 | In a ..._TYPE node, means this type is volatile-qualified. |
870 | But use TYPE_VOLATILE instead of this macro when the node is a type, |
871 | because eventually we may make that a different bit. |
872 | |
873 | If this bit is set in an expression, so is TREE_SIDE_EFFECTS. */ |
874 | #define TREE_THIS_VOLATILE(NODE)((NODE)->base.volatile_flag) ((NODE)->base.volatile_flag) |
875 | |
876 | /* Nonzero means this node will not trap. In an INDIRECT_REF, means |
877 | accessing the memory pointed to won't generate a trap. However, |
878 | this only applies to an object when used appropriately: it doesn't |
879 | mean that writing a READONLY mem won't trap. |
880 | |
881 | In ARRAY_REF and ARRAY_RANGE_REF means that we know that the index |
882 | (or slice of the array) always belongs to the range of the array. |
883 | I.e. that the access will not trap, provided that the access to |
884 | the base to the array will not trap. */ |
885 | #define TREE_THIS_NOTRAP(NODE)((tree_check5 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 885, __FUNCTION__, (INDIRECT_REF), (MEM_REF), (TARGET_MEM_REF ), (ARRAY_REF), (ARRAY_RANGE_REF)))->base.nothrow_flag) \ |
886 | (TREE_CHECK5 (NODE, INDIRECT_REF, MEM_REF, TARGET_MEM_REF, ARRAY_REF, \(tree_check5 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 887, __FUNCTION__, (INDIRECT_REF), (MEM_REF), (TARGET_MEM_REF ), (ARRAY_REF), (ARRAY_RANGE_REF))) |
887 | ARRAY_RANGE_REF)(tree_check5 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 887, __FUNCTION__, (INDIRECT_REF), (MEM_REF), (TARGET_MEM_REF ), (ARRAY_REF), (ARRAY_RANGE_REF)))->base.nothrow_flag) |
888 | |
889 | /* In a VAR_DECL, PARM_DECL or FIELD_DECL, or any kind of ..._REF node, |
890 | nonzero means it may not be the lhs of an assignment. |
891 | Nonzero in a FUNCTION_DECL means this function should be treated |
892 | as "const" function (can only read its arguments). */ |
893 | #define TREE_READONLY(NODE)((non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 893, __FUNCTION__))->base.readonly_flag) (NON_TYPE_CHECK (NODE)(non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 893, __FUNCTION__))->base.readonly_flag) |
894 | |
895 | /* Value of expression is constant. Always on in all ..._CST nodes. May |
896 | also appear in an expression or decl where the value is constant. */ |
897 | #define TREE_CONSTANT(NODE)((non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 897, __FUNCTION__))->base.constant_flag) (NON_TYPE_CHECK (NODE)(non_type_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 897, __FUNCTION__))->base.constant_flag) |
898 | |
899 | /* Nonzero if NODE, a type, has had its sizes gimplified. */ |
900 | #define TYPE_SIZES_GIMPLIFIED(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 900, __FUNCTION__))->base.constant_flag) \ |
901 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 901, __FUNCTION__))->base.constant_flag) |
902 | |
903 | /* In a decl (most significantly a FIELD_DECL), means an unsigned field. */ |
904 | #define DECL_UNSIGNED(NODE)((contains_struct_check ((NODE), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 904, __FUNCTION__))->base.u.bits.unsigned_flag) \ |
905 | (DECL_COMMON_CHECK (NODE)(contains_struct_check ((NODE), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 905, __FUNCTION__))->base.u.bits.unsigned_flag) |
906 | |
907 | /* In integral and pointer types, means an unsigned type. */ |
908 | #define TYPE_UNSIGNED(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 908, __FUNCTION__))->base.u.bits.unsigned_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 908, __FUNCTION__))->base.u.bits.unsigned_flag) |
909 | |
910 | /* Same as TYPE_UNSIGNED but converted to SIGNOP. */ |
911 | #define TYPE_SIGN(NODE)((signop) ((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 911, __FUNCTION__))->base.u.bits.unsigned_flag)) ((signop) TYPE_UNSIGNED (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 911, __FUNCTION__))->base.u.bits.unsigned_flag)) |
912 | |
913 | /* True if overflow wraps around for the given integral or pointer type. That |
914 | is, TYPE_MAX + 1 == TYPE_MIN. */ |
915 | #define TYPE_OVERFLOW_WRAPS(TYPE)((((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) ? global_options .x_flag_wrapv_pointer : ((any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 915, __FUNCTION__))->base.u.bits.unsigned_flag || global_options .x_flag_wrapv)) \ |
916 | (POINTER_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) \ |
917 | ? flag_wrapv_pointerglobal_options.x_flag_wrapv_pointer \ |
918 | : (ANY_INTEGRAL_TYPE_CHECK(TYPE)(any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 918, __FUNCTION__))->base.u.bits.unsigned_flag \ |
919 | || flag_wrapvglobal_options.x_flag_wrapv)) |
920 | |
921 | /* True if overflow is undefined for the given integral or pointer type. |
922 | We may optimize on the assumption that values in the type never overflow. |
923 | |
924 | IMPORTANT NOTE: Any optimization based on TYPE_OVERFLOW_UNDEFINED |
925 | must issue a warning based on warn_strict_overflow. In some cases |
926 | it will be appropriate to issue the warning immediately, and in |
927 | other cases it will be appropriate to simply set a flag and let the |
928 | caller decide whether a warning is appropriate or not. */ |
929 | #define TYPE_OVERFLOW_UNDEFINED(TYPE)((((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) ? ! global_options.x_flag_wrapv_pointer : (!(any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 929, __FUNCTION__))->base.u.bits.unsigned_flag && !global_options.x_flag_wrapv && !global_options.x_flag_trapv )) \ |
930 | (POINTER_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) \ |
931 | ? !flag_wrapv_pointerglobal_options.x_flag_wrapv_pointer \ |
932 | : (!ANY_INTEGRAL_TYPE_CHECK(TYPE)(any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 932, __FUNCTION__))->base.u.bits.unsigned_flag \ |
933 | && !flag_wrapvglobal_options.x_flag_wrapv && !flag_trapvglobal_options.x_flag_trapv)) |
934 | |
935 | /* True if overflow for the given integral type should issue a |
936 | trap. */ |
937 | #define TYPE_OVERFLOW_TRAPS(TYPE)(!(any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 937, __FUNCTION__))->base.u.bits.unsigned_flag && global_options.x_flag_trapv) \ |
938 | (!ANY_INTEGRAL_TYPE_CHECK(TYPE)(any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 938, __FUNCTION__))->base.u.bits.unsigned_flag && flag_trapvglobal_options.x_flag_trapv) |
939 | |
940 | /* True if an overflow is to be preserved for sanitization. */ |
941 | #define TYPE_OVERFLOW_SANITIZED(TYPE)((((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE || ((enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE || ( (enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) && !((((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ((enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) ? global_options.x_flag_wrapv_pointer : ((any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 941, __FUNCTION__))->base.u.bits.unsigned_flag || global_options .x_flag_wrapv)) && (global_options.x_flag_sanitize & SANITIZE_SI_OVERFLOW)) \ |
942 | (INTEGRAL_TYPE_P (TYPE)(((enum tree_code) (TYPE)->base.code) == ENUMERAL_TYPE || ( (enum tree_code) (TYPE)->base.code) == BOOLEAN_TYPE || ((enum tree_code) (TYPE)->base.code) == INTEGER_TYPE) \ |
943 | && !TYPE_OVERFLOW_WRAPS (TYPE)((((enum tree_code) (TYPE)->base.code) == POINTER_TYPE || ( (enum tree_code) (TYPE)->base.code) == REFERENCE_TYPE) ? global_options .x_flag_wrapv_pointer : ((any_integral_type_check ((TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 943, __FUNCTION__))->base.u.bits.unsigned_flag || global_options .x_flag_wrapv)) \ |
944 | && (flag_sanitizeglobal_options.x_flag_sanitize & SANITIZE_SI_OVERFLOW)) |
945 | |
946 | /* Nonzero in a VAR_DECL or STRING_CST means assembler code has been written. |
947 | Nonzero in a FUNCTION_DECL means that the function has been compiled. |
948 | This is interesting in an inline function, since it might not need |
949 | to be compiled separately. |
950 | Nonzero in a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ENUMERAL_TYPE |
951 | or TYPE_DECL if the debugging info for the type has been written. |
952 | In a BLOCK node, nonzero if reorder_blocks has already seen this block. |
953 | In an SSA_NAME node, nonzero if the SSA_NAME occurs in an abnormal |
954 | PHI node. */ |
955 | #define TREE_ASM_WRITTEN(NODE)((NODE)->base.asm_written_flag) ((NODE)->base.asm_written_flag) |
956 | |
957 | /* Nonzero in a _DECL if the name is used in its scope. |
958 | Nonzero in an expr node means inhibit warning if value is unused. |
959 | In IDENTIFIER_NODEs, this means that some extern decl for this name |
960 | was used. |
961 | In a BLOCK, this means that the block contains variables that are used. */ |
962 | #define TREE_USED(NODE)((NODE)->base.used_flag) ((NODE)->base.used_flag) |
963 | |
964 | /* In a FUNCTION_DECL, nonzero means a call to the function cannot |
965 | throw an exception. In a CALL_EXPR, nonzero means the call cannot |
966 | throw. We can't easily check the node type here as the C++ |
967 | frontend also uses this flag (for AGGR_INIT_EXPR). */ |
968 | #define TREE_NOTHROW(NODE)((NODE)->base.nothrow_flag) ((NODE)->base.nothrow_flag) |
969 | |
970 | /* In a CALL_EXPR, means that it's safe to use the target of the call |
971 | expansion as the return slot for a call that returns in memory. */ |
972 | #define CALL_EXPR_RETURN_SLOT_OPT(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 972, __FUNCTION__, (CALL_EXPR)))->base.private_flag) \ |
973 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 973, __FUNCTION__, (CALL_EXPR)))->base.private_flag) |
974 | |
975 | /* In a RESULT_DECL, PARM_DECL and VAR_DECL, means that it is |
976 | passed by invisible reference (and the TREE_TYPE is a pointer to the true |
977 | type). */ |
978 | #define DECL_BY_REFERENCE(NODE)((tree_check3 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 978, __FUNCTION__, (VAR_DECL), (PARM_DECL), (RESULT_DECL))) ->decl_common.decl_by_reference_flag) \ |
979 | (TREE_CHECK3 (NODE, VAR_DECL, PARM_DECL, \(tree_check3 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 980, __FUNCTION__, (VAR_DECL), (PARM_DECL), (RESULT_DECL))) |
980 | RESULT_DECL)(tree_check3 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 980, __FUNCTION__, (VAR_DECL), (PARM_DECL), (RESULT_DECL)))->decl_common.decl_by_reference_flag) |
981 | |
982 | /* In VAR_DECL and PARM_DECL, set when the decl has been used except for |
983 | being set. */ |
984 | #define DECL_READ_P(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 984, __FUNCTION__, (VAR_DECL), (PARM_DECL)))->decl_common .decl_read_flag) \ |
985 | (TREE_CHECK2 (NODE, VAR_DECL, PARM_DECL)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 985, __FUNCTION__, (VAR_DECL), (PARM_DECL)))->decl_common.decl_read_flag) |
986 | |
987 | /* In VAR_DECL or RESULT_DECL, set when significant code movement precludes |
988 | attempting to share the stack slot with some other variable. */ |
989 | #define DECL_NONSHAREABLE(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 989, __FUNCTION__, (VAR_DECL), (RESULT_DECL)))->decl_common .decl_nonshareable_flag) \ |
990 | (TREE_CHECK2 (NODE, VAR_DECL, \(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 991, __FUNCTION__, (VAR_DECL), (RESULT_DECL))) |
991 | RESULT_DECL)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 991, __FUNCTION__, (VAR_DECL), (RESULT_DECL)))->decl_common.decl_nonshareable_flag) |
992 | |
993 | /* In a PARM_DECL, set for Fortran hidden string length arguments that some |
994 | buggy callers don't pass to the callee. */ |
995 | #define DECL_HIDDEN_STRING_LENGTH(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 995, __FUNCTION__, (PARM_DECL)))->decl_common.decl_nonshareable_flag ) \ |
996 | (TREE_CHECK (NODE, PARM_DECL)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 996, __FUNCTION__, (PARM_DECL)))->decl_common.decl_nonshareable_flag) |
997 | |
998 | /* In a CALL_EXPR, means that the call is the jump from a thunk to the |
999 | thunked-to function. Be careful to avoid using this macro when one of the |
1000 | next two applies instead. */ |
1001 | #define CALL_FROM_THUNK_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1001, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1001, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) |
1002 | |
1003 | /* In a CALL_EXPR, if the function being called is BUILT_IN_ALLOCA, means that |
1004 | it has been built for the declaration of a variable-sized object and, if the |
1005 | function being called is BUILT_IN_MEMCPY, means that it has been built for |
1006 | the assignment of a variable-sized object. */ |
1007 | #define CALL_ALLOCA_FOR_VAR_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1007, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) \ |
1008 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1008, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) |
1009 | |
1010 | /* In a CALL_EXPR, if the function being called is DECL_IS_OPERATOR_NEW_P or |
1011 | DECL_IS_OPERATOR_DELETE_P, true for allocator calls from C++ new or delete |
1012 | expressions. Not set for C++20 destroying delete operators. */ |
1013 | #define CALL_FROM_NEW_OR_DELETE_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1013, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) \ |
1014 | (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1014, __FUNCTION__, (CALL_EXPR)))->base.protected_flag) |
1015 | |
1016 | /* Used in classes in C++. */ |
1017 | #define TREE_PRIVATE(NODE)((NODE)->base.private_flag) ((NODE)->base.private_flag) |
1018 | /* Used in classes in C++. */ |
1019 | #define TREE_PROTECTED(NODE)((NODE)->base.protected_flag) ((NODE)->base.protected_flag) |
1020 | |
1021 | /* True if reference type NODE is a C++ rvalue reference. */ |
1022 | #define TYPE_REF_IS_RVALUE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1022, __FUNCTION__, (REFERENCE_TYPE)))->base.private_flag ) \ |
1023 | (REFERENCE_TYPE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1023, __FUNCTION__, (REFERENCE_TYPE)))->base.private_flag) |
1024 | |
1025 | /* Nonzero in a _DECL if the use of the name is defined as a |
1026 | deprecated feature by __attribute__((deprecated)). */ |
1027 | #define TREE_DEPRECATED(NODE)((NODE)->base.deprecated_flag) \ |
1028 | ((NODE)->base.deprecated_flag) |
1029 | |
1030 | /* Nonzero in a _DECL if the use of the name is defined as an |
1031 | unavailable feature by __attribute__((unavailable)). */ |
1032 | #define TREE_UNAVAILABLE(NODE)((NODE)->base.u.bits.unavailable_flag) \ |
1033 | ((NODE)->base.u.bits.unavailable_flag) |
1034 | |
1035 | /* Nonzero indicates an IDENTIFIER_NODE that names an anonymous |
1036 | aggregate, (as created by anon_aggr_name_format). */ |
1037 | #define IDENTIFIER_ANON_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1037, __FUNCTION__, (IDENTIFIER_NODE)))->base.private_flag ) \ |
1038 | (IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1038, __FUNCTION__, (IDENTIFIER_NODE)))->base.private_flag) |
1039 | |
1040 | /* Nonzero in an IDENTIFIER_NODE if the name is a local alias, whose |
1041 | uses are to be substituted for uses of the TREE_CHAINed identifier. */ |
1042 | #define IDENTIFIER_TRANSPARENT_ALIAS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1042, __FUNCTION__, (IDENTIFIER_NODE)))->base.deprecated_flag ) \ |
1043 | (IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1043, __FUNCTION__, (IDENTIFIER_NODE)))->base.deprecated_flag) |
1044 | |
1045 | /* In an aggregate type, indicates that the scalar fields of the type are |
1046 | stored in reverse order from the target order. This effectively |
1047 | toggles BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN within the type. */ |
1048 | #define TYPE_REVERSE_STORAGE_ORDER(NODE)((tree_check4 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1048, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag) \ |
1049 | (TREE_CHECK4 (NODE, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ARRAY_TYPE)(tree_check4 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1049, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag) |
1050 | |
1051 | /* In a non-aggregate type, indicates a saturating type. */ |
1052 | #define TYPE_SATURATING(NODE)((tree_not_check4 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1052, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag) \ |
1053 | (TREE_NOT_CHECK4 (NODE, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ARRAY_TYPE)(tree_not_check4 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1053, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE ), (ARRAY_TYPE)))->base.u.bits.saturating_flag) |
1054 | |
1055 | /* In a BIT_FIELD_REF and MEM_REF, indicates that the reference is to a group |
1056 | of bits stored in reverse order from the target order. This effectively |
1057 | toggles both BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN for the reference. |
1058 | |
1059 | The overall strategy is to preserve the invariant that every scalar in |
1060 | memory is associated with a single storage order, i.e. all accesses to |
1061 | this scalar are done with the same storage order. This invariant makes |
1062 | it possible to factor out the storage order in most transformations, as |
1063 | only the address and/or the value (in target order) matter for them. |
1064 | But, of course, the storage order must be preserved when the accesses |
1065 | themselves are rewritten or transformed. */ |
1066 | #define REF_REVERSE_STORAGE_ORDER(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1066, __FUNCTION__, (BIT_FIELD_REF), (MEM_REF)))->base.default_def_flag ) \ |
1067 | (TREE_CHECK2 (NODE, BIT_FIELD_REF, MEM_REF)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1067, __FUNCTION__, (BIT_FIELD_REF), (MEM_REF)))->base.default_def_flag) |
1068 | |
1069 | /* In an ADDR_EXPR, indicates that this is a pointer to nested function |
1070 | represented by a descriptor instead of a trampoline. */ |
1071 | #define FUNC_ADDR_BY_DESCRIPTOR(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1071, __FUNCTION__, (ADDR_EXPR)))->base.default_def_flag ) \ |
1072 | (TREE_CHECK (NODE, ADDR_EXPR)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1072, __FUNCTION__, (ADDR_EXPR)))->base.default_def_flag) |
1073 | |
1074 | /* In a CALL_EXPR, indicates that this is an indirect call for which |
1075 | pointers to nested function are descriptors instead of trampolines. */ |
1076 | #define CALL_EXPR_BY_DESCRIPTOR(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1076, __FUNCTION__, (CALL_EXPR)))->base.default_def_flag ) \ |
1077 | (TREE_CHECK (NODE, CALL_EXPR)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1077, __FUNCTION__, (CALL_EXPR)))->base.default_def_flag) |
1078 | |
1079 | /* These flags are available for each language front end to use internally. */ |
1080 | #define TREE_LANG_FLAG_0(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1080, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_0) \ |
1081 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1081, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_0) |
1082 | #define TREE_LANG_FLAG_1(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1082, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_1) \ |
1083 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1083, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_1) |
1084 | #define TREE_LANG_FLAG_2(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1084, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_2) \ |
1085 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1085, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_2) |
1086 | #define TREE_LANG_FLAG_3(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1086, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_3) \ |
1087 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1087, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_3) |
1088 | #define TREE_LANG_FLAG_4(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1088, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_4) \ |
1089 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1089, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_4) |
1090 | #define TREE_LANG_FLAG_5(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1090, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_5) \ |
1091 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1091, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_5) |
1092 | #define TREE_LANG_FLAG_6(NODE)((tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1092, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_6) \ |
1093 | (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)(tree_not_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1093, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits.lang_flag_6) |
1094 | |
1095 | /* Define additional fields and accessors for nodes representing constants. */ |
1096 | |
1097 | #define TREE_INT_CST_NUNITS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1097, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.unextended ) \ |
1098 | (INTEGER_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1098, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.unextended) |
1099 | #define TREE_INT_CST_EXT_NUNITS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1099, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.extended ) \ |
1100 | (INTEGER_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1100, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.extended) |
1101 | #define TREE_INT_CST_OFFSET_NUNITS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1101, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.offset ) \ |
1102 | (INTEGER_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1102, __FUNCTION__, (INTEGER_CST)))->base.u.int_length.offset) |
1103 | #define TREE_INT_CST_ELT(NODE, I)(*tree_int_cst_elt_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1103, __FUNCTION__)) TREE_INT_CST_ELT_CHECK (NODE, I)(*tree_int_cst_elt_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1103, __FUNCTION__)) |
1104 | #define TREE_INT_CST_LOW(NODE)((unsigned long) (*tree_int_cst_elt_check ((NODE), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1104, __FUNCTION__))) \ |
1105 | ((unsigned HOST_WIDE_INTlong) TREE_INT_CST_ELT (NODE, 0)(*tree_int_cst_elt_check ((NODE), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1105, __FUNCTION__))) |
1106 | |
1107 | /* Return true if NODE is a POLY_INT_CST. This is only ever true on |
1108 | targets with variable-sized modes. */ |
1109 | #define POLY_INT_CST_P(NODE)(1 > 1 && ((enum tree_code) (NODE)->base.code) == POLY_INT_CST) \ |
1110 | (NUM_POLY_INT_COEFFS1 > 1 && TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == POLY_INT_CST) |
1111 | |
1112 | /* In a POLY_INT_CST node. */ |
1113 | #define POLY_INT_CST_COEFF(NODE, I)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1113, __FUNCTION__, (POLY_INT_CST)))->poly_int_cst.coeffs [I]) \ |
1114 | (POLY_INT_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1114, __FUNCTION__, (POLY_INT_CST)))->poly_int_cst.coeffs[I]) |
1115 | |
1116 | #define TREE_REAL_CST_PTR(NODE)(&(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1116, __FUNCTION__, (REAL_CST)))->real_cst.value) (&REAL_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1116, __FUNCTION__, (REAL_CST)))->real_cst.value) |
1117 | #define TREE_REAL_CST(NODE)(*(&(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1117, __FUNCTION__, (REAL_CST)))->real_cst.value)) (*TREE_REAL_CST_PTR (NODE)(&(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1117, __FUNCTION__, (REAL_CST)))->real_cst.value)) |
1118 | |
1119 | #define TREE_FIXED_CST_PTR(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1119, __FUNCTION__, (FIXED_CST)))->fixed_cst.fixed_cst_ptr ) \ |
1120 | (FIXED_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1120, __FUNCTION__, (FIXED_CST)))->fixed_cst.fixed_cst_ptr) |
1121 | #define TREE_FIXED_CST(NODE)(*((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1121, __FUNCTION__, (FIXED_CST)))->fixed_cst.fixed_cst_ptr )) (*TREE_FIXED_CST_PTR (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1121, __FUNCTION__, (FIXED_CST)))->fixed_cst.fixed_cst_ptr )) |
1122 | |
1123 | /* In a STRING_CST */ |
1124 | /* In C terms, this is sizeof, not strlen. */ |
1125 | #define TREE_STRING_LENGTH(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1125, __FUNCTION__, (STRING_CST)))->string.length) (STRING_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1125, __FUNCTION__, (STRING_CST)))->string.length) |
1126 | #define TREE_STRING_POINTER(NODE)((const char *)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1126, __FUNCTION__, (STRING_CST)))->string.str)) \ |
1127 | ((const char *)(STRING_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1127, __FUNCTION__, (STRING_CST)))->string.str)) |
1128 | |
1129 | /* In a COMPLEX_CST node. */ |
1130 | #define TREE_REALPART(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1130, __FUNCTION__, (COMPLEX_CST)))->complex.real) (COMPLEX_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1130, __FUNCTION__, (COMPLEX_CST)))->complex.real) |
1131 | #define TREE_IMAGPART(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1131, __FUNCTION__, (COMPLEX_CST)))->complex.imag) (COMPLEX_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1131, __FUNCTION__, (COMPLEX_CST)))->complex.imag) |
1132 | |
1133 | /* In a VECTOR_CST node. See generic.texi for details. */ |
1134 | #define VECTOR_CST_NELTS(NODE)(TYPE_VECTOR_SUBPARTS (((contains_struct_check ((NODE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1134, __FUNCTION__))->typed.type))) (TYPE_VECTOR_SUBPARTS (TREE_TYPE (NODE)((contains_struct_check ((NODE), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1134, __FUNCTION__))->typed.type))) |
1135 | #define VECTOR_CST_ELT(NODE,IDX)vector_cst_elt (NODE, IDX) vector_cst_elt (NODE, IDX) |
1136 | |
1137 | #define VECTOR_CST_LOG2_NPATTERNS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1137, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.log2_npatterns ) \ |
1138 | (VECTOR_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1138, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.log2_npatterns) |
1139 | #define VECTOR_CST_NPATTERNS(NODE)(1U << ((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1139, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.log2_npatterns )) \ |
1140 | (1U << VECTOR_CST_LOG2_NPATTERNS (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1140, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.log2_npatterns )) |
1141 | #define VECTOR_CST_NELTS_PER_PATTERN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1141, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern ) \ |
1142 | (VECTOR_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1142, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern) |
1143 | #define VECTOR_CST_DUPLICATE_P(NODE)(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1143, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern ) == 1) \ |
1144 | (VECTOR_CST_NELTS_PER_PATTERN (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1144, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern ) == 1) |
1145 | #define VECTOR_CST_STEPPED_P(NODE)(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1145, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern ) == 3) \ |
1146 | (VECTOR_CST_NELTS_PER_PATTERN (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1146, __FUNCTION__, (VECTOR_CST)))->base.u.vector_cst.nelts_per_pattern ) == 3) |
1147 | #define VECTOR_CST_ENCODED_ELTS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1147, __FUNCTION__, (VECTOR_CST)))->vector.elts) \ |
1148 | (VECTOR_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1148, __FUNCTION__, (VECTOR_CST)))->vector.elts) |
1149 | #define VECTOR_CST_ENCODED_ELT(NODE, ELT)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1149, __FUNCTION__, (VECTOR_CST)))->vector.elts[ELT]) \ |
1150 | (VECTOR_CST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1150, __FUNCTION__, (VECTOR_CST)))->vector.elts[ELT]) |
1151 | |
1152 | /* Define fields and accessors for some special-purpose tree nodes. */ |
1153 | |
1154 | /* Unlike STRING_CST, in C terms this is strlen, not sizeof. */ |
1155 | #define IDENTIFIER_LENGTH(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1155, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.len ) \ |
1156 | (IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1156, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.len) |
1157 | #define IDENTIFIER_POINTER(NODE)((const char *) (tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1157, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str ) \ |
1158 | ((const char *) IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1158, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.str) |
1159 | #define IDENTIFIER_HASH_VALUE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1159, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.hash_value ) \ |
1160 | (IDENTIFIER_NODE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1160, __FUNCTION__, (IDENTIFIER_NODE)))->identifier.id.hash_value) |
1161 | |
1162 | /* Translate a hash table identifier pointer to a tree_identifier |
1163 | pointer, and vice versa. */ |
1164 | |
1165 | #define HT_IDENT_TO_GCC_IDENT(NODE)((tree) ((char *) (NODE) - sizeof (struct tree_common))) \ |
1166 | ((tree) ((char *) (NODE) - sizeof (struct tree_common))) |
1167 | #define GCC_IDENT_TO_HT_IDENT(NODE)(&((struct tree_identifier *) (NODE))->id) (&((struct tree_identifier *) (NODE))->id) |
1168 | |
1169 | /* In a TREE_LIST node. */ |
1170 | #define TREE_PURPOSE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1170, __FUNCTION__, (TREE_LIST)))->list.purpose) (TREE_LIST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1170, __FUNCTION__, (TREE_LIST)))->list.purpose) |
1171 | #define TREE_VALUE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1171, __FUNCTION__, (TREE_LIST)))->list.value) (TREE_LIST_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1171, __FUNCTION__, (TREE_LIST)))->list.value) |
1172 | |
1173 | /* In a TREE_VEC node. */ |
1174 | #define TREE_VEC_LENGTH(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1174, __FUNCTION__, (TREE_VEC)))->base.u.length) (TREE_VEC_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1174, __FUNCTION__, (TREE_VEC)))->base.u.length) |
1175 | #define TREE_VEC_BEGIN(NODE)(&(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1175, __FUNCTION__, (TREE_VEC)))->vec.a[0]) (&TREE_VEC_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1175, __FUNCTION__, (TREE_VEC)))->vec.a[0]) |
1176 | #define TREE_VEC_END(NODE)((void) (tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1176, __FUNCTION__, (TREE_VEC))), &((NODE)->vec.a[(NODE )->base.u.length])) \ |
1177 | ((void) TREE_VEC_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1177, __FUNCTION__, (TREE_VEC))), &((NODE)->vec.a[(NODE)->base.u.length])) |
1178 | |
1179 | #define TREE_VEC_ELT(NODE,I)(*((const_cast<tree *> (tree_vec_elt_check ((NODE), (I) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1179, __FUNCTION__))))) TREE_VEC_ELT_CHECK (NODE, I)(*((const_cast<tree *> (tree_vec_elt_check ((NODE), (I) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1179, __FUNCTION__))))) |
1180 | |
1181 | /* In a CONSTRUCTOR node. */ |
1182 | #define CONSTRUCTOR_ELTS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1182, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts) (CONSTRUCTOR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1182, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts) |
1183 | #define CONSTRUCTOR_ELT(NODE,IDX)(&(*((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1183, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts))[ IDX]) \ |
1184 | (&(*CONSTRUCTOR_ELTS (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1184, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts))[IDX]) |
1185 | #define CONSTRUCTOR_NELTS(NODE)(vec_safe_length (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1185, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts))) \ |
1186 | (vec_safe_length (CONSTRUCTOR_ELTS (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1186, __FUNCTION__, (CONSTRUCTOR)))->constructor.elts))) |
1187 | #define CONSTRUCTOR_NO_CLEARING(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1187, __FUNCTION__, (CONSTRUCTOR)))->base.public_flag) \ |
1188 | (CONSTRUCTOR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1188, __FUNCTION__, (CONSTRUCTOR)))->base.public_flag) |
1189 | |
1190 | /* Iterate through the vector V of CONSTRUCTOR_ELT elements, yielding the |
1191 | value of each element (stored within VAL). IX must be a scratch variable |
1192 | of unsigned integer type. */ |
1193 | #define FOR_EACH_CONSTRUCTOR_VALUE(V, IX, VAL)for (IX = 0; (IX >= vec_safe_length (V)) ? false : ((VAL = (*(V))[IX].value), true); (IX)++) \ |
1194 | for (IX = 0; (IX >= vec_safe_length (V)) \ |
1195 | ? false \ |
1196 | : ((VAL = (*(V))[IX].value), \ |
1197 | true); \ |
1198 | (IX)++) |
1199 | |
1200 | /* Iterate through the vector V of CONSTRUCTOR_ELT elements, yielding both |
1201 | the value of each element (stored within VAL) and its index (stored |
1202 | within INDEX). IX must be a scratch variable of unsigned integer type. */ |
1203 | #define FOR_EACH_CONSTRUCTOR_ELT(V, IX, INDEX, VAL)for (IX = 0; (IX >= vec_safe_length (V)) ? false : (((void ) (VAL = (*V)[IX].value)), (INDEX = (*V)[IX].index), true); ( IX)++) \ |
1204 | for (IX = 0; (IX >= vec_safe_length (V)) \ |
1205 | ? false \ |
1206 | : (((void) (VAL = (*V)[IX].value)), \ |
1207 | (INDEX = (*V)[IX].index), \ |
1208 | true); \ |
1209 | (IX)++) |
1210 | |
1211 | /* Append a new constructor element to V, with the specified INDEX and VAL. */ |
1212 | #define CONSTRUCTOR_APPEND_ELT(V, INDEX, VALUE)do { constructor_elt _ce___ = {INDEX, VALUE}; vec_safe_push ( (V), _ce___); } while (0) \ |
1213 | do { \ |
1214 | constructor_elt _ce___ = {INDEX, VALUE}; \ |
1215 | vec_safe_push ((V), _ce___); \ |
1216 | } while (0) |
1217 | |
1218 | /* True if NODE, a FIELD_DECL, is to be processed as a bitfield for |
1219 | constructor output purposes. */ |
1220 | #define CONSTRUCTOR_BITFIELD_P(NODE)(((tree_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1220, __FUNCTION__, (FIELD_DECL)))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1220, __FUNCTION__, (FIELD_DECL)))->decl_common.decl_flag_1 ) && ((contains_struct_check ((NODE), (TS_DECL_COMMON ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1220, __FUNCTION__))->decl_common.mode) != ((void) 0, E_BLKmode )) \ |
1221 | (DECL_BIT_FIELD (FIELD_DECL_CHECK (NODE))((tree_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1221, __FUNCTION__, (FIELD_DECL)))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1221, __FUNCTION__, (FIELD_DECL)))->decl_common.decl_flag_1 ) && DECL_MODE (NODE)((contains_struct_check ((NODE), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1221, __FUNCTION__))->decl_common.mode) != BLKmode((void) 0, E_BLKmode)) |
1222 | |
1223 | /* True if NODE is a clobber right hand side, an expression of indeterminate |
1224 | value that clobbers the LHS in a copy instruction. We use a volatile |
1225 | empty CONSTRUCTOR for this, as it matches most of the necessary semantic. |
1226 | In particular the volatile flag causes us to not prematurely remove |
1227 | such clobber instructions. */ |
1228 | #define TREE_CLOBBER_P(NODE)(((enum tree_code) (NODE)->base.code) == CONSTRUCTOR && ((NODE)->base.volatile_flag)) \ |
1229 | (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == CONSTRUCTOR && TREE_THIS_VOLATILE (NODE)((NODE)->base.volatile_flag)) |
1230 | |
1231 | /* Return the clobber_kind of a CLOBBER CONSTRUCTOR. */ |
1232 | #define CLOBBER_KIND(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1232, __FUNCTION__, (CONSTRUCTOR)))->base.u.bits.address_space ) \ |
1233 | (CONSTRUCTOR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1233, __FUNCTION__, (CONSTRUCTOR)))->base.u.bits.address_space) |
1234 | |
1235 | /* Define fields and accessors for some nodes that represent expressions. */ |
1236 | |
1237 | /* Nonzero if NODE is an empty statement (NOP_EXPR <0>). */ |
1238 | #define IS_EMPTY_STMT(NODE)(((enum tree_code) (NODE)->base.code) == NOP_EXPR && (((enum tree_code) (((contains_struct_check ((NODE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1238, __FUNCTION__))->typed.type))->base.code) == VOID_TYPE ) && integer_zerop ((*((const_cast<tree*> (tree_operand_check ((NODE), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1238, __FUNCTION__))))))) (TREE_CODE (NODE)((enum tree_code) (NODE)->base.code) == NOP_EXPR \ |
1239 | && VOID_TYPE_P (TREE_TYPE (NODE))(((enum tree_code) (((contains_struct_check ((NODE), (TS_TYPED ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1239, __FUNCTION__))->typed.type))->base.code) == VOID_TYPE ) \ |
1240 | && integer_zerop (TREE_OPERAND (NODE, 0)(*((const_cast<tree*> (tree_operand_check ((NODE), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1240, __FUNCTION__))))))) |
1241 | |
1242 | /* In ordinary expression nodes. */ |
1243 | #define TREE_OPERAND_LENGTH(NODE)tree_operand_length (NODE) tree_operand_length (NODE) |
1244 | #define TREE_OPERAND(NODE, I)(*((const_cast<tree*> (tree_operand_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1244, __FUNCTION__))))) TREE_OPERAND_CHECK (NODE, I)(*((const_cast<tree*> (tree_operand_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1244, __FUNCTION__))))) |
1245 | |
1246 | /* In a tcc_vl_exp node, operand 0 is an INT_CST node holding the operand |
1247 | length. Its value includes the length operand itself; that is, |
1248 | the minimum valid length is 1. |
1249 | Note that we have to bypass the use of TREE_OPERAND to access |
1250 | that field to avoid infinite recursion in expanding the macros. */ |
1251 | #define VL_EXP_OPERAND_LENGTH(NODE)((int)((unsigned long) (*tree_int_cst_elt_check (((tree_class_check ((NODE), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1251, __FUNCTION__))->exp.operands[0]), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1251, __FUNCTION__)))) \ |
1252 | ((int)TREE_INT_CST_LOW (VL_EXP_CHECK (NODE)->exp.operands[0])((unsigned long) (*tree_int_cst_elt_check (((tree_class_check ((NODE), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1252, __FUNCTION__))->exp.operands[0]), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1252, __FUNCTION__)))) |
1253 | |
1254 | /* Nonzero if gimple_debug_nonbind_marker_p() may possibly hold. */ |
1255 | #define MAY_HAVE_DEBUG_MARKER_STMTSglobal_options.x_debug_nonbind_markers_p debug_nonbind_markers_pglobal_options.x_debug_nonbind_markers_p |
1256 | /* Nonzero if gimple_debug_bind_p() (and thus |
1257 | gimple_debug_source_bind_p()) may possibly hold. */ |
1258 | #define MAY_HAVE_DEBUG_BIND_STMTSglobal_options.x_flag_var_tracking_assignments flag_var_tracking_assignmentsglobal_options.x_flag_var_tracking_assignments |
1259 | /* Nonzero if is_gimple_debug() may possibly hold. */ |
1260 | #define MAY_HAVE_DEBUG_STMTS(global_options.x_debug_nonbind_markers_p || global_options.x_flag_var_tracking_assignments ) \ |
1261 | (MAY_HAVE_DEBUG_MARKER_STMTSglobal_options.x_debug_nonbind_markers_p || MAY_HAVE_DEBUG_BIND_STMTSglobal_options.x_flag_var_tracking_assignments) |
1262 | |
1263 | /* In a LOOP_EXPR node. */ |
1264 | #define LOOP_EXPR_BODY(NODE)(*(tree_operand_check_code ((NODE), (LOOP_EXPR), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1264, __FUNCTION__))) TREE_OPERAND_CHECK_CODE (NODE, LOOP_EXPR, 0)(*(tree_operand_check_code ((NODE), (LOOP_EXPR), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1264, __FUNCTION__))) |
1265 | |
1266 | /* The source location of this expression. Non-tree_exp nodes such as |
1267 | decls and constants can be shared among multiple locations, so |
1268 | return nothing. */ |
1269 | #define EXPR_LOCATION(NODE)((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : ((location_t) 0)) \ |
1270 | (CAN_HAVE_LOCATION_P ((NODE))(((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : UNKNOWN_LOCATION((location_t) 0)) |
1271 | #define SET_EXPR_LOCATION(NODE, LOCUS)(expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1271, __FUNCTION__))->exp.locus = (LOCUS) EXPR_CHECK ((NODE))(expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1271, __FUNCTION__))->exp.locus = (LOCUS) |
1272 | #define EXPR_HAS_LOCATION(NODE)(((IS_ADHOC_LOC (((((NODE)) && ((tree_code_type_tmpl < 0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base .code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))-> base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) ? get_location_from_adhoc_loc (line_table , ((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : ((location_t) 0))) : (((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) != ((location_t ) 0)) (LOCATION_LOCUS (EXPR_LOCATION (NODE))((IS_ADHOC_LOC (((((NODE)) && ((tree_code_type_tmpl < 0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base .code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))-> base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) ? get_location_from_adhoc_loc (line_table , ((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : ((location_t) 0))) : (((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) \ |
1273 | != UNKNOWN_LOCATION((location_t) 0)) |
1274 | /* The location to be used in a diagnostic about this expression. Do not |
1275 | use this macro if the location will be assigned to other expressions. */ |
1276 | #define EXPR_LOC_OR_LOC(NODE, LOCUS)((((IS_ADHOC_LOC (((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))-> base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))-> base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) ? get_location_from_adhoc_loc (line_table , ((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : ((location_t) 0))) : (((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) != ((location_t ) 0)) ? (NODE)->exp.locus : (LOCUS)) (EXPR_HAS_LOCATION (NODE)(((IS_ADHOC_LOC (((((NODE)) && ((tree_code_type_tmpl < 0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base .code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))-> base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) ? get_location_from_adhoc_loc (line_table , ((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression )) ? (NODE)->exp.locus : ((location_t) 0))) : (((((NODE)) && ((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) ((NODE))->base.code))]) <= tcc_expression)) ? (NODE)->exp.locus : ((location_t) 0)))) != ((location_t ) 0)) \ |
1277 | ? (NODE)->exp.locus : (LOCUS)) |
1278 | #define EXPR_FILENAME(NODE)((expand_location ((expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1278, __FUNCTION__))->exp.locus)).file) LOCATION_FILE (EXPR_CHECK ((NODE))->exp.locus)((expand_location ((expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1278, __FUNCTION__))->exp.locus)).file) |
1279 | #define EXPR_LINENO(NODE)((expand_location ((expr_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1279, __FUNCTION__))->exp.locus)).line) LOCATION_LINE (EXPR_CHECK (NODE)->exp.locus)((expand_location ((expr_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1279, __FUNCTION__))->exp.locus)).line) |
1280 | |
1281 | #define CAN_HAVE_RANGE_P(NODE)(((NODE) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression ))) (CAN_HAVE_LOCATION_P (NODE)((NODE) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression ))) |
1282 | #define EXPR_LOCATION_RANGE(NODE)(get_expr_source_range ((expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1282, __FUNCTION__)))) (get_expr_source_range (EXPR_CHECK ((NODE))(expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1282, __FUNCTION__)))) |
1283 | |
1284 | #define EXPR_HAS_RANGE(NODE)((((NODE) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression ))) ? (get_expr_source_range ((expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1284, __FUNCTION__)))).m_start != ((location_t) 0) : false) \ |
1285 | (CAN_HAVE_RANGE_P (NODE)(((NODE) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression ))) \ |
1286 | ? EXPR_LOCATION_RANGE (NODE)(get_expr_source_range ((expr_check (((NODE)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1286, __FUNCTION__)))).m_start != UNKNOWN_LOCATION((location_t) 0) \ |
1287 | : false) |
1288 | |
1289 | /* True if a tree is an expression or statement that can have a |
1290 | location. */ |
1291 | #define CAN_HAVE_LOCATION_P(NODE)((NODE) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression )) ((NODE) && EXPR_P (NODE)((tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int) (((enum tree_code) (NODE)->base.code))]) <= tcc_expression)) |
1292 | |
1293 | inline source_range |
1294 | get_expr_source_range (tree expr) |
1295 | { |
1296 | location_t loc = EXPR_LOCATION (expr)((((expr)) && ((tree_code_type_tmpl <0>::tree_code_type [(int) (((enum tree_code) ((expr))->base.code))]) >= tcc_reference && (tree_code_type_tmpl <0>::tree_code_type[(int ) (((enum tree_code) ((expr))->base.code))]) <= tcc_expression )) ? (expr)->exp.locus : ((location_t) 0)); |
1297 | return get_range_from_loc (line_table, loc); |
1298 | } |
1299 | |
1300 | extern void protected_set_expr_location (tree, location_t); |
1301 | extern void protected_set_expr_location_if_unset (tree, location_t); |
1302 | ATTRIBUTE_WARN_UNUSED_RESULT__attribute__ ((__warn_unused_result__)) |
1303 | extern tree protected_set_expr_location_unshare (tree, location_t); |
1304 | |
1305 | WARN_UNUSED_RESULT__attribute__ ((__warn_unused_result__)) extern tree maybe_wrap_with_location (tree, location_t); |
1306 | |
1307 | extern int suppress_location_wrappers; |
1308 | |
1309 | /* A class for suppressing the creation of location wrappers. |
1310 | Location wrappers will not be created during the lifetime |
1311 | of an instance of this class. */ |
1312 | |
1313 | class auto_suppress_location_wrappers |
1314 | { |
1315 | public: |
1316 | auto_suppress_location_wrappers () { ++suppress_location_wrappers; } |
1317 | ~auto_suppress_location_wrappers () { --suppress_location_wrappers; } |
1318 | }; |
1319 | |
1320 | /* In a TARGET_EXPR node. */ |
1321 | #define TARGET_EXPR_SLOT(NODE)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1321, __FUNCTION__))) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 0)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1321, __FUNCTION__))) |
1322 | #define TARGET_EXPR_INITIAL(NODE)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1322, __FUNCTION__))) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 1)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1322, __FUNCTION__))) |
1323 | #define TARGET_EXPR_CLEANUP(NODE)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1323, __FUNCTION__))) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 2)(*(tree_operand_check_code ((NODE), (TARGET_EXPR), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1323, __FUNCTION__))) |
1324 | /* Don't elide the initialization of TARGET_EXPR_SLOT for this TARGET_EXPR |
1325 | on rhs of MODIFY_EXPR. */ |
1326 | #define TARGET_EXPR_NO_ELIDE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1326, __FUNCTION__, (TARGET_EXPR)))->base.private_flag) (TARGET_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1326, __FUNCTION__, (TARGET_EXPR)))->base.private_flag) |
1327 | |
1328 | /* DECL_EXPR accessor. This gives access to the DECL associated with |
1329 | the given declaration statement. */ |
1330 | #define DECL_EXPR_DECL(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1330, __FUNCTION__, (DECL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1330, __FUNCTION__))))) TREE_OPERAND (DECL_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1330, __FUNCTION__, (DECL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1330, __FUNCTION__))))) |
1331 | |
1332 | #define EXIT_EXPR_COND(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1332, __FUNCTION__, (EXIT_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1332, __FUNCTION__))))) TREE_OPERAND (EXIT_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1332, __FUNCTION__, (EXIT_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1332, __FUNCTION__))))) |
1333 | |
1334 | /* COMPOUND_LITERAL_EXPR accessors. */ |
1335 | #define COMPOUND_LITERAL_EXPR_DECL_EXPR(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1335, __FUNCTION__, (COMPOUND_LITERAL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1335, __FUNCTION__))))) \ |
1336 | TREE_OPERAND (COMPOUND_LITERAL_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1336, __FUNCTION__, (COMPOUND_LITERAL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1336, __FUNCTION__))))) |
1337 | #define COMPOUND_LITERAL_EXPR_DECL(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check (((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1337, __FUNCTION__, (COMPOUND_LITERAL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1337, __FUNCTION__)))))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1337, __FUNCTION__, (DECL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1337, __FUNCTION__))))) \ |
1338 | DECL_EXPR_DECL (COMPOUND_LITERAL_EXPR_DECL_EXPR (NODE))(*((const_cast<tree*> (tree_operand_check (((tree_check (((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1338, __FUNCTION__, (COMPOUND_LITERAL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1338, __FUNCTION__)))))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1338, __FUNCTION__, (DECL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1338, __FUNCTION__))))) |
1339 | |
1340 | /* SWITCH_EXPR accessors. These give access to the condition and body. */ |
1341 | #define SWITCH_COND(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1341, __FUNCTION__, (SWITCH_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1341, __FUNCTION__))))) TREE_OPERAND (SWITCH_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1341, __FUNCTION__, (SWITCH_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1341, __FUNCTION__))))) |
1342 | #define SWITCH_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1342, __FUNCTION__, (SWITCH_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1342, __FUNCTION__))))) TREE_OPERAND (SWITCH_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1342, __FUNCTION__, (SWITCH_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1342, __FUNCTION__))))) |
1343 | /* True if there are case labels for all possible values of SWITCH_COND, either |
1344 | because there is a default: case label or because the case label ranges cover |
1345 | all values. */ |
1346 | #define SWITCH_ALL_CASES_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1346, __FUNCTION__, (SWITCH_EXPR)))->base.private_flag) (SWITCH_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1346, __FUNCTION__, (SWITCH_EXPR)))->base.private_flag) |
1347 | |
1348 | /* CASE_LABEL_EXPR accessors. These give access to the high and low values |
1349 | of a case label, respectively. */ |
1350 | #define CASE_LOW(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1350, __FUNCTION__, (CASE_LABEL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1350, __FUNCTION__))))) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1350, __FUNCTION__, (CASE_LABEL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1350, __FUNCTION__))))) |
1351 | #define CASE_HIGH(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1351, __FUNCTION__, (CASE_LABEL_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1351, __FUNCTION__))))) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1351, __FUNCTION__, (CASE_LABEL_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1351, __FUNCTION__))))) |
1352 | #define CASE_LABEL(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1352, __FUNCTION__, (CASE_LABEL_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1352, __FUNCTION__))))) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1352, __FUNCTION__, (CASE_LABEL_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1352, __FUNCTION__))))) |
1353 | #define CASE_CHAIN(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1353, __FUNCTION__, (CASE_LABEL_EXPR)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1353, __FUNCTION__))))) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 3)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1353, __FUNCTION__, (CASE_LABEL_EXPR)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1353, __FUNCTION__))))) |
1354 | |
1355 | /* The operands of a TARGET_MEM_REF. Operands 0 and 1 have to match |
1356 | corresponding MEM_REF operands. */ |
1357 | #define TMR_BASE(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1357, __FUNCTION__, (TARGET_MEM_REF)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1357, __FUNCTION__)))))) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1357, __FUNCTION__, (TARGET_MEM_REF)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1357, __FUNCTION__)))))) |
1358 | #define TMR_OFFSET(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1358, __FUNCTION__, (TARGET_MEM_REF)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1358, __FUNCTION__)))))) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1358, __FUNCTION__, (TARGET_MEM_REF)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1358, __FUNCTION__)))))) |
1359 | #define TMR_INDEX(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1359, __FUNCTION__, (TARGET_MEM_REF)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1359, __FUNCTION__)))))) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1359, __FUNCTION__, (TARGET_MEM_REF)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1359, __FUNCTION__)))))) |
1360 | #define TMR_STEP(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1360, __FUNCTION__, (TARGET_MEM_REF)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1360, __FUNCTION__)))))) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 3)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1360, __FUNCTION__, (TARGET_MEM_REF)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1360, __FUNCTION__)))))) |
1361 | #define TMR_INDEX2(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1361, __FUNCTION__, (TARGET_MEM_REF)))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1361, __FUNCTION__)))))) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 4)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1361, __FUNCTION__, (TARGET_MEM_REF)))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1361, __FUNCTION__)))))) |
1362 | |
1363 | #define MR_DEPENDENCE_CLIQUE(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1363, __FUNCTION__, (MEM_REF), (TARGET_MEM_REF)))->base. u.dependence_info.clique) \ |
1364 | (TREE_CHECK2 (NODE, MEM_REF, TARGET_MEM_REF)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1364, __FUNCTION__, (MEM_REF), (TARGET_MEM_REF)))->base.u.dependence_info.clique) |
1365 | #define MR_DEPENDENCE_BASE(NODE)((tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1365, __FUNCTION__, (MEM_REF), (TARGET_MEM_REF)))->base. u.dependence_info.base) \ |
1366 | (TREE_CHECK2 (NODE, MEM_REF, TARGET_MEM_REF)(tree_check2 ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1366, __FUNCTION__, (MEM_REF), (TARGET_MEM_REF)))->base.u.dependence_info.base) |
1367 | |
1368 | /* The operands of a BIND_EXPR. */ |
1369 | #define BIND_EXPR_VARS(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1369, __FUNCTION__, (BIND_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1369, __FUNCTION__)))))) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1369, __FUNCTION__, (BIND_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1369, __FUNCTION__)))))) |
1370 | #define BIND_EXPR_BODY(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1370, __FUNCTION__, (BIND_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1370, __FUNCTION__)))))) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1370, __FUNCTION__, (BIND_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1370, __FUNCTION__)))))) |
1371 | #define BIND_EXPR_BLOCK(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1371, __FUNCTION__, (BIND_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1371, __FUNCTION__)))))) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1371, __FUNCTION__, (BIND_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1371, __FUNCTION__)))))) |
1372 | |
1373 | /* GOTO_EXPR accessor. This gives access to the label associated with |
1374 | a goto statement. */ |
1375 | #define GOTO_DESTINATION(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1375, __FUNCTION__, (GOTO_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1375, __FUNCTION__))))) TREE_OPERAND (GOTO_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1375, __FUNCTION__, (GOTO_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1375, __FUNCTION__))))) |
1376 | |
1377 | /* ASM_EXPR accessors. ASM_STRING returns a STRING_CST for the |
1378 | instruction (e.g., "mov x, y"). ASM_OUTPUTS, ASM_INPUTS, and |
1379 | ASM_CLOBBERS represent the outputs, inputs, and clobbers for the |
1380 | statement. */ |
1381 | #define ASM_STRING(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1381, __FUNCTION__, (ASM_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1381, __FUNCTION__))))) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1381, __FUNCTION__, (ASM_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1381, __FUNCTION__))))) |
1382 | #define ASM_OUTPUTS(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1382, __FUNCTION__, (ASM_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1382, __FUNCTION__))))) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1382, __FUNCTION__, (ASM_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1382, __FUNCTION__))))) |
1383 | #define ASM_INPUTS(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1383, __FUNCTION__, (ASM_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1383, __FUNCTION__))))) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1383, __FUNCTION__, (ASM_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1383, __FUNCTION__))))) |
1384 | #define ASM_CLOBBERS(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1384, __FUNCTION__, (ASM_EXPR)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1384, __FUNCTION__))))) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 3)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1384, __FUNCTION__, (ASM_EXPR)))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1384, __FUNCTION__))))) |
1385 | #define ASM_LABELS(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1385, __FUNCTION__, (ASM_EXPR)))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1385, __FUNCTION__))))) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 4)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1385, __FUNCTION__, (ASM_EXPR)))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1385, __FUNCTION__))))) |
1386 | /* Nonzero if we want to create an ASM_INPUT instead of an |
1387 | ASM_OPERAND with no operands. */ |
1388 | #define ASM_INPUT_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1388, __FUNCTION__, (ASM_EXPR)))->base.static_flag) (ASM_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1388, __FUNCTION__, (ASM_EXPR)))->base.static_flag) |
1389 | #define ASM_VOLATILE_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1389, __FUNCTION__, (ASM_EXPR)))->base.public_flag) (ASM_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1389, __FUNCTION__, (ASM_EXPR)))->base.public_flag) |
1390 | /* Nonzero if we want to consider this asm as minimum length and cost |
1391 | for inlining decisions. */ |
1392 | #define ASM_INLINE_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1392, __FUNCTION__, (ASM_EXPR)))->base.protected_flag) (ASM_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1392, __FUNCTION__, (ASM_EXPR)))->base.protected_flag) |
1393 | |
1394 | /* COND_EXPR accessors. */ |
1395 | #define COND_EXPR_COND(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1395, __FUNCTION__, (COND_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1395, __FUNCTION__)))))) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1395, __FUNCTION__, (COND_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1395, __FUNCTION__)))))) |
1396 | #define COND_EXPR_THEN(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1396, __FUNCTION__, (COND_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1396, __FUNCTION__)))))) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1396, __FUNCTION__, (COND_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1396, __FUNCTION__)))))) |
1397 | #define COND_EXPR_ELSE(NODE)((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1397, __FUNCTION__, (COND_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1397, __FUNCTION__)))))) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1397, __FUNCTION__, (COND_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1397, __FUNCTION__)))))) |
1398 | |
1399 | /* Accessors for the chains of recurrences. */ |
1400 | #define CHREC_LEFT(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1400, __FUNCTION__, (POLYNOMIAL_CHREC)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1400, __FUNCTION__))))) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1400, __FUNCTION__, (POLYNOMIAL_CHREC)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1400, __FUNCTION__))))) |
1401 | #define CHREC_RIGHT(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1401, __FUNCTION__, (POLYNOMIAL_CHREC)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1401, __FUNCTION__))))) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1401, __FUNCTION__, (POLYNOMIAL_CHREC)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1401, __FUNCTION__))))) |
1402 | #define CHREC_VARIABLE(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1402, __FUNCTION__, (POLYNOMIAL_CHREC)))->base.u.chrec_var POLYNOMIAL_CHREC_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1402, __FUNCTION__, (POLYNOMIAL_CHREC)))->base.u.chrec_var |
1403 | |
1404 | /* LABEL_EXPR accessor. This gives access to the label associated with |
1405 | the given label expression. */ |
1406 | #define LABEL_EXPR_LABEL(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1406, __FUNCTION__, (LABEL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1406, __FUNCTION__))))) TREE_OPERAND (LABEL_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1406, __FUNCTION__, (LABEL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1406, __FUNCTION__))))) |
1407 | |
1408 | /* CATCH_EXPR accessors. */ |
1409 | #define CATCH_TYPES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1409, __FUNCTION__, (CATCH_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1409, __FUNCTION__))))) TREE_OPERAND (CATCH_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1409, __FUNCTION__, (CATCH_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1409, __FUNCTION__))))) |
1410 | #define CATCH_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1410, __FUNCTION__, (CATCH_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1410, __FUNCTION__))))) TREE_OPERAND (CATCH_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1410, __FUNCTION__, (CATCH_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1410, __FUNCTION__))))) |
1411 | |
1412 | /* EH_FILTER_EXPR accessors. */ |
1413 | #define EH_FILTER_TYPES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1413, __FUNCTION__, (EH_FILTER_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1413, __FUNCTION__))))) TREE_OPERAND (EH_FILTER_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1413, __FUNCTION__, (EH_FILTER_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1413, __FUNCTION__))))) |
1414 | #define EH_FILTER_FAILURE(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1414, __FUNCTION__, (EH_FILTER_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1414, __FUNCTION__))))) TREE_OPERAND (EH_FILTER_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1414, __FUNCTION__, (EH_FILTER_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1414, __FUNCTION__))))) |
1415 | |
1416 | /* OBJ_TYPE_REF accessors. */ |
1417 | #define OBJ_TYPE_REF_EXPR(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1417, __FUNCTION__, (OBJ_TYPE_REF)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1417, __FUNCTION__))))) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1417, __FUNCTION__, (OBJ_TYPE_REF)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1417, __FUNCTION__))))) |
1418 | #define OBJ_TYPE_REF_OBJECT(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1418, __FUNCTION__, (OBJ_TYPE_REF)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1418, __FUNCTION__))))) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1418, __FUNCTION__, (OBJ_TYPE_REF)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1418, __FUNCTION__))))) |
1419 | #define OBJ_TYPE_REF_TOKEN(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1419, __FUNCTION__, (OBJ_TYPE_REF)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1419, __FUNCTION__))))) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1419, __FUNCTION__, (OBJ_TYPE_REF)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1419, __FUNCTION__))))) |
1420 | |
1421 | /* CALL_EXPR accessors. */ |
1422 | #define CALL_EXPR_FN(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1422, __FUNCTION__, (CALL_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1422, __FUNCTION__))))) TREE_OPERAND (CALL_EXPR_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1422, __FUNCTION__, (CALL_EXPR)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1422, __FUNCTION__))))) |
1423 | #define CALL_EXPR_STATIC_CHAIN(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1423, __FUNCTION__, (CALL_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1423, __FUNCTION__))))) TREE_OPERAND (CALL_EXPR_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1423, __FUNCTION__, (CALL_EXPR)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1423, __FUNCTION__))))) |
1424 | #define CALL_EXPR_ARG(NODE, I)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1424, __FUNCTION__, (CALL_EXPR)))), ((I) + 3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1424, __FUNCTION__))))) TREE_OPERAND (CALL_EXPR_CHECK (NODE), (I) + 3)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1424, __FUNCTION__, (CALL_EXPR)))), ((I) + 3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1424, __FUNCTION__))))) |
1425 | #define call_expr_nargs(NODE)(((int)((unsigned long) (*tree_int_cst_elt_check (((tree_class_check ((NODE), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1425, __FUNCTION__))->exp.operands[0]), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1425, __FUNCTION__)))) - 3) (VL_EXP_OPERAND_LENGTH (NODE)((int)((unsigned long) (*tree_int_cst_elt_check (((tree_class_check ((NODE), (tcc_vl_exp), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1425, __FUNCTION__))->exp.operands[0]), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1425, __FUNCTION__)))) - 3) |
1426 | #define CALL_EXPR_IFN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1426, __FUNCTION__, (CALL_EXPR)))->base.u.ifn) (CALL_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1426, __FUNCTION__, (CALL_EXPR)))->base.u.ifn) |
1427 | |
1428 | /* CALL_EXPR_ARGP returns a pointer to the argument vector for NODE. |
1429 | We can't use &CALL_EXPR_ARG (NODE, 0) because that will complain if |
1430 | the argument count is zero when checking is enabled. Instead, do |
1431 | the pointer arithmetic to advance past the 3 fixed operands in a |
1432 | CALL_EXPR. That produces a valid pointer to just past the end of the |
1433 | operand array, even if it's not valid to dereference it. */ |
1434 | #define CALL_EXPR_ARGP(NODE)(&((*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1434, __FUNCTION__, (CALL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1434, __FUNCTION__)))))) + 3) \ |
1435 | (&(TREE_OPERAND (CALL_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1435, __FUNCTION__, (CALL_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1435, __FUNCTION__)))))) + 3) |
1436 | |
1437 | /* TM directives and accessors. */ |
1438 | #define TRANSACTION_EXPR_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1438, __FUNCTION__, (TRANSACTION_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1438, __FUNCTION__))))) \ |
1439 | TREE_OPERAND (TRANSACTION_EXPR_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1439, __FUNCTION__, (TRANSACTION_EXPR)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1439, __FUNCTION__))))) |
1440 | #define TRANSACTION_EXPR_OUTER(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1440, __FUNCTION__, (TRANSACTION_EXPR)))->base.static_flag ) \ |
1441 | (TRANSACTION_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1441, __FUNCTION__, (TRANSACTION_EXPR)))->base.static_flag) |
1442 | #define TRANSACTION_EXPR_RELAXED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1442, __FUNCTION__, (TRANSACTION_EXPR)))->base.public_flag ) \ |
1443 | (TRANSACTION_EXPR_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1443, __FUNCTION__, (TRANSACTION_EXPR)))->base.public_flag) |
1444 | |
1445 | /* OpenMP and OpenACC directive and clause accessors. */ |
1446 | |
1447 | /* Generic accessors for OMP nodes that keep the body as operand 0, and clauses |
1448 | as operand 1. */ |
1449 | #define OMP_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_PARALLEL), (OMP_MASTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1449, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1449, __FUNCTION__))))) \ |
1450 | TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_PARALLEL, OMP_MASTER), 0)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_PARALLEL), (OMP_MASTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1450, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1450, __FUNCTION__))))) |
1451 | #define OMP_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_PARALLEL), (OMP_SCAN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1451, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1451, __FUNCTION__))))) \ |
1452 | TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_PARALLEL, OMP_SCAN), 1)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_PARALLEL), (OMP_SCAN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1452, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1452, __FUNCTION__))))) |
1453 | |
1454 | /* Generic accessors for OMP nodes that keep clauses as operand 0. */ |
1455 | #define OMP_STANDALONE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_CACHE), (OMP_TARGET_EXIT_DATA), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1455, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1455, __FUNCTION__))))) \ |
1456 | TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_CACHE, OMP_TARGET_EXIT_DATA), 0)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OACC_CACHE), (OMP_TARGET_EXIT_DATA), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1456, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1456, __FUNCTION__))))) |
1457 | |
1458 | #define OACC_DATA_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1458, __FUNCTION__, (OACC_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1458, __FUNCTION__))))) \ |
1459 | TREE_OPERAND (OACC_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1459, __FUNCTION__, (OACC_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1459, __FUNCTION__))))) |
1460 | #define OACC_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1460, __FUNCTION__, (OACC_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1460, __FUNCTION__))))) \ |
1461 | TREE_OPERAND (OACC_DATA_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1461, __FUNCTION__, (OACC_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1461, __FUNCTION__))))) |
1462 | |
1463 | #define OACC_HOST_DATA_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1463, __FUNCTION__, (OACC_HOST_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1463, __FUNCTION__))))) \ |
1464 | TREE_OPERAND (OACC_HOST_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1464, __FUNCTION__, (OACC_HOST_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1464, __FUNCTION__))))) |
1465 | #define OACC_HOST_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1465, __FUNCTION__, (OACC_HOST_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1465, __FUNCTION__))))) \ |
1466 | TREE_OPERAND (OACC_HOST_DATA_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1466, __FUNCTION__, (OACC_HOST_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1466, __FUNCTION__))))) |
1467 | |
1468 | #define OACC_CACHE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1468, __FUNCTION__, (OACC_CACHE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1468, __FUNCTION__))))) \ |
1469 | TREE_OPERAND (OACC_CACHE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1469, __FUNCTION__, (OACC_CACHE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1469, __FUNCTION__))))) |
1470 | |
1471 | #define OACC_DECLARE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1471, __FUNCTION__, (OACC_DECLARE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1471, __FUNCTION__))))) \ |
1472 | TREE_OPERAND (OACC_DECLARE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1472, __FUNCTION__, (OACC_DECLARE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1472, __FUNCTION__))))) |
1473 | |
1474 | #define OACC_ENTER_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1474, __FUNCTION__, (OACC_ENTER_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1474, __FUNCTION__))))) \ |
1475 | TREE_OPERAND (OACC_ENTER_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1475, __FUNCTION__, (OACC_ENTER_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1475, __FUNCTION__))))) |
1476 | |
1477 | #define OACC_EXIT_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1477, __FUNCTION__, (OACC_EXIT_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1477, __FUNCTION__))))) \ |
1478 | TREE_OPERAND (OACC_EXIT_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1478, __FUNCTION__, (OACC_EXIT_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1478, __FUNCTION__))))) |
1479 | |
1480 | #define OACC_UPDATE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1480, __FUNCTION__, (OACC_UPDATE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1480, __FUNCTION__))))) \ |
1481 | TREE_OPERAND (OACC_UPDATE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1481, __FUNCTION__, (OACC_UPDATE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1481, __FUNCTION__))))) |
1482 | |
1483 | #define OMP_PARALLEL_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1483, __FUNCTION__, (OMP_PARALLEL)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1483, __FUNCTION__))))) TREE_OPERAND (OMP_PARALLEL_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1483, __FUNCTION__, (OMP_PARALLEL)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1483, __FUNCTION__))))) |
1484 | #define OMP_PARALLEL_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1484, __FUNCTION__, (OMP_PARALLEL)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1484, __FUNCTION__))))) TREE_OPERAND (OMP_PARALLEL_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1484, __FUNCTION__, (OMP_PARALLEL)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1484, __FUNCTION__))))) |
1485 | |
1486 | #define OMP_TASK_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1486, __FUNCTION__, (OMP_TASK)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1486, __FUNCTION__))))) TREE_OPERAND (OMP_TASK_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1486, __FUNCTION__, (OMP_TASK)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1486, __FUNCTION__))))) |
1487 | #define OMP_TASK_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1487, __FUNCTION__, (OMP_TASK)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1487, __FUNCTION__))))) TREE_OPERAND (OMP_TASK_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1487, __FUNCTION__, (OMP_TASK)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1487, __FUNCTION__))))) |
1488 | |
1489 | #define OMP_TASKREG_CHECK(NODE)(tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1489, __FUNCTION__)) TREE_RANGE_CHECK (NODE, OMP_PARALLEL, OMP_TASK)(tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1489, __FUNCTION__)) |
1490 | #define OMP_TASKREG_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1490, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1490, __FUNCTION__))))) TREE_OPERAND (OMP_TASKREG_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1490, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1490, __FUNCTION__))))) |
1491 | #define OMP_TASKREG_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1491, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1491, __FUNCTION__))))) TREE_OPERAND (OMP_TASKREG_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_PARALLEL), (OMP_TASK), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1491, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1491, __FUNCTION__))))) |
1492 | |
1493 | #define OMP_LOOPING_CHECK(NODE)(tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1493, __FUNCTION__)) TREE_RANGE_CHECK (NODE, OMP_FOR, OACC_LOOP)(tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1493, __FUNCTION__)) |
1494 | #define OMP_FOR_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1494, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1494, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1494, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1494, __FUNCTION__))))) |
1495 | #define OMP_FOR_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1495, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1495, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1495, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1495, __FUNCTION__))))) |
1496 | #define OMP_FOR_INIT(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1496, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1496, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1496, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1496, __FUNCTION__))))) |
1497 | #define OMP_FOR_COND(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1497, __FUNCTION__))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1497, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 3)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1497, __FUNCTION__))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1497, __FUNCTION__))))) |
1498 | #define OMP_FOR_INCR(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1498, __FUNCTION__))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1498, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 4)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1498, __FUNCTION__))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1498, __FUNCTION__))))) |
1499 | #define OMP_FOR_PRE_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1499, __FUNCTION__))), (5), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1499, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 5)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1499, __FUNCTION__))), (5), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1499, __FUNCTION__))))) |
1500 | #define OMP_FOR_ORIG_DECLS(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1500, __FUNCTION__))), (6), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1500, __FUNCTION__))))) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 6)(*((const_cast<tree*> (tree_operand_check (((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1500, __FUNCTION__))), (6), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1500, __FUNCTION__))))) |
1501 | |
1502 | #define OMP_SECTIONS_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1502, __FUNCTION__, (OMP_SECTIONS)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1502, __FUNCTION__))))) TREE_OPERAND (OMP_SECTIONS_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1502, __FUNCTION__, (OMP_SECTIONS)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1502, __FUNCTION__))))) |
1503 | #define OMP_SECTIONS_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1503, __FUNCTION__, (OMP_SECTIONS)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1503, __FUNCTION__))))) TREE_OPERAND (OMP_SECTIONS_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1503, __FUNCTION__, (OMP_SECTIONS)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1503, __FUNCTION__))))) |
1504 | |
1505 | #define OMP_SECTION_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1505, __FUNCTION__, (OMP_SECTION)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1505, __FUNCTION__))))) TREE_OPERAND (OMP_SECTION_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1505, __FUNCTION__, (OMP_SECTION)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1505, __FUNCTION__))))) |
1506 | |
1507 | #define OMP_SINGLE_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1507, __FUNCTION__, (OMP_SINGLE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1507, __FUNCTION__))))) TREE_OPERAND (OMP_SINGLE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1507, __FUNCTION__, (OMP_SINGLE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1507, __FUNCTION__))))) |
1508 | #define OMP_SINGLE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1508, __FUNCTION__, (OMP_SINGLE)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1508, __FUNCTION__))))) TREE_OPERAND (OMP_SINGLE_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1508, __FUNCTION__, (OMP_SINGLE)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1508, __FUNCTION__))))) |
1509 | |
1510 | #define OMP_SCOPE_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1510, __FUNCTION__, (OMP_SCOPE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1510, __FUNCTION__))))) TREE_OPERAND (OMP_SCOPE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1510, __FUNCTION__, (OMP_SCOPE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1510, __FUNCTION__))))) |
1511 | #define OMP_SCOPE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1511, __FUNCTION__, (OMP_SCOPE)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1511, __FUNCTION__))))) TREE_OPERAND (OMP_SCOPE_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1511, __FUNCTION__, (OMP_SCOPE)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1511, __FUNCTION__))))) |
1512 | |
1513 | #define OMP_MASTER_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1513, __FUNCTION__, (OMP_MASTER)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1513, __FUNCTION__))))) TREE_OPERAND (OMP_MASTER_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1513, __FUNCTION__, (OMP_MASTER)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1513, __FUNCTION__))))) |
1514 | |
1515 | #define OMP_MASKED_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1515, __FUNCTION__, (OMP_MASKED)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1515, __FUNCTION__))))) TREE_OPERAND (OMP_MASKED_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1515, __FUNCTION__, (OMP_MASKED)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1515, __FUNCTION__))))) |
1516 | #define OMP_MASKED_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1516, __FUNCTION__, (OMP_MASKED)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1516, __FUNCTION__))))) TREE_OPERAND (OMP_MASKED_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1516, __FUNCTION__, (OMP_MASKED)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1516, __FUNCTION__))))) |
1517 | |
1518 | #define OMP_TASKGROUP_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1518, __FUNCTION__, (OMP_TASKGROUP)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1518, __FUNCTION__))))) TREE_OPERAND (OMP_TASKGROUP_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1518, __FUNCTION__, (OMP_TASKGROUP)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1518, __FUNCTION__))))) |
1519 | #define OMP_TASKGROUP_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1519, __FUNCTION__, (OMP_TASKGROUP)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1519, __FUNCTION__))))) \ |
1520 | TREE_OPERAND (OMP_TASKGROUP_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1520, __FUNCTION__, (OMP_TASKGROUP)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1520, __FUNCTION__))))) |
1521 | |
1522 | #define OMP_ORDERED_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1522, __FUNCTION__, (OMP_ORDERED)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1522, __FUNCTION__))))) TREE_OPERAND (OMP_ORDERED_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1522, __FUNCTION__, (OMP_ORDERED)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1522, __FUNCTION__))))) |
1523 | #define OMP_ORDERED_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1523, __FUNCTION__, (OMP_ORDERED)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1523, __FUNCTION__))))) TREE_OPERAND (OMP_ORDERED_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1523, __FUNCTION__, (OMP_ORDERED)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1523, __FUNCTION__))))) |
1524 | |
1525 | #define OMP_CRITICAL_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1525, __FUNCTION__, (OMP_CRITICAL)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1525, __FUNCTION__))))) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1525, __FUNCTION__, (OMP_CRITICAL)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1525, __FUNCTION__))))) |
1526 | #define OMP_CRITICAL_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1526, __FUNCTION__, (OMP_CRITICAL)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1526, __FUNCTION__))))) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1526, __FUNCTION__, (OMP_CRITICAL)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1526, __FUNCTION__))))) |
1527 | #define OMP_CRITICAL_NAME(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1527, __FUNCTION__, (OMP_CRITICAL)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1527, __FUNCTION__))))) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 2)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1527, __FUNCTION__, (OMP_CRITICAL)))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1527, __FUNCTION__))))) |
1528 | |
1529 | #define OMP_TEAMS_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1529, __FUNCTION__, (OMP_TEAMS)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1529, __FUNCTION__))))) TREE_OPERAND (OMP_TEAMS_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1529, __FUNCTION__, (OMP_TEAMS)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1529, __FUNCTION__))))) |
1530 | #define OMP_TEAMS_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1530, __FUNCTION__, (OMP_TEAMS)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1530, __FUNCTION__))))) TREE_OPERAND (OMP_TEAMS_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1530, __FUNCTION__, (OMP_TEAMS)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1530, __FUNCTION__))))) |
1531 | |
1532 | #define OMP_TARGET_DATA_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1532, __FUNCTION__, (OMP_TARGET_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1532, __FUNCTION__))))) \ |
1533 | TREE_OPERAND (OMP_TARGET_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1533, __FUNCTION__, (OMP_TARGET_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1533, __FUNCTION__))))) |
1534 | #define OMP_TARGET_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1534, __FUNCTION__, (OMP_TARGET_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1534, __FUNCTION__)))))\ |
1535 | TREE_OPERAND (OMP_TARGET_DATA_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1535, __FUNCTION__, (OMP_TARGET_DATA)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1535, __FUNCTION__))))) |
1536 | |
1537 | #define OMP_TARGET_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1537, __FUNCTION__, (OMP_TARGET)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1537, __FUNCTION__))))) TREE_OPERAND (OMP_TARGET_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1537, __FUNCTION__, (OMP_TARGET)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1537, __FUNCTION__))))) |
1538 | #define OMP_TARGET_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1538, __FUNCTION__, (OMP_TARGET)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1538, __FUNCTION__))))) TREE_OPERAND (OMP_TARGET_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1538, __FUNCTION__, (OMP_TARGET)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1538, __FUNCTION__))))) |
1539 | |
1540 | #define OMP_TARGET_UPDATE_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1540, __FUNCTION__, (OMP_TARGET_UPDATE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1540, __FUNCTION__)))))\ |
1541 | TREE_OPERAND (OMP_TARGET_UPDATE_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1541, __FUNCTION__, (OMP_TARGET_UPDATE)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1541, __FUNCTION__))))) |
1542 | |
1543 | #define OMP_TARGET_ENTER_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1543, __FUNCTION__, (OMP_TARGET_ENTER_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1543, __FUNCTION__)))))\ |
1544 | TREE_OPERAND (OMP_TARGET_ENTER_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1544, __FUNCTION__, (OMP_TARGET_ENTER_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1544, __FUNCTION__))))) |
1545 | |
1546 | #define OMP_TARGET_EXIT_DATA_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1546, __FUNCTION__, (OMP_TARGET_EXIT_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1546, __FUNCTION__)))))\ |
1547 | TREE_OPERAND (OMP_TARGET_EXIT_DATA_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1547, __FUNCTION__, (OMP_TARGET_EXIT_DATA)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1547, __FUNCTION__))))) |
1548 | |
1549 | #define OMP_SCAN_BODY(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1549, __FUNCTION__, (OMP_SCAN)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1549, __FUNCTION__))))) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 0)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1549, __FUNCTION__, (OMP_SCAN)))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1549, __FUNCTION__))))) |
1550 | #define OMP_SCAN_CLAUSES(NODE)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1550, __FUNCTION__, (OMP_SCAN)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1550, __FUNCTION__))))) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 1)(*((const_cast<tree*> (tree_operand_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1550, __FUNCTION__, (OMP_SCAN)))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1550, __FUNCTION__))))) |
1551 | |
1552 | #define OMP_CLAUSE_SIZE(NODE)(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1552, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_FROM), (OMP_CLAUSE__CACHE_ ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1552, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1552, __FUNCTION__))) \ |
1553 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (OMP_CLAUSE_CHECK (NODE), \(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1553, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_FROM), (OMP_CLAUSE__CACHE_ ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))) |
1554 | OMP_CLAUSE_FROM, \(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1553, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_FROM), (OMP_CLAUSE__CACHE_ ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))) |
1555 | OMP_CLAUSE__CACHE_), 1)(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1553, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_FROM), (OMP_CLAUSE__CACHE_ ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1555, __FUNCTION__))) |
1556 | |
1557 | #define OMP_CLAUSE_CHAIN(NODE)((contains_struct_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1557, __FUNCTION__, (OMP_CLAUSE)))), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1557, __FUNCTION__))->common.chain) TREE_CHAIN (OMP_CLAUSE_CHECK (NODE))((contains_struct_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1557, __FUNCTION__, (OMP_CLAUSE)))), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1557, __FUNCTION__))->common.chain) |
1558 | #define OMP_CLAUSE_DECL(NODE)(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1558, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_PRIVATE), ( OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1558, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1558, __FUNCTION__))) \ |
1559 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (OMP_CLAUSE_CHECK (NODE), \(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1559, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_PRIVATE), ( OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))) |
1560 | OMP_CLAUSE_PRIVATE, \(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1559, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_PRIVATE), ( OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))) |
1561 | OMP_CLAUSE__SCANTEMP_), 0)(*(omp_clause_elt_check (((omp_clause_range_check (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1559, __FUNCTION__, (OMP_CLAUSE)))), (OMP_CLAUSE_PRIVATE), ( OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1561, __FUNCTION__))) |
1562 | #define OMP_CLAUSE_HAS_LOCATION(NODE)(((IS_ADHOC_LOC (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1562, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus)) ? get_location_from_adhoc_loc (line_table, ((tree_check ((NODE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1562, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus) : (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1562, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus)) != ((location_t) 0)) \ |
1563 | (LOCATION_LOCUS ((OMP_CLAUSE_CHECK (NODE))->omp_clause.locus)((IS_ADHOC_LOC (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1563, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus)) ? get_location_from_adhoc_loc (line_table, ((tree_check ((NODE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1563, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus) : (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1563, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus)) \ |
1564 | != UNKNOWN_LOCATION((location_t) 0)) |
1565 | #define OMP_CLAUSE_LOCATION(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1565, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1565, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.locus |
1566 | |
1567 | /* True on OMP_FOR and other OpenMP/OpenACC looping constructs if the loop nest |
1568 | is non-rectangular. */ |
1569 | #define OMP_FOR_NON_RECTANGULAR(NODE)((tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1569, __FUNCTION__))->base.private_flag) \ |
1570 | (OMP_LOOPING_CHECK (NODE)(tree_range_check ((NODE), (OMP_FOR), (OACC_LOOP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1570, __FUNCTION__))->base.private_flag) |
1571 | |
1572 | /* True on an OMP_SECTION statement that was the last lexical member. |
1573 | This status is meaningful in the implementation of lastprivate. */ |
1574 | #define OMP_SECTION_LAST(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1574, __FUNCTION__, (OMP_SECTION)))->base.private_flag) \ |
1575 | (OMP_SECTION_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1575, __FUNCTION__, (OMP_SECTION)))->base.private_flag) |
1576 | |
1577 | /* True on an OMP_PARALLEL statement if it represents an explicit |
1578 | combined parallel work-sharing constructs. */ |
1579 | #define OMP_PARALLEL_COMBINED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1579, __FUNCTION__, (OMP_PARALLEL)))->base.private_flag) \ |
1580 | (OMP_PARALLEL_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1580, __FUNCTION__, (OMP_PARALLEL)))->base.private_flag) |
1581 | |
1582 | /* True on an OMP_TEAMS statement if it represents an explicit |
1583 | combined teams distribute constructs. */ |
1584 | #define OMP_TEAMS_COMBINED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1584, __FUNCTION__, (OMP_TEAMS)))->base.private_flag) \ |
1585 | (OMP_TEAMS_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1585, __FUNCTION__, (OMP_TEAMS)))->base.private_flag) |
1586 | |
1587 | /* True on an OMP_TARGET statement if it represents explicit |
1588 | combined target teams, target parallel or target simd constructs. */ |
1589 | #define OMP_TARGET_COMBINED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1589, __FUNCTION__, (OMP_TARGET)))->base.private_flag) \ |
1590 | (OMP_TARGET_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1590, __FUNCTION__, (OMP_TARGET)))->base.private_flag) |
1591 | |
1592 | /* True on an OMP_MASTER statement if it represents an explicit |
1593 | combined master constructs. */ |
1594 | #define OMP_MASTER_COMBINED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1594, __FUNCTION__, (OMP_MASTER)))->base.private_flag) \ |
1595 | (OMP_MASTER_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1595, __FUNCTION__, (OMP_MASTER)))->base.private_flag) |
1596 | |
1597 | /* True on an OMP_MASKED statement if it represents an explicit |
1598 | combined masked constructs. */ |
1599 | #define OMP_MASKED_COMBINED(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1599, __FUNCTION__, (OMP_MASKED)))->base.private_flag) \ |
1600 | (OMP_MASKED_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1600, __FUNCTION__, (OMP_MASKED)))->base.private_flag) |
1601 | |
1602 | /* Memory order for OMP_ATOMIC*. */ |
1603 | #define OMP_ATOMIC_MEMORY_ORDER(NODE)((tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1603, __FUNCTION__))->base.u.omp_atomic_memory_order) \ |
1604 | (TREE_RANGE_CHECK (NODE, OMP_ATOMIC, \(tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1605, __FUNCTION__)) |
1605 | OMP_ATOMIC_CAPTURE_NEW)(tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1605, __FUNCTION__))->base.u.omp_atomic_memory_order) |
1606 | |
1607 | /* Weak clause on OMP_ATOMIC*. */ |
1608 | #define OMP_ATOMIC_WEAK(NODE)((tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1608, __FUNCTION__))->base.public_flag) \ |
1609 | (TREE_RANGE_CHECK (NODE, OMP_ATOMIC, \(tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1610, __FUNCTION__)) |
1610 | OMP_ATOMIC_CAPTURE_NEW)(tree_range_check ((NODE), (OMP_ATOMIC), (OMP_ATOMIC_CAPTURE_NEW ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1610, __FUNCTION__))->base.public_flag) |
1611 | |
1612 | /* True on a PRIVATE clause if its decl is kept around for debugging |
1613 | information only and its DECL_VALUE_EXPR is supposed to point |
1614 | to what it has been remapped to. */ |
1615 | #define OMP_CLAUSE_PRIVATE_DEBUG(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1615, __FUNCTION__))->base.public_flag) \ |
1616 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1616, __FUNCTION__))->base.public_flag) |
1617 | |
1618 | /* True on a PRIVATE clause if ctor needs access to outer region's |
1619 | variable. */ |
1620 | #define OMP_CLAUSE_PRIVATE_OUTER_REF(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1620, __FUNCTION__)))->base.private_flag) \ |
1621 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1621, __FUNCTION__)))->base.private_flag) |
1622 | |
1623 | /* True if a PRIVATE clause is for a C++ class IV on taskloop construct |
1624 | (thus should be private on the outer taskloop and firstprivate on |
1625 | task). */ |
1626 | #define OMP_CLAUSE_PRIVATE_TASKLOOP_IV(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1626, __FUNCTION__)))->base.protected_flag) \ |
1627 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1627, __FUNCTION__)))->base.protected_flag) |
1628 | |
1629 | /* True on a FIRSTPRIVATE clause if it has been added implicitly. */ |
1630 | #define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1630, __FUNCTION__))->base.public_flag) \ |
1631 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1631, __FUNCTION__))->base.public_flag) |
1632 | |
1633 | /* True on a FIRSTPRIVATE clause if only the reference and not what it refers |
1634 | to should be firstprivatized. */ |
1635 | #define OMP_CLAUSE_FIRSTPRIVATE_NO_REFERENCE(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1635, __FUNCTION__)))->base.private_flag) \ |
1636 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1636, __FUNCTION__)))->base.private_flag) |
1637 | |
1638 | /* True on a FIRSTPRIVATE clause with OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT also |
1639 | set if target construct is the only one that accepts the clause. */ |
1640 | #define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1640, __FUNCTION__)))->base.protected_flag) \ |
1641 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_FIRSTPRIVATE ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1641, __FUNCTION__)))->base.protected_flag) |
1642 | |
1643 | /* True on a LASTPRIVATE clause if a FIRSTPRIVATE clause for the same |
1644 | decl is present in the chain. */ |
1645 | #define OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1645, __FUNCTION__))->base.public_flag) \ |
1646 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1646, __FUNCTION__))->base.public_flag) |
1647 | #define OMP_CLAUSE_LASTPRIVATE_STMT(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1647, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1647, __FUNCTION__))) \ |
1648 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1649, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1650, __FUNCTION__))) |
1649 | OMP_CLAUSE_LASTPRIVATE),\(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1649, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1650, __FUNCTION__))) |
1650 | 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LASTPRIVATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1649, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1650, __FUNCTION__))) |
1651 | #define OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1651, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init \ |
1652 | (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1652, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init |
1653 | |
1654 | /* True if a LASTPRIVATE clause is for a C++ class IV on taskloop or |
1655 | loop construct (thus should be lastprivate on the outer taskloop and |
1656 | firstprivate on task for the taskloop construct and carefully handled |
1657 | for loop construct). */ |
1658 | #define OMP_CLAUSE_LASTPRIVATE_LOOP_IV(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1658, __FUNCTION__)))->base.protected_flag) \ |
1659 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1659, __FUNCTION__)))->base.protected_flag) |
1660 | |
1661 | /* True if a LASTPRIVATE clause has CONDITIONAL: modifier. */ |
1662 | #define OMP_CLAUSE_LASTPRIVATE_CONDITIONAL(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1662, __FUNCTION__)))->base.private_flag) \ |
1663 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LASTPRIVATE) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1663, __FUNCTION__)))->base.private_flag) |
1664 | |
1665 | /* True on a SHARED clause if a FIRSTPRIVATE clause for the same |
1666 | decl is present in the chain (this can happen only for taskloop |
1667 | with FIRSTPRIVATE/LASTPRIVATE on it originally. */ |
1668 | #define OMP_CLAUSE_SHARED_FIRSTPRIVATE(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SHARED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1668, __FUNCTION__))->base.public_flag) \ |
1669 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SHARED)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SHARED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1669, __FUNCTION__))->base.public_flag) |
1670 | |
1671 | /* True on a SHARED clause if a scalar is not modified in the body and |
1672 | thus could be optimized as firstprivate. */ |
1673 | #define OMP_CLAUSE_SHARED_READONLY(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SHARED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1673, __FUNCTION__)))->base.private_flag) \ |
1674 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SHARED))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SHARED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1674, __FUNCTION__)))->base.private_flag) |
1675 | |
1676 | #define OMP_CLAUSE_IF_MODIFIER(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_IF), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1676, __FUNCTION__))->omp_clause.subcode.if_modifier) \ |
1677 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_IF)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_IF), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1677, __FUNCTION__))->omp_clause.subcode.if_modifier) |
1678 | |
1679 | #define OMP_CLAUSE_FINAL_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_FINAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1679, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1679, __FUNCTION__))) \ |
1680 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FINAL), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_FINAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1680, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1680, __FUNCTION__))) |
1681 | #define OMP_CLAUSE_IF_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_IF), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1681, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1681, __FUNCTION__))) \ |
1682 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_IF), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_IF), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1682, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1682, __FUNCTION__))) |
1683 | #define OMP_CLAUSE_NUM_THREADS_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_THREADS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1683, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1683, __FUNCTION__))) \ |
1684 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_THREADS),0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_THREADS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1684, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1684, __FUNCTION__))) |
1685 | #define OMP_CLAUSE_SCHEDULE_CHUNK_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1685, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1685, __FUNCTION__))) \ |
1686 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1686, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1686, __FUNCTION__))) |
1687 | #define OMP_CLAUSE_NUM_TASKS_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TASKS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1687, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1687, __FUNCTION__))) \ |
1688 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TASKS), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TASKS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1688, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1688, __FUNCTION__))) |
1689 | #define OMP_CLAUSE_HINT_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_HINT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1689, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1689, __FUNCTION__))) \ |
1690 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_HINT), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_HINT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1690, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1690, __FUNCTION__))) |
1691 | #define OMP_CLAUSE_FILTER_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_FILTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1691, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1691, __FUNCTION__))) \ |
1692 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FILTER), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_FILTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1692, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1692, __FUNCTION__))) |
1693 | |
1694 | #define OMP_CLAUSE_GRAINSIZE_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GRAINSIZE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1694, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1694, __FUNCTION__))) \ |
1695 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GRAINSIZE),0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GRAINSIZE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1695, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1695, __FUNCTION__))) |
1696 | |
1697 | #define OMP_CLAUSE_PRIORITY_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_PRIORITY), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1697, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1697, __FUNCTION__))) \ |
1698 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIORITY),0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_PRIORITY), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1698, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1698, __FUNCTION__))) |
1699 | |
1700 | #define OMP_CLAUSE_GRAINSIZE_STRICT(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_GRAINSIZE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1700, __FUNCTION__)))->base.private_flag) \ |
1701 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GRAINSIZE))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_GRAINSIZE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1701, __FUNCTION__)))->base.private_flag) |
1702 | #define OMP_CLAUSE_NUM_TASKS_STRICT(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_NUM_TASKS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1702, __FUNCTION__)))->base.private_flag) \ |
1703 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TASKS))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_NUM_TASKS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1703, __FUNCTION__)))->base.private_flag) |
1704 | |
1705 | /* OpenACC clause expressions */ |
1706 | #define OMP_CLAUSE_EXPR(NODE, CLAUSE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( CLAUSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1706, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1706, __FUNCTION__))) \ |
1707 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, CLAUSE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( CLAUSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1707, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1707, __FUNCTION__))) |
1708 | #define OMP_CLAUSE_GANG_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1708, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1708, __FUNCTION__))) \ |
1709 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1710, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1710, __FUNCTION__))) |
1710 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GANG), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1710, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1710, __FUNCTION__))) |
1711 | #define OMP_CLAUSE_GANG_STATIC_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1711, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1711, __FUNCTION__))) \ |
1712 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1713, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1713, __FUNCTION__))) |
1713 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GANG), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_GANG), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1713, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1713, __FUNCTION__))) |
1714 | #define OMP_CLAUSE_ASYNC_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ASYNC), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1714, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1714, __FUNCTION__))) \ |
1715 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ASYNC), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1716, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1716, __FUNCTION__))) |
1716 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ASYNC), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ASYNC), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1716, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1716, __FUNCTION__))) |
1717 | #define OMP_CLAUSE_WAIT_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WAIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1717, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1717, __FUNCTION__))) \ |
1718 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WAIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1719, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1719, __FUNCTION__))) |
1719 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_WAIT), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WAIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1719, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1719, __FUNCTION__))) |
1720 | #define OMP_CLAUSE_VECTOR_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1720, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1720, __FUNCTION__))) \ |
1721 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1722, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1722, __FUNCTION__))) |
1722 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_VECTOR), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1722, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1722, __FUNCTION__))) |
1723 | #define OMP_CLAUSE_WORKER_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WORKER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1723, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1723, __FUNCTION__))) \ |
1724 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WORKER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1725, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1725, __FUNCTION__))) |
1725 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_WORKER), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_WORKER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1725, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1725, __FUNCTION__))) |
1726 | #define OMP_CLAUSE_NUM_GANGS_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_GANGS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1726, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1726, __FUNCTION__))) \ |
1727 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_GANGS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1728, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1728, __FUNCTION__))) |
1728 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_GANGS), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_GANGS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1728, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1728, __FUNCTION__))) |
1729 | #define OMP_CLAUSE_NUM_WORKERS_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_WORKERS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1729, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1729, __FUNCTION__))) \ |
1730 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_WORKERS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1731, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1731, __FUNCTION__))) |
1731 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_WORKERS), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_WORKERS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1731, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1731, __FUNCTION__))) |
1732 | #define OMP_CLAUSE_VECTOR_LENGTH_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR_LENGTH), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1732, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1732, __FUNCTION__))) \ |
1733 | OMP_CLAUSE_OPERAND ( \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR_LENGTH), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1734, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1734, __FUNCTION__))) |
1734 | OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_VECTOR_LENGTH), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_VECTOR_LENGTH), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1734, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1734, __FUNCTION__))) |
1735 | |
1736 | #define OMP_CLAUSE_DEPEND_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEPEND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1736, __FUNCTION__))->omp_clause.subcode.depend_kind) \ |
1737 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEPEND)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEPEND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1737, __FUNCTION__))->omp_clause.subcode.depend_kind) |
1738 | |
1739 | #define OMP_CLAUSE_DOACROSS_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DOACROSS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1739, __FUNCTION__))->omp_clause.subcode.doacross_kind) \ |
1740 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DOACROSS)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DOACROSS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1740, __FUNCTION__))->omp_clause.subcode.doacross_kind) |
1741 | |
1742 | #define OMP_CLAUSE_DOACROSS_SINK_NEGATIVE(NODE)(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1742, __FUNCTION__, (TREE_LIST))))->base.public_flag) \ |
1743 | TREE_PUBLIC (TREE_LIST_CHECK (NODE))(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1743, __FUNCTION__, (TREE_LIST))))->base.public_flag) |
1744 | |
1745 | /* True if DOACROSS clause is spelled as DEPEND. */ |
1746 | #define OMP_CLAUSE_DOACROSS_DEPEND(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DOACROSS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1746, __FUNCTION__)))->base.protected_flag) \ |
1747 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DOACROSS))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DOACROSS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1747, __FUNCTION__)))->base.protected_flag) |
1748 | |
1749 | #define OMP_CLAUSE_MAP_KIND(NODE)((enum gomp_map_kind) (omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1749, __FUNCTION__))->omp_clause.subcode.map_kind) \ |
1750 | ((enum gomp_map_kind) OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1750, __FUNCTION__))->omp_clause.subcode.map_kind) |
1751 | #define OMP_CLAUSE_SET_MAP_KIND(NODE, MAP_KIND)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1751, __FUNCTION__))->omp_clause.subcode.map_kind = (unsigned int) (MAP_KIND)) \ |
1752 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1752, __FUNCTION__))->omp_clause.subcode.map_kind \ |
1753 | = (unsigned int) (MAP_KIND)) |
1754 | |
1755 | /* Nonzero if this map clause is for array (rather than pointer) based array |
1756 | section with zero bias. Both the non-decl OMP_CLAUSE_MAP and corresponding |
1757 | OMP_CLAUSE_MAP with GOMP_MAP_POINTER are marked with this flag. */ |
1758 | #define OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1758, __FUNCTION__))->base.public_flag) \ |
1759 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1759, __FUNCTION__))->base.public_flag) |
1760 | /* Nonzero if this is a mapped array section, that might need special |
1761 | treatment if OMP_CLAUSE_SIZE is zero. */ |
1762 | #define OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1762, __FUNCTION__)))->base.protected_flag) \ |
1763 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1763, __FUNCTION__)))->base.protected_flag) |
1764 | /* Nonzero if this map clause is for an OpenACC compute construct's reduction |
1765 | variable or OpenMP map clause mentioned also in in_reduction clause on the |
1766 | same construct. */ |
1767 | #define OMP_CLAUSE_MAP_IN_REDUCTION(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1767, __FUNCTION__)))->base.private_flag) \ |
1768 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1768, __FUNCTION__)))->base.private_flag) |
1769 | /* Nonzero on map clauses added implicitly for reduction clauses on combined |
1770 | or composite constructs. They shall be removed if there is an explicit |
1771 | map clause. */ |
1772 | #define OMP_CLAUSE_MAP_IMPLICIT(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1772, __FUNCTION__))->base.default_def_flag) \ |
1773 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1773, __FUNCTION__))->base.default_def_flag) |
1774 | /* Nonzero if this map clause is to be indicated to the runtime as 'implicit', |
1775 | due to being created through implicit data-mapping rules in the middle-end. |
1776 | NOTE: this is different than OMP_CLAUSE_MAP_IMPLICIT. */ |
1777 | #define OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1777, __FUNCTION__))->base.deprecated_flag) \ |
1778 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1778, __FUNCTION__))->base.deprecated_flag) |
1779 | |
1780 | /* Flag that 'OMP_CLAUSE_DECL (NODE)' is to be made addressable during OMP |
1781 | lowering. */ |
1782 | #define OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1782, __FUNCTION__))->base.addressable_flag) \ |
1783 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_MAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1783, __FUNCTION__))->base.addressable_flag) |
1784 | |
1785 | /* True on an OMP_CLAUSE_USE_DEVICE_PTR with an OpenACC 'if_present' |
1786 | clause. */ |
1787 | #define OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_USE_DEVICE_PTR ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1787, __FUNCTION__))->base.public_flag) \ |
1788 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_USE_DEVICE_PTR)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_USE_DEVICE_PTR ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1788, __FUNCTION__))->base.public_flag) |
1789 | |
1790 | #define OMP_CLAUSE_PROC_BIND_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PROC_BIND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1790, __FUNCTION__))->omp_clause.subcode.proc_bind_kind) \ |
1791 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PROC_BIND)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_PROC_BIND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1791, __FUNCTION__))->omp_clause.subcode.proc_bind_kind) |
1792 | |
1793 | #define OMP_CLAUSE_DEVICE_TYPE_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEVICE_TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1793, __FUNCTION__))->omp_clause.subcode.device_type_kind ) \ |
1794 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE_TYPE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEVICE_TYPE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1794, __FUNCTION__))->omp_clause.subcode.device_type_kind) |
1795 | |
1796 | /* True if there is a device clause with a device-modifier 'ancestor'. */ |
1797 | #define OMP_CLAUSE_DEVICE_ANCESTOR(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEVICE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1797, __FUNCTION__))->base.public_flag) \ |
1798 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEVICE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1798, __FUNCTION__))->base.public_flag) |
1799 | |
1800 | #define OMP_CLAUSE_COLLAPSE_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1800, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1800, __FUNCTION__))) \ |
1801 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1801, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1801, __FUNCTION__))) |
1802 | #define OMP_CLAUSE_COLLAPSE_ITERVAR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1802, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1802, __FUNCTION__))) \ |
1803 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1803, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1803, __FUNCTION__))) |
1804 | #define OMP_CLAUSE_COLLAPSE_COUNT(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1804, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1804, __FUNCTION__))) \ |
1805 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 2)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_COLLAPSE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1805, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1805, __FUNCTION__))) |
1806 | |
1807 | #define OMP_CLAUSE_ORDERED_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ORDERED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1807, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1807, __FUNCTION__))) \ |
1808 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDERED), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ORDERED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1808, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1808, __FUNCTION__))) |
1809 | |
1810 | /* True on an OMP_CLAUSE_ORDERED if stand-alone ordered construct is nested |
1811 | inside of work-sharing loop the clause is on. */ |
1812 | #define OMP_CLAUSE_ORDERED_DOACROSS(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDERED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1812, __FUNCTION__))->base.public_flag) \ |
1813 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDERED)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDERED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1813, __FUNCTION__))->base.public_flag) |
1814 | |
1815 | /* True for unconstrained modifier on order(concurrent) clause. */ |
1816 | #define OMP_CLAUSE_ORDER_UNCONSTRAINED(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1816, __FUNCTION__))->base.public_flag) \ |
1817 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDER)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1817, __FUNCTION__))->base.public_flag) |
1818 | /* True for reproducible modifier on order(concurrent) clause. */ |
1819 | #define OMP_CLAUSE_ORDER_REPRODUCIBLE(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1819, __FUNCTION__)))->base.protected_flag) \ |
1820 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDER))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ORDER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1820, __FUNCTION__)))->base.protected_flag) |
1821 | |
1822 | #define OMP_CLAUSE_REDUCTION_CODE(NODE)((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1822, __FUNCTION__))->omp_clause.subcode.reduction_code) \ |
1823 | (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1824, __FUNCTION__)) |
1824 | OMP_CLAUSE_IN_REDUCTION)(omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1824, __FUNCTION__))->omp_clause.subcode.reduction_code) |
1825 | #define OMP_CLAUSE_REDUCTION_INIT(NODE)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1825, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1825, __FUNCTION__))) \ |
1826 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1827, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1827, __FUNCTION__))) |
1827 | OMP_CLAUSE_IN_REDUCTION), 1)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1827, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1827, __FUNCTION__))) |
1828 | #define OMP_CLAUSE_REDUCTION_MERGE(NODE)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1828, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1828, __FUNCTION__))) \ |
1829 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1830, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1830, __FUNCTION__))) |
1830 | OMP_CLAUSE_IN_REDUCTION), 2)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1830, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1830, __FUNCTION__))) |
1831 | #define OMP_CLAUSE_REDUCTION_GIMPLE_INIT(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1831, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init \ |
1832 | (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1832, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init |
1833 | #define OMP_CLAUSE_REDUCTION_GIMPLE_MERGE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1833, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_merge \ |
1834 | (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1834, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_merge |
1835 | #define OMP_CLAUSE_REDUCTION_PLACEHOLDER(NODE)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1835, __FUNCTION__))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1835, __FUNCTION__))) \ |
1836 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1837, __FUNCTION__))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1837, __FUNCTION__))) |
1837 | OMP_CLAUSE_IN_REDUCTION), 3)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1837, __FUNCTION__))), (3), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1837, __FUNCTION__))) |
1838 | #define OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER(NODE)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1838, __FUNCTION__))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1838, __FUNCTION__))) \ |
1839 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1840, __FUNCTION__))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1840, __FUNCTION__))) |
1840 | OMP_CLAUSE_IN_REDUCTION), 4)(*(omp_clause_elt_check (((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION ), (OMP_CLAUSE_IN_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1840, __FUNCTION__))), (4), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1840, __FUNCTION__))) |
1841 | |
1842 | /* True if a REDUCTION clause may reference the original list item (omp_orig) |
1843 | in its OMP_CLAUSE_REDUCTION_{,GIMPLE_}INIT. */ |
1844 | #define OMP_CLAUSE_REDUCTION_OMP_ORIG_REF(NODE)((omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1844, __FUNCTION__))->base.public_flag) \ |
1845 | (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \(omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1846, __FUNCTION__)) |
1846 | OMP_CLAUSE_IN_REDUCTION)(omp_clause_range_check ((NODE), (OMP_CLAUSE_REDUCTION), (OMP_CLAUSE_IN_REDUCTION ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1846, __FUNCTION__))->base.public_flag) |
1847 | |
1848 | /* True if a REDUCTION clause has task reduction-modifier. */ |
1849 | #define OMP_CLAUSE_REDUCTION_TASK(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1849, __FUNCTION__)))->base.protected_flag) \ |
1850 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_REDUCTION))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1850, __FUNCTION__)))->base.protected_flag) |
1851 | |
1852 | /* True if a REDUCTION clause has inscan reduction-modifier. */ |
1853 | #define OMP_CLAUSE_REDUCTION_INSCAN(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1853, __FUNCTION__)))->base.private_flag) \ |
1854 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_REDUCTION))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_REDUCTION), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1854, __FUNCTION__)))->base.private_flag) |
1855 | |
1856 | /* True if a LINEAR clause doesn't need copy in. True for iterator vars which |
1857 | are always initialized inside of the loop construct, false otherwise. */ |
1858 | #define OMP_CLAUSE_LINEAR_NO_COPYIN(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1858, __FUNCTION__))->base.public_flag) \ |
1859 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1859, __FUNCTION__))->base.public_flag) |
1860 | |
1861 | /* True if a LINEAR clause doesn't need copy out. True for iterator vars which |
1862 | are declared inside of the simd construct. */ |
1863 | #define OMP_CLAUSE_LINEAR_NO_COPYOUT(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1863, __FUNCTION__)))->base.private_flag) \ |
1864 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1864, __FUNCTION__)))->base.private_flag) |
1865 | |
1866 | /* True if a LINEAR clause has a stride that is variable. */ |
1867 | #define OMP_CLAUSE_LINEAR_VARIABLE_STRIDE(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1867, __FUNCTION__)))->base.protected_flag) \ |
1868 | TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1868, __FUNCTION__)))->base.protected_flag) |
1869 | |
1870 | /* True for a LINEAR clause with old style modifier syntax |
1871 | linear(modifier(list)) or linear(modifier(list):step). */ |
1872 | #define OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1872, __FUNCTION__))->base.addressable_flag) \ |
1873 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1873, __FUNCTION__))->base.addressable_flag) |
1874 | |
1875 | /* True if a LINEAR clause is for an array or allocatable variable that |
1876 | needs special handling by the frontend. */ |
1877 | #define OMP_CLAUSE_LINEAR_ARRAY(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1877, __FUNCTION__))->base.deprecated_flag) \ |
1878 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1878, __FUNCTION__))->base.deprecated_flag) |
1879 | |
1880 | #define OMP_CLAUSE_LINEAR_STEP(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1880, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1880, __FUNCTION__))) \ |
1881 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1881, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1881, __FUNCTION__))) |
1882 | |
1883 | #define OMP_CLAUSE_LINEAR_STMT(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1883, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1883, __FUNCTION__))) \ |
1884 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR), 2)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1884, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1884, __FUNCTION__))) |
1885 | |
1886 | #define OMP_CLAUSE_LINEAR_GIMPLE_SEQ(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1886, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init \ |
1887 | (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1887, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.gimple_reduction_init |
1888 | |
1889 | #define OMP_CLAUSE_LINEAR_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1889, __FUNCTION__))->omp_clause.subcode.linear_kind) \ |
1890 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_LINEAR), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1890, __FUNCTION__))->omp_clause.subcode.linear_kind) |
1891 | |
1892 | #define OMP_CLAUSE_ALIGNED_ALIGNMENT(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALIGNED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1892, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1892, __FUNCTION__))) \ |
1893 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALIGNED), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALIGNED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1893, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1893, __FUNCTION__))) |
1894 | |
1895 | #define OMP_CLAUSE_ALLOCATE_ALLOCATOR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1895, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1895, __FUNCTION__))) \ |
1896 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1896, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1896, __FUNCTION__))) |
1897 | |
1898 | #define OMP_CLAUSE_ALLOCATE_ALIGN(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1898, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1898, __FUNCTION__))) \ |
1899 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE), 2)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1899, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1899, __FUNCTION__))) |
1900 | |
1901 | /* True if an ALLOCATE clause was present on a combined or composite |
1902 | construct and the code for splitting the clauses has already performed |
1903 | checking if the listed variable has explicit privatization on the |
1904 | construct. */ |
1905 | #define OMP_CLAUSE_ALLOCATE_COMBINED(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1905, __FUNCTION__))->base.public_flag) \ |
1906 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ALLOCATE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1906, __FUNCTION__))->base.public_flag) |
1907 | |
1908 | #define OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TEAMS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1908, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1908, __FUNCTION__))) \ |
1909 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TEAMS), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TEAMS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1909, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1909, __FUNCTION__))) |
1910 | |
1911 | #define OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TEAMS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1911, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1911, __FUNCTION__))) \ |
1912 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TEAMS), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_NUM_TEAMS), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1912, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1912, __FUNCTION__))) |
1913 | |
1914 | #define OMP_CLAUSE_THREAD_LIMIT_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_THREAD_LIMIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1914, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1914, __FUNCTION__))) \ |
1915 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_THREAD_LIMIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1916, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1916, __FUNCTION__))) |
1916 | OMP_CLAUSE_THREAD_LIMIT), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_THREAD_LIMIT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1916, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1916, __FUNCTION__))) |
1917 | |
1918 | #define OMP_CLAUSE_DEVICE_ID(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_DEVICE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1918, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1918, __FUNCTION__))) \ |
1919 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_DEVICE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1919, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1919, __FUNCTION__))) |
1920 | |
1921 | #define OMP_CLAUSE_DIST_SCHEDULE_CHUNK_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_DIST_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1921, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1921, __FUNCTION__))) \ |
1922 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_DIST_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1923, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1923, __FUNCTION__))) |
1923 | OMP_CLAUSE_DIST_SCHEDULE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_DIST_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1923, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1923, __FUNCTION__))) |
1924 | |
1925 | #define OMP_CLAUSE_SAFELEN_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SAFELEN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1925, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1925, __FUNCTION__))) \ |
1926 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SAFELEN), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SAFELEN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1926, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1926, __FUNCTION__))) |
1927 | |
1928 | #define OMP_CLAUSE_SIMDLEN_EXPR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SIMDLEN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1928, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1928, __FUNCTION__))) \ |
1929 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SIMDLEN), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_SIMDLEN), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1929, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1929, __FUNCTION__))) |
1930 | |
1931 | #define OMP_CLAUSE__SIMDUID__DECL(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE__SIMDUID_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1931, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1931, __FUNCTION__))) \ |
1932 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SIMDUID_), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE__SIMDUID_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1932, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1932, __FUNCTION__))) |
1933 | |
1934 | #define OMP_CLAUSE_SCHEDULE_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1934, __FUNCTION__))->omp_clause.subcode.schedule_kind) \ |
1935 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1935, __FUNCTION__))->omp_clause.subcode.schedule_kind) |
1936 | |
1937 | /* True if a SCHEDULE clause has the simd modifier on it. */ |
1938 | #define OMP_CLAUSE_SCHEDULE_SIMD(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1938, __FUNCTION__))->base.public_flag) \ |
1939 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_SCHEDULE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1939, __FUNCTION__))->base.public_flag) |
1940 | |
1941 | #define OMP_CLAUSE_DEFAULT_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1941, __FUNCTION__))->omp_clause.subcode.default_kind) \ |
1942 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEFAULT)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULT), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1942, __FUNCTION__))->omp_clause.subcode.default_kind) |
1943 | |
1944 | #define OMP_CLAUSE_DEFAULTMAP_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1944, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) \ |
1945 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEFAULTMAP)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1945, __FUNCTION__))->omp_clause.subcode.defaultmap_kind) |
1946 | #define OMP_CLAUSE_DEFAULTMAP_CATEGORY(NODE)((enum omp_clause_defaultmap_kind) (((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1946, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) & OMP_CLAUSE_DEFAULTMAP_CATEGORY_MASK)) \ |
1947 | ((enum omp_clause_defaultmap_kind) \ |
1948 | (OMP_CLAUSE_DEFAULTMAP_KIND (NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1948, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) & OMP_CLAUSE_DEFAULTMAP_CATEGORY_MASK)) |
1949 | #define OMP_CLAUSE_DEFAULTMAP_BEHAVIOR(NODE)((enum omp_clause_defaultmap_kind) (((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1949, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) & OMP_CLAUSE_DEFAULTMAP_MASK)) \ |
1950 | ((enum omp_clause_defaultmap_kind) \ |
1951 | (OMP_CLAUSE_DEFAULTMAP_KIND (NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1951, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) & OMP_CLAUSE_DEFAULTMAP_MASK)) |
1952 | #define OMP_CLAUSE_DEFAULTMAP_SET_KIND(NODE, BEHAVIOR, CATEGORY)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1952, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) = (enum omp_clause_defaultmap_kind) (CATEGORY | BEHAVIOR)) \ |
1953 | (OMP_CLAUSE_DEFAULTMAP_KIND (NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_DEFAULTMAP), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1953, __FUNCTION__))->omp_clause.subcode.defaultmap_kind ) \ |
1954 | = (enum omp_clause_defaultmap_kind) (CATEGORY | BEHAVIOR)) |
1955 | |
1956 | #define OMP_CLAUSE_BIND_KIND(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_BIND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1956, __FUNCTION__))->omp_clause.subcode.bind_kind) \ |
1957 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_BIND)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_BIND), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1957, __FUNCTION__))->omp_clause.subcode.bind_kind) |
1958 | |
1959 | /* True if ENTER clause is spelled as TO. */ |
1960 | #define OMP_CLAUSE_ENTER_TO(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ENTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1960, __FUNCTION__))->base.public_flag) \ |
1961 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ENTER)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE_ENTER), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1961, __FUNCTION__))->base.public_flag) |
1962 | |
1963 | #define OMP_CLAUSE_TILE_LIST(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1963, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1963, __FUNCTION__))) \ |
1964 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 0)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1964, __FUNCTION__))), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1964, __FUNCTION__))) |
1965 | #define OMP_CLAUSE_TILE_ITERVAR(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1965, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1965, __FUNCTION__))) \ |
1966 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 1)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1966, __FUNCTION__))), (1), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1966, __FUNCTION__))) |
1967 | #define OMP_CLAUSE_TILE_COUNT(NODE)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1967, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1967, __FUNCTION__))) \ |
1968 | OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 2)(*(omp_clause_elt_check (((omp_clause_subcode_check ((NODE), ( OMP_CLAUSE_TILE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1968, __FUNCTION__))), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1968, __FUNCTION__))) |
1969 | |
1970 | /* _CONDTEMP_ holding temporary with iteration count. */ |
1971 | #define OMP_CLAUSE__CONDTEMP__ITER(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE__CONDTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1971, __FUNCTION__))->base.public_flag) \ |
1972 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__CONDTEMP_)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE__CONDTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1972, __FUNCTION__))->base.public_flag) |
1973 | |
1974 | /* _SCANTEMP_ holding temporary with pointer to thread's local array; |
1975 | allocation. */ |
1976 | #define OMP_CLAUSE__SCANTEMP__ALLOC(NODE)((omp_clause_subcode_check ((NODE), (OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1976, __FUNCTION__))->base.public_flag) \ |
1977 | (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SCANTEMP_)(omp_clause_subcode_check ((NODE), (OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1977, __FUNCTION__))->base.public_flag) |
1978 | |
1979 | /* _SCANTEMP_ holding temporary with a control variable for deallocation; |
1980 | one boolean_type_node for test whether alloca was used, another one |
1981 | to pass to __builtin_stack_restore or free. */ |
1982 | #define OMP_CLAUSE__SCANTEMP__CONTROL(NODE)(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1982, __FUNCTION__)))->base.private_flag) \ |
1983 | TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SCANTEMP_))(((omp_clause_subcode_check ((NODE), (OMP_CLAUSE__SCANTEMP_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1983, __FUNCTION__)))->base.private_flag) |
1984 | |
1985 | /* SSA_NAME accessors. */ |
1986 | |
1987 | /* Whether SSA_NAME NODE is a virtual operand. This simply caches the |
1988 | information in the underlying SSA_NAME_VAR for efficiency. */ |
1989 | #define SSA_NAME_IS_VIRTUAL_OPERAND(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1989, __FUNCTION__, (SSA_NAME)))->base.public_flag \ |
1990 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1990, __FUNCTION__, (SSA_NAME)))->base.public_flag |
1991 | |
1992 | /* Returns the IDENTIFIER_NODE giving the SSA name a name or NULL_TREE |
1993 | if there is no name associated with it. */ |
1994 | #define SSA_NAME_IDENTIFIER(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1994, __FUNCTION__, (SSA_NAME)))->ssa_name.var != (tree) nullptr ? (((enum tree_code) ((NODE)->ssa_name.var)->base .code) == IDENTIFIER_NODE ? (NODE)->ssa_name.var : ((contains_struct_check (((NODE)->ssa_name.var), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1994, __FUNCTION__))->decl_minimal.name)) : (tree) nullptr ) \ |
1995 | (SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1995, __FUNCTION__, (SSA_NAME)))->ssa_name.var != NULL_TREE(tree) nullptr \ |
1996 | ? (TREE_CODE ((NODE)->ssa_name.var)((enum tree_code) ((NODE)->ssa_name.var)->base.code) == IDENTIFIER_NODE \ |
1997 | ? (NODE)->ssa_name.var \ |
1998 | : DECL_NAME ((NODE)->ssa_name.var)((contains_struct_check (((NODE)->ssa_name.var), (TS_DECL_MINIMAL ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 1998, __FUNCTION__))->decl_minimal.name)) \ |
1999 | : NULL_TREE(tree) nullptr) |
2000 | |
2001 | /* Returns the variable being referenced. This can be NULL_TREE for |
2002 | temporaries not associated with any user variable. |
2003 | Once released, this is the only field that can be relied upon. */ |
2004 | #define SSA_NAME_VAR(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2004, __FUNCTION__, (SSA_NAME)))->ssa_name.var == (tree) nullptr || ((enum tree_code) ((NODE)->ssa_name.var)->base .code) == IDENTIFIER_NODE ? (tree) nullptr : (NODE)->ssa_name .var) \ |
2005 | (SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2005, __FUNCTION__, (SSA_NAME)))->ssa_name.var == NULL_TREE(tree) nullptr \ |
2006 | || TREE_CODE ((NODE)->ssa_name.var)((enum tree_code) ((NODE)->ssa_name.var)->base.code) == IDENTIFIER_NODE \ |
2007 | ? NULL_TREE(tree) nullptr : (NODE)->ssa_name.var) |
2008 | |
2009 | #define SET_SSA_NAME_VAR_OR_IDENTIFIER(NODE,VAR)do { tree var_ = (VAR); (tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2009, __FUNCTION__, (SSA_NAME)))->ssa_name.var = var_; ( tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2009, __FUNCTION__, (SSA_NAME)))->base.public_flag = (var_ && ((enum tree_code) (var_)->base.code) == VAR_DECL && ((tree_check ((var_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2009, __FUNCTION__, (VAR_DECL)))->base.u.bits.saturating_flag )); } while (0) \ |
2010 | do \ |
2011 | { \ |
2012 | tree var_ = (VAR); \ |
2013 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2013, __FUNCTION__, (SSA_NAME)))->ssa_name.var = var_; \ |
2014 | SSA_NAME_IS_VIRTUAL_OPERAND (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2014, __FUNCTION__, (SSA_NAME)))->base.public_flag \ |
2015 | = (var_ \ |
2016 | && TREE_CODE (var_)((enum tree_code) (var_)->base.code) == VAR_DECL \ |
2017 | && VAR_DECL_IS_VIRTUAL_OPERAND (var_)((tree_check ((var_), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2017, __FUNCTION__, (VAR_DECL)))->base.u.bits.saturating_flag )); \ |
2018 | } \ |
2019 | while (0) |
2020 | |
2021 | /* Returns the statement which defines this SSA name. */ |
2022 | #define SSA_NAME_DEF_STMT(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2022, __FUNCTION__, (SSA_NAME)))->ssa_name.def_stmt SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2022, __FUNCTION__, (SSA_NAME)))->ssa_name.def_stmt |
2023 | |
2024 | /* Returns the SSA version number of this SSA name. Note that in |
2025 | tree SSA, version numbers are not per variable and may be recycled. */ |
2026 | #define SSA_NAME_VERSION(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2026, __FUNCTION__, (SSA_NAME)))->base.u.version SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2026, __FUNCTION__, (SSA_NAME)))->base.u.version |
2027 | |
2028 | /* Nonzero if this SSA name occurs in an abnormal PHI. SSA_NAMES are |
2029 | never output, so we can safely use the ASM_WRITTEN_FLAG for this |
2030 | status bit. */ |
2031 | #define SSA_NAME_OCCURS_IN_ABNORMAL_PHI(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2031, __FUNCTION__, (SSA_NAME)))->base.asm_written_flag \ |
2032 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2032, __FUNCTION__, (SSA_NAME)))->base.asm_written_flag |
2033 | |
2034 | /* Nonzero if this SSA_NAME expression is currently on the free list of |
2035 | SSA_NAMES. Using NOTHROW_FLAG seems reasonably safe since throwing |
2036 | has no meaning for an SSA_NAME. */ |
2037 | #define SSA_NAME_IN_FREE_LIST(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2037, __FUNCTION__, (SSA_NAME)))->base.nothrow_flag \ |
2038 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2038, __FUNCTION__, (SSA_NAME)))->base.nothrow_flag |
2039 | |
2040 | /* Nonzero if this SSA_NAME is the default definition for the |
2041 | underlying symbol. A default SSA name is created for symbol S if |
2042 | the very first reference to S in the function is a read operation. |
2043 | Default definitions are always created by an empty statement and |
2044 | belong to no basic block. */ |
2045 | #define SSA_NAME_IS_DEFAULT_DEF(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2045, __FUNCTION__, (SSA_NAME)))->base.default_def_flag \ |
2046 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2046, __FUNCTION__, (SSA_NAME)))->base.default_def_flag |
2047 | |
2048 | /* Nonzero if this SSA_NAME is known to point to memory that may not |
2049 | be written to. This is set for default defs of function parameters |
2050 | that have a corresponding r or R specification in the functions |
2051 | fn spec attribute. This is used by alias analysis. */ |
2052 | #define SSA_NAME_POINTS_TO_READONLY_MEMORY(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2052, __FUNCTION__, (SSA_NAME)))->base.deprecated_flag \ |
2053 | SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2053, __FUNCTION__, (SSA_NAME)))->base.deprecated_flag |
2054 | |
2055 | /* Attributes for SSA_NAMEs for pointer-type variables. */ |
2056 | #define SSA_NAME_PTR_INFO(N)(tree_check ((N), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2056, __FUNCTION__, (SSA_NAME)))->ssa_name.info.ptr_info \ |
2057 | SSA_NAME_CHECK (N)(tree_check ((N), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2057, __FUNCTION__, (SSA_NAME)))->ssa_name.info.ptr_info |
2058 | |
2059 | /* Value range info attributes for SSA_NAMEs of non pointer-type variables. */ |
2060 | #define SSA_NAME_RANGE_INFO(N)(tree_check ((N), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2060, __FUNCTION__, (SSA_NAME)))->ssa_name.info.range_info \ |
2061 | SSA_NAME_CHECK (N)(tree_check ((N), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2061, __FUNCTION__, (SSA_NAME)))->ssa_name.info.range_info |
2062 | |
2063 | /* Return the immediate_use information for an SSA_NAME. */ |
2064 | #define SSA_NAME_IMM_USE_NODE(NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2064, __FUNCTION__, (SSA_NAME)))->ssa_name.imm_uses SSA_NAME_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2064, __FUNCTION__, (SSA_NAME)))->ssa_name.imm_uses |
2065 | |
2066 | #define OMP_CLAUSE_CODE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2066, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.code \ |
2067 | (OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2067, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.code |
2068 | |
2069 | #define OMP_CLAUSE_SET_CODE(NODE, CODE)(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2069, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.code = ( CODE)) \ |
2070 | ((OMP_CLAUSE_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2070, __FUNCTION__, (OMP_CLAUSE))))->omp_clause.code = (CODE)) |
2071 | |
2072 | #define OMP_CLAUSE_OPERAND(NODE, I)(*(omp_clause_elt_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2072, __FUNCTION__))) \ |
2073 | OMP_CLAUSE_ELT_CHECK (NODE, I)(*(omp_clause_elt_check ((NODE), (I), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2073, __FUNCTION__))) |
2074 | |
2075 | /* In a BLOCK (scope) node: |
2076 | Variables declared in the scope NODE. */ |
2077 | #define BLOCK_VARS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2077, __FUNCTION__, (BLOCK)))->block.vars) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2077, __FUNCTION__, (BLOCK)))->block.vars) |
2078 | #define BLOCK_NONLOCALIZED_VARS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2078, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars) \ |
2079 | (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2079, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars) |
2080 | #define BLOCK_NUM_NONLOCALIZED_VARS(NODE)vec_safe_length (((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2080, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars)) \ |
2081 | vec_safe_length (BLOCK_NONLOCALIZED_VARS (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2081, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars)) |
2082 | #define BLOCK_NONLOCALIZED_VAR(NODE,N)(*((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2082, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars)) [N] (*BLOCK_NONLOCALIZED_VARS (NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2082, __FUNCTION__, (BLOCK)))->block.nonlocalized_vars))[N] |
2083 | /* A chain of BLOCKs (scopes) nested within the scope NODE. */ |
2084 | #define BLOCK_SUBBLOCKS(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2084, __FUNCTION__, (BLOCK)))->block.subblocks) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2084, __FUNCTION__, (BLOCK)))->block.subblocks) |
2085 | /* The scope enclosing the scope NODE, or FUNCTION_DECL for the "outermost" |
2086 | function scope. Inlined functions are chained by this so that given |
2087 | expression E and its TREE_BLOCK(E) B, BLOCK_SUPERCONTEXT(B) is the scope |
2088 | in which E has been made or into which E has been inlined. */ |
2089 | #define BLOCK_SUPERCONTEXT(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2089, __FUNCTION__, (BLOCK)))->block.supercontext) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2089, __FUNCTION__, (BLOCK)))->block.supercontext) |
2090 | /* Points to the next scope at the same level of nesting as scope NODE. */ |
2091 | #define BLOCK_CHAIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2091, __FUNCTION__, (BLOCK)))->block.chain) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2091, __FUNCTION__, (BLOCK)))->block.chain) |
2092 | /* A BLOCK, or FUNCTION_DECL of the function from which a block has been |
2093 | inlined. In a scope immediately enclosing an inlined leaf expression, |
2094 | points to the outermost scope into which it has been inlined (thus |
2095 | bypassing all intermediate BLOCK_SUPERCONTEXTs). */ |
2096 | #define BLOCK_ABSTRACT_ORIGIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2096, __FUNCTION__, (BLOCK)))->block.abstract_origin) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2096, __FUNCTION__, (BLOCK)))->block.abstract_origin) |
2097 | #define BLOCK_ORIGIN(NODE)(((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2097, __FUNCTION__, (BLOCK)))->block.abstract_origin) ? ( (tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2097, __FUNCTION__, (BLOCK)))->block.abstract_origin) : ( NODE)) \ |
2098 | (BLOCK_ABSTRACT_ORIGIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2098, __FUNCTION__, (BLOCK)))->block.abstract_origin) ? BLOCK_ABSTRACT_ORIGIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2098, __FUNCTION__, (BLOCK)))->block.abstract_origin) : (NODE)) |
2099 | #define BLOCK_DIE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2099, __FUNCTION__, (BLOCK)))->block.die) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2099, __FUNCTION__, (BLOCK)))->block.die) |
2100 | |
2101 | /* True if BLOCK has the same ranges as its BLOCK_SUPERCONTEXT. */ |
2102 | #define BLOCK_SAME_RANGE(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2102, __FUNCTION__, (BLOCK)))->base.u.bits.nameless_flag ) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2102, __FUNCTION__, (BLOCK)))->base.u.bits.nameless_flag) |
2103 | |
2104 | /* True if BLOCK appears in cold section. */ |
2105 | #define BLOCK_IN_COLD_SECTION_P(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2105, __FUNCTION__, (BLOCK)))->base.u.bits.atomic_flag) \ |
2106 | (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2106, __FUNCTION__, (BLOCK)))->base.u.bits.atomic_flag) |
2107 | |
2108 | /* An index number for this block. These values are not guaranteed to |
2109 | be unique across functions -- whether or not they are depends on |
2110 | the debugging output format in use. */ |
2111 | #define BLOCK_NUMBER(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2111, __FUNCTION__, (BLOCK)))->block.block_num) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2111, __FUNCTION__, (BLOCK)))->block.block_num) |
2112 | |
2113 | /* If block reordering splits a lexical block into discontiguous |
2114 | address ranges, we'll make a copy of the original block. |
2115 | |
2116 | Note that this is logically distinct from BLOCK_ABSTRACT_ORIGIN. |
2117 | In that case, we have one source block that has been replicated |
2118 | (through inlining or unrolling) into many logical blocks, and that |
2119 | these logical blocks have different physical variables in them. |
2120 | |
2121 | In this case, we have one logical block split into several |
2122 | non-contiguous address ranges. Most debug formats can't actually |
2123 | represent this idea directly, so we fake it by creating multiple |
2124 | logical blocks with the same variables in them. However, for those |
2125 | that do support non-contiguous regions, these allow the original |
2126 | logical block to be reconstructed, along with the set of address |
2127 | ranges. |
2128 | |
2129 | One of the logical block fragments is arbitrarily chosen to be |
2130 | the ORIGIN. The other fragments will point to the origin via |
2131 | BLOCK_FRAGMENT_ORIGIN; the origin itself will have this pointer |
2132 | be null. The list of fragments will be chained through |
2133 | BLOCK_FRAGMENT_CHAIN from the origin. */ |
2134 | |
2135 | #define BLOCK_FRAGMENT_ORIGIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2135, __FUNCTION__, (BLOCK)))->block.fragment_origin) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2135, __FUNCTION__, (BLOCK)))->block.fragment_origin) |
2136 | #define BLOCK_FRAGMENT_CHAIN(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2136, __FUNCTION__, (BLOCK)))->block.fragment_chain) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2136, __FUNCTION__, (BLOCK)))->block.fragment_chain) |
2137 | |
2138 | /* For an inlined function, this gives the location where it was called |
2139 | from. This is only set in the top level block, which corresponds to the |
2140 | inlined function scope. This is used in the debug output routines. */ |
2141 | |
2142 | #define BLOCK_SOURCE_LOCATION(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2142, __FUNCTION__, (BLOCK)))->block.locus) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2142, __FUNCTION__, (BLOCK)))->block.locus) |
2143 | |
2144 | /* This gives the location of the end of the block, useful to attach |
2145 | code implicitly generated for outgoing paths. */ |
2146 | |
2147 | #define BLOCK_SOURCE_END_LOCATION(NODE)((tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2147, __FUNCTION__, (BLOCK)))->block.end_locus) (BLOCK_CHECK (NODE)(tree_check ((NODE), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2147, __FUNCTION__, (BLOCK)))->block.end_locus) |
2148 | |
2149 | /* Define fields and accessors for nodes representing data types. */ |
2150 | |
2151 | /* See tree.def for documentation of the use of these fields. |
2152 | Look at the documentation of the various ..._TYPE tree codes. |
2153 | |
2154 | Note that the type.values, type.minval, and type.maxval fields are |
2155 | overloaded and used for different macros in different kinds of types. |
2156 | Each macro must check to ensure the tree node is of the proper kind of |
2157 | type. Note also that some of the front-ends also overload these fields, |
2158 | so they must be checked as well. */ |
2159 | |
2160 | #define TYPE_UID(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2160, __FUNCTION__))->type_common.uid) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2160, __FUNCTION__))->type_common.uid) |
2161 | /* Type size in bits as a tree expression. Need not be constant and may |
2162 | be greater than TYPE_SIZE for a C++ FIELD_DECL representing a base |
2163 | class subobject with its own virtual base classes (which are laid out |
2164 | separately). */ |
2165 | #define TYPE_SIZE(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2165, __FUNCTION__))->type_common.size) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2165, __FUNCTION__))->type_common.size) |
2166 | /* Likewise, type size in bytes. */ |
2167 | #define TYPE_SIZE_UNIT(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2167, __FUNCTION__))->type_common.size_unit) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2167, __FUNCTION__))->type_common.size_unit) |
2168 | #define TYPE_POINTER_TO(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2168, __FUNCTION__))->type_common.pointer_to) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2168, __FUNCTION__))->type_common.pointer_to) |
2169 | #define TYPE_REFERENCE_TO(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2169, __FUNCTION__))->type_common.reference_to) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2169, __FUNCTION__))->type_common.reference_to) |
2170 | #define TYPE_PRECISION(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2170, __FUNCTION__))->type_common.precision) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2170, __FUNCTION__))->type_common.precision) |
2171 | #define TYPE_NAME(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2171, __FUNCTION__))->type_common.name) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2171, __FUNCTION__))->type_common.name) |
2172 | #define TYPE_NEXT_VARIANT(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2172, __FUNCTION__))->type_common.next_variant) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2172, __FUNCTION__))->type_common.next_variant) |
2173 | #define TYPE_MAIN_VARIANT(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2173, __FUNCTION__))->type_common.main_variant) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2173, __FUNCTION__))->type_common.main_variant) |
2174 | #define TYPE_CONTEXT(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2174, __FUNCTION__))->type_common.context) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2174, __FUNCTION__))->type_common.context) |
2175 | |
2176 | #define TYPE_MODE_RAW(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2176, __FUNCTION__))->type_common.mode) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2176, __FUNCTION__))->type_common.mode) |
2177 | #define TYPE_MODE(NODE)((((enum tree_code) ((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2177, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (NODE) : (NODE)->type_common.mode) \ |
2178 | (VECTOR_TYPE_P (TYPE_CHECK (NODE))(((enum tree_code) ((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2178, __FUNCTION__)))->base.code) == VECTOR_TYPE) \ |
2179 | ? vector_type_mode (NODE) : (NODE)->type_common.mode) |
2180 | #define SCALAR_TYPE_MODE(NODE)(as_a <scalar_mode> ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2180, __FUNCTION__))->type_common.mode)) \ |
2181 | (as_a <scalar_mode> (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2181, __FUNCTION__))->type_common.mode)) |
2182 | #define SCALAR_INT_TYPE_MODE(NODE)(as_a <scalar_int_mode> ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2182, __FUNCTION__))->type_common.mode)) \ |
2183 | (as_a <scalar_int_mode> (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2183, __FUNCTION__))->type_common.mode)) |
2184 | #define SCALAR_FLOAT_TYPE_MODE(NODE)(as_a <scalar_float_mode> ((tree_class_check ((NODE), ( tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2184, __FUNCTION__))->type_common.mode)) \ |
2185 | (as_a <scalar_float_mode> (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2185, __FUNCTION__))->type_common.mode)) |
2186 | #define SET_TYPE_MODE(NODE, MODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2186, __FUNCTION__))->type_common.mode = (MODE)) \ |
2187 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2187, __FUNCTION__))->type_common.mode = (MODE)) |
2188 | |
2189 | extern machine_mode element_mode (const_tree); |
2190 | extern machine_mode vector_type_mode (const_tree); |
2191 | extern unsigned int vector_element_bits (const_tree); |
2192 | extern tree vector_element_bits_tree (const_tree); |
2193 | |
2194 | /* The "canonical" type for this type node, which is used by frontends to |
2195 | compare the type for equality with another type. If two types are |
2196 | equal (based on the semantics of the language), then they will have |
2197 | equivalent TYPE_CANONICAL entries. |
2198 | |
2199 | As a special case, if TYPE_CANONICAL is NULL_TREE, and thus |
2200 | TYPE_STRUCTURAL_EQUALITY_P is true, then it cannot |
2201 | be used for comparison against other types. Instead, the type is |
2202 | said to require structural equality checks, described in |
2203 | TYPE_STRUCTURAL_EQUALITY_P. |
2204 | |
2205 | For unqualified aggregate and function types the middle-end relies on |
2206 | TYPE_CANONICAL to tell whether two variables can be assigned |
2207 | to each other without a conversion. The middle-end also makes sure |
2208 | to assign the same alias-sets to the type partition with equal |
2209 | TYPE_CANONICAL of their unqualified variants. */ |
2210 | #define TYPE_CANONICAL(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2210, __FUNCTION__))->type_common.canonical) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2210, __FUNCTION__))->type_common.canonical) |
2211 | /* Indicates that the type node requires structural equality |
2212 | checks. The compiler will need to look at the composition of the |
2213 | type to determine whether it is equal to another type, rather than |
2214 | just comparing canonical type pointers. For instance, we would need |
2215 | to look at the return and parameter types of a FUNCTION_TYPE |
2216 | node. */ |
2217 | #define TYPE_STRUCTURAL_EQUALITY_P(NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2217, __FUNCTION__))->type_common.canonical) == (tree) nullptr ) (TYPE_CANONICAL (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2217, __FUNCTION__))->type_common.canonical) == NULL_TREE(tree) nullptr) |
2218 | /* Sets the TYPE_CANONICAL field to NULL_TREE, indicating that the |
2219 | type node requires structural equality. */ |
2220 | #define SET_TYPE_STRUCTURAL_EQUALITY(NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2220, __FUNCTION__))->type_common.canonical) = (tree) nullptr ) (TYPE_CANONICAL (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2220, __FUNCTION__))->type_common.canonical) = NULL_TREE(tree) nullptr) |
2221 | |
2222 | #define TYPE_IBIT(NODE)(mode_ibit[((((enum tree_code) ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2222, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (NODE) : (NODE)->type_common.mode)]) (GET_MODE_IBIT (TYPE_MODE (NODE))mode_ibit[((((enum tree_code) ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2222, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (NODE) : (NODE)->type_common.mode)]) |
2223 | #define TYPE_FBIT(NODE)(mode_fbit[((((enum tree_code) ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2223, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (NODE) : (NODE)->type_common.mode)]) (GET_MODE_FBIT (TYPE_MODE (NODE))mode_fbit[((((enum tree_code) ((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2223, __FUNCTION__)))->base.code) == VECTOR_TYPE) ? vector_type_mode (NODE) : (NODE)->type_common.mode)]) |
2224 | |
2225 | /* The (language-specific) typed-based alias set for this type. |
2226 | Objects whose TYPE_ALIAS_SETs are different cannot alias each |
2227 | other. If the TYPE_ALIAS_SET is -1, no alias set has yet been |
2228 | assigned to this type. If the TYPE_ALIAS_SET is 0, objects of this |
2229 | type can alias objects of any type. */ |
2230 | #define TYPE_ALIAS_SET(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2230, __FUNCTION__))->type_common.alias_set) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2230, __FUNCTION__))->type_common.alias_set) |
2231 | |
2232 | /* Nonzero iff the typed-based alias set for this type has been |
2233 | calculated. */ |
2234 | #define TYPE_ALIAS_SET_KNOWN_P(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2234, __FUNCTION__))->type_common.alias_set != -1) \ |
2235 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2235, __FUNCTION__))->type_common.alias_set != -1) |
2236 | |
2237 | /* A TREE_LIST of IDENTIFIER nodes of the attributes that apply |
2238 | to this type. */ |
2239 | #define TYPE_ATTRIBUTES(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2239, __FUNCTION__))->type_common.attributes) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2239, __FUNCTION__))->type_common.attributes) |
2240 | |
2241 | /* Raw access to the alignment field. */ |
2242 | #define TYPE_ALIGN_RAW(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2242, __FUNCTION__))->type_common.align) \ |
2243 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2243, __FUNCTION__))->type_common.align) |
2244 | |
2245 | /* The alignment necessary for objects of this type. |
2246 | The value is an int, measured in bits and must be a power of two. |
2247 | We support also an "alignment" of zero. */ |
2248 | #define TYPE_ALIGN(NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2248, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2248, __FUNCTION__))->type_common.align) - 1) : 0) \ |
2249 | (TYPE_ALIGN_RAW (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2249, __FUNCTION__))->type_common.align) \ |
2250 | ? ((unsigned)1) << (TYPE_ALIGN_RAW(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2250, __FUNCTION__))->type_common.align) - 1) : 0) |
2251 | |
2252 | /* Specify that TYPE_ALIGN(NODE) is X. */ |
2253 | #define SET_TYPE_ALIGN(NODE, X)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2253, __FUNCTION__))->type_common.align = ffs_hwi (X)) \ |
2254 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2254, __FUNCTION__))->type_common.align = ffs_hwi (X)) |
2255 | |
2256 | /* 1 if the alignment for this type was requested by "aligned" attribute, |
2257 | 0 if it is the default for this type. */ |
2258 | #define TYPE_USER_ALIGN(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2258, __FUNCTION__))->base.u.bits.user_align) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2258, __FUNCTION__))->base.u.bits.user_align) |
2259 | |
2260 | /* The alignment for NODE, in bytes. */ |
2261 | #define TYPE_ALIGN_UNIT(NODE)((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2261, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2261, __FUNCTION__))->type_common.align) - 1) : 0) / (8) ) (TYPE_ALIGN (NODE)(((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2261, __FUNCTION__))->type_common.align) ? ((unsigned)1) << (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2261, __FUNCTION__))->type_common.align) - 1) : 0) / BITS_PER_UNIT(8)) |
2262 | |
2263 | /* The minimum alignment necessary for objects of this type without |
2264 | warning. The value is an int, measured in bits. */ |
2265 | #define TYPE_WARN_IF_NOT_ALIGN(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2265, __FUNCTION__))->type_common.warn_if_not_align ? (( unsigned)1) << ((NODE)->type_common.warn_if_not_align - 1) : 0) \ |
2266 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2266, __FUNCTION__))->type_common.warn_if_not_align \ |
2267 | ? ((unsigned)1) << ((NODE)->type_common.warn_if_not_align - 1) : 0) |
2268 | |
2269 | /* Specify that TYPE_WARN_IF_NOT_ALIGN(NODE) is X. */ |
2270 | #define SET_TYPE_WARN_IF_NOT_ALIGN(NODE, X)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2270, __FUNCTION__))->type_common.warn_if_not_align = ffs_hwi (X)) \ |
2271 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2271, __FUNCTION__))->type_common.warn_if_not_align = ffs_hwi (X)) |
2272 | |
2273 | /* If your language allows you to declare types, and you want debug info |
2274 | for them, then you need to generate corresponding TYPE_DECL nodes. |
2275 | These "stub" TYPE_DECL nodes have no name, and simply point at the |
2276 | type node. You then set the TYPE_STUB_DECL field of the type node |
2277 | to point back at the TYPE_DECL node. This allows the debug routines |
2278 | to know that the two nodes represent the same type, so that we only |
2279 | get one debug info record for them. */ |
2280 | #define TYPE_STUB_DECL(NODE)(((contains_struct_check (((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2280, __FUNCTION__))), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2280, __FUNCTION__))->common.chain)) (TREE_CHAIN (TYPE_CHECK (NODE))((contains_struct_check (((tree_class_check ((NODE), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2280, __FUNCTION__))), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2280, __FUNCTION__))->common.chain)) |
2281 | |
2282 | /* In a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ARRAY_TYPE, it means |
2283 | the type has BLKmode only because it lacks the alignment required for |
2284 | its size. */ |
2285 | #define TYPE_NO_FORCE_BLK(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2285, __FUNCTION__))->type_common.no_force_blk_flag) \ |
2286 | (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2286, __FUNCTION__))->type_common.no_force_blk_flag) |
2287 | |
2288 | /* Nonzero in a type considered volatile as a whole. */ |
2289 | #define TYPE_VOLATILE(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2289, __FUNCTION__))->base.volatile_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2289, __FUNCTION__))->base.volatile_flag) |
2290 | |
2291 | /* Nonzero in a type considered atomic as a whole. */ |
2292 | #define TYPE_ATOMIC(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2292, __FUNCTION__))->base.u.bits.atomic_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2292, __FUNCTION__))->base.u.bits.atomic_flag) |
2293 | |
2294 | /* Means this type is const-qualified. */ |
2295 | #define TYPE_READONLY(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2295, __FUNCTION__))->base.readonly_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2295, __FUNCTION__))->base.readonly_flag) |
2296 | |
2297 | /* If nonzero, this type is `restrict'-qualified, in the C sense of |
2298 | the term. */ |
2299 | #define TYPE_RESTRICT(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2299, __FUNCTION__))->type_common.restrict_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2299, __FUNCTION__))->type_common.restrict_flag) |
2300 | |
2301 | /* If nonzero, type's name shouldn't be emitted into debug info. */ |
2302 | #define TYPE_NAMELESS(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2302, __FUNCTION__))->base.u.bits.nameless_flag) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2302, __FUNCTION__))->base.u.bits.nameless_flag) |
2303 | |
2304 | /* The address space the type is in. */ |
2305 | #define TYPE_ADDR_SPACE(NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2305, __FUNCTION__))->base.u.bits.address_space) (TYPE_CHECK (NODE)(tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2305, __FUNCTION__))->base.u.bits.address_space) |
2306 | |
2307 | /* Encode/decode the named memory support as part of the qualifier. If more |
2308 | than 8 qualifiers are added, these macros need to be adjusted. */ |
2309 | #define ENCODE_QUAL_ADDR_SPACE(NUM)((NUM & 0xFF) << 8) ((NUM & 0xFF) << 8) |
2310 | #define DECODE_QUAL_ADDR_SPACE(X)(((X) >> 8) & 0xFF) (((X) >> 8) & 0xFF) |
2311 | |
2312 | /* Return all qualifiers except for the address space qualifiers. */ |
2313 | #define CLEAR_QUAL_ADDR_SPACE(X)((X) & ~0xFF00) ((X) & ~0xFF00) |
2314 | |
2315 | /* Only keep the address space out of the qualifiers and discard the other |
2316 | qualifiers. */ |
2317 | #define KEEP_QUAL_ADDR_SPACE(X)((X) & 0xFF00) ((X) & 0xFF00) |
2318 | |
2319 | /* The set of type qualifiers for this type. */ |
2320 | #define TYPE_QUALS(NODE)((int) ((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2320, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2320, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2320, __FUNCTION__))->base.u.bits.atomic_flag) * TYPE_QUAL_ATOMIC ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2320, __FUNCTION__))->type_common.restrict_flag) * TYPE_QUAL_RESTRICT ) | (((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2320, __FUNCTION__))->base.u.bits.address_space) & 0xFF ) << 8)))) \ |
2321 | ((int) ((TYPE_READONLY (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2321, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST) \ |
2322 | | (TYPE_VOLATILE (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2322, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE) \ |
2323 | | (TYPE_ATOMIC (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2323, __FUNCTION__))->base.u.bits.atomic_flag) * TYPE_QUAL_ATOMIC) \ |
2324 | | (TYPE_RESTRICT (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2324, __FUNCTION__))->type_common.restrict_flag) * TYPE_QUAL_RESTRICT) \ |
2325 | | (ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (NODE))((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2325, __FUNCTION__))->base.u.bits.address_space) & 0xFF ) << 8)))) |
2326 | |
2327 | /* The same as TYPE_QUALS without the address space qualifications. */ |
2328 | #define TYPE_QUALS_NO_ADDR_SPACE(NODE)((int) ((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2328, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2328, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2328, __FUNCTION__))->base.u.bits.atomic_flag) * TYPE_QUAL_ATOMIC ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2328, __FUNCTION__))->type_common.restrict_flag) * TYPE_QUAL_RESTRICT ))) \ |
2329 | ((int) ((TYPE_READONLY (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2329, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST) \ |
2330 | | (TYPE_VOLATILE (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2330, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE) \ |
2331 | | (TYPE_ATOMIC (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2331, __FUNCTION__))->base.u.bits.atomic_flag) * TYPE_QUAL_ATOMIC) \ |
2332 | | (TYPE_RESTRICT (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2332, __FUNCTION__))->type_common.restrict_flag) * TYPE_QUAL_RESTRICT))) |
2333 | |
2334 | /* The same as TYPE_QUALS without the address space and atomic |
2335 | qualifications. */ |
2336 | #define TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC(NODE)((int) ((((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2336, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2336, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE ) | (((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2336, __FUNCTION__))->type_common.restrict_flag) * TYPE_QUAL_RESTRICT ))) \ |
2337 | ((int) ((TYPE_READONLY (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2337, __FUNCTION__))->base.readonly_flag) * TYPE_QUAL_CONST) \ |
2338 | | (TYPE_VOLATILE (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" , 2338, __FUNCTION__))->base.volatile_flag) * TYPE_QUAL_VOLATILE) \ |
2339 | | (TYPE_RESTRICT (NODE)((tree_class_check ((NODE), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/tree.h" |