149#define MARK_TS_BASE(C) \
150 (tree_contains_struct[C][TS_BASE] = true)
152#define MARK_TS_TYPED(C) \
154 tree_contains_struct[C][TS_TYPED] = true)
156#define MARK_TS_COMMON(C) \
157 (MARK_TS_TYPED (C), \
158 tree_contains_struct[C][TS_COMMON] = true)
160#define MARK_TS_TYPE_COMMON(C) \
161 (MARK_TS_COMMON (C), \
162 tree_contains_struct[C][TS_TYPE_COMMON] = true)
164#define MARK_TS_TYPE_WITH_LANG_SPECIFIC(C) \
165 (MARK_TS_TYPE_COMMON (C), \
166 tree_contains_struct[C][TS_TYPE_WITH_LANG_SPECIFIC] = true)
168#define MARK_TS_TYPE_NON_COMMON(C) \
169 (MARK_TS_TYPE_WITH_LANG_SPECIFIC (C), \
170 tree_contains_struct[C][TS_TYPE_NON_COMMON] = true) \
172#define MARK_TS_DECL_MINIMAL(C) \
173 (MARK_TS_COMMON (C), \
174 tree_contains_struct[C][TS_DECL_MINIMAL] = true)
176#define MARK_TS_DECL_COMMON(C) \
177 (MARK_TS_DECL_MINIMAL (C), \
178 tree_contains_struct[C][TS_DECL_COMMON] = true)
180#define MARK_TS_DECL_WRTL(C) \
181 (MARK_TS_DECL_COMMON (C), \
182 tree_contains_struct[C][TS_DECL_WRTL] = true)
184#define MARK_TS_DECL_WITH_VIS(C) \
185 (MARK_TS_DECL_WRTL (C), \
186 tree_contains_struct[C][TS_DECL_WITH_VIS] = true)
188#define MARK_TS_DECL_NON_COMMON(C) \
189 (MARK_TS_DECL_WITH_VIS (C), \
190 tree_contains_struct[C][TS_DECL_NON_COMMON] = true)
192#define MARK_TS_EXP(C) \
193 (MARK_TS_TYPED (C), \
194 tree_contains_struct[C][TS_EXP] = true)
198#define TREE_CODE_CLASS_STRING(CLASS)\
199 tree_code_class_strings[(int) (CLASS)]
201#if __cpp_inline_variables < 201606L
202#define TREE_CODE_CLASS(CODE) \
203 tree_code_type_tmpl <0>::tree_code_type[(int) (CODE)]
205#define TREE_CODE_CLASS(CODE) tree_code_type[(int) (CODE)]
210#define EXCEPTIONAL_CLASS_P(NODE)\
211 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_exceptional)
215#define CONSTANT_CLASS_P(NODE)\
216 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_constant)
221#define CONSTANT_CLASS_OR_WRAPPER_P(NODE)\
222 (CONSTANT_CLASS_P (tree_strip_any_location_wrapper (NODE)))
227 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_type)
232 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_declaration)
236 (TREE_CODE (NODE) == VAR_DECL)
240#define VAR_OR_FUNCTION_DECL_P(DECL)\
241 (TREE_CODE (DECL) == VAR_DECL || TREE_CODE (DECL) == FUNCTION_DECL)
246#define INDIRECT_REF_P(NODE)\
247 (TREE_CODE (NODE) == INDIRECT_REF)
251#define REFERENCE_CLASS_P(NODE)\
252 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_reference)
256#define COMPARISON_CLASS_P(NODE)\
257 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_comparison)
261#define UNARY_CLASS_P(NODE)\
262 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_unary)
266#define BINARY_CLASS_P(NODE)\
267 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_binary)
271#define STATEMENT_CLASS_P(NODE)\
272 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_statement)
277#define VL_EXP_CLASS_P(NODE)\
278 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_vl_exp)
282#define EXPRESSION_CLASS_P(NODE)\
283 (TREE_CODE_CLASS (TREE_CODE (NODE)) == tcc_expression)
287#define IS_TYPE_OR_DECL_P(NODE)\
288 (TYPE_P (NODE) || DECL_P (NODE))
293#define IS_EXPR_CODE_CLASS(CLASS)\
294 ((CLASS) >= tcc_reference && (CLASS) <= tcc_expression)
298#define EXPR_P(NODE) IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (NODE)))
300#if __cpp_inline_variables < 201606L
301#define TREE_CODE_LENGTH(CODE) \
302 tree_code_length_tmpl <0>::tree_code_length[(int) (CODE)]
304#define TREE_CODE_LENGTH(CODE) tree_code_length[(int) (CODE)]
310#define CASE_FLT_FN(FN) case FN: case FN##F: case FN##L
311#define CASE_FLT_FN_FLOATN_NX(FN) \
312 case FN##F16: case FN##F32: case FN##F64: case FN##F128: \
313 case FN##F32X: case FN##F64X: case FN##F128X
314#define CASE_FLT_FN_REENT(FN) case FN##_R: case FN##F_R: case FN##L_R
315#define CASE_INT_FN(FN) case FN: case FN##L: case FN##LL: case FN##IMAX
317#define NULL_TREE (tree) NULL
324#define TREE_CODE(NODE) ((enum tree_code) (NODE)->base.code)
325#define TREE_SET_CODE(NODE, VALUE) ((NODE)->base.code = (VALUE))
329#if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007)
331#define TREE_CHECK(T, CODE) \
332(tree_check ((T), __FILE__, __LINE__, __FUNCTION__, (CODE)))
334#define TREE_NOT_CHECK(T, CODE) \
335(tree_not_check ((T), __FILE__, __LINE__, __FUNCTION__, (CODE)))
337#define TREE_CHECK2(T, CODE1, CODE2) \
338(tree_check2 ((T), __FILE__, __LINE__, __FUNCTION__, (CODE1), (CODE2)))
340#define TREE_NOT_CHECK2(T, CODE1, CODE2) \
341(tree_not_check2 ((T), __FILE__, __LINE__, __FUNCTION__, (CODE1), (CODE2)))
343#define TREE_CHECK3(T, CODE1, CODE2, CODE3) \
344(tree_check3 ((T), __FILE__, __LINE__, __FUNCTION__, (CODE1), (CODE2), (CODE3)))
346#define TREE_NOT_CHECK3(T, CODE1, CODE2, CODE3) \
347(tree_not_check3 ((T), __FILE__, __LINE__, __FUNCTION__, \
348 (CODE1), (CODE2), (CODE3)))
350#define TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4) \
351(tree_check4 ((T), __FILE__, __LINE__, __FUNCTION__, \
352 (CODE1), (CODE2), (CODE3), (CODE4)))
354#define TREE_NOT_CHECK4(T, CODE1, CODE2, CODE3, CODE4) \
355(tree_not_check4 ((T), __FILE__, __LINE__, __FUNCTION__, \
356 (CODE1), (CODE2), (CODE3), (CODE4)))
358#define TREE_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) \
359(tree_check5 ((T), __FILE__, __LINE__, __FUNCTION__, \
360 (CODE1), (CODE2), (CODE3), (CODE4), (CODE5)))
362#define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) \
363(tree_not_check5 ((T), __FILE__, __LINE__, __FUNCTION__, \
364 (CODE1), (CODE2), (CODE3), (CODE4), (CODE5)))
366#define TREE_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) \
367(tree_check6 ((T), __FILE__, __LINE__, __FUNCTION__, \
368 (CODE1), (CODE2), (CODE3), (CODE4), (CODE5), (CODE6)))
370#define TREE_NOT_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) \
371(tree_not_check6 ((T), __FILE__, __LINE__, __FUNCTION__, \
372 (CODE1), (CODE2), (CODE3), (CODE4), (CODE5), (CODE6)))
374#define CONTAINS_STRUCT_CHECK(T, STRUCT) \
375(contains_struct_check ((T), (STRUCT), __FILE__, __LINE__, __FUNCTION__))
377#define TREE_CLASS_CHECK(T, CLASS) \
378(tree_class_check ((T), (CLASS), __FILE__, __LINE__, __FUNCTION__))
380#define TREE_RANGE_CHECK(T, CODE1, CODE2) \
381(tree_range_check ((T), (CODE1), (CODE2), __FILE__, __LINE__, __FUNCTION__))
383#define OMP_CLAUSE_SUBCODE_CHECK(T, CODE) \
384(omp_clause_subcode_check ((T), (CODE), __FILE__, __LINE__, __FUNCTION__))
386#define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2) \
387(omp_clause_range_check ((T), (CODE1), (CODE2), \
388 __FILE__, __LINE__, __FUNCTION__))
391#define EXPR_CHECK(T) \
392(expr_check ((T), __FILE__, __LINE__, __FUNCTION__))
395#define NON_TYPE_CHECK(T) \
396(non_type_check ((T), __FILE__, __LINE__, __FUNCTION__))
399#define ANY_INTEGRAL_TYPE_CHECK(T) \
400(any_integral_type_check ((T), __FILE__, __LINE__, __FUNCTION__))
402#define TREE_INT_CST_ELT_CHECK(T, I) \
403(*tree_int_cst_elt_check ((T), (I), __FILE__, __LINE__, __FUNCTION__))
405#define TREE_VEC_ELT_CHECK(T, I) \
406(*(CONST_CAST2 (tree *, typeof (T)*, \
407 tree_vec_elt_check ((T), (I), __FILE__, __LINE__, __FUNCTION__))))
409#define OMP_CLAUSE_ELT_CHECK(T, I) \
410(*(omp_clause_elt_check ((T), (I), __FILE__, __LINE__, __FUNCTION__)))
413#define TREE_OPERAND_CHECK(T, I) \
414(*(CONST_CAST2 (tree*, typeof (T)*, \
415 tree_operand_check ((T), (I), __FILE__, __LINE__, __FUNCTION__))))
417#define TREE_OPERAND_CHECK_CODE(T, CODE, I) \
418(*(tree_operand_check_code ((T), (CODE), (I), \
419 __FILE__, __LINE__, __FUNCTION__)))
430#define TREE_CHAIN(NODE) \
431(CONTAINS_STRUCT_CHECK (NODE, TS_COMMON)->common.chain)
437#define TREE_TYPE(NODE) \
438(CONTAINS_STRUCT_CHECK (NODE, TS_TYPED)->typed.type)
440extern void tree_contains_struct_check_failed (
const_tree,
442 const char *,
int,
const char *)
445extern void tree_check_failed (
const_tree,
const char *,
int,
const char *,
447extern
void tree_not_check_failed (
const_tree, const
char *,
int, const
char *,
450 const
char *,
int, const
char *)
452extern
void tree_range_check_failed (
const_tree, const
char *,
int,
456extern
void tree_not_class_check_failed (
const_tree,
458 const
char *,
int, const
char *)
460extern
void tree_int_cst_elt_check_failed (
int,
int, const
char *,
463extern
void tree_vec_elt_check_failed (
int,
int, const
char *,
466extern
void phi_node_elt_check_failed (
int,
int, const
char *,
469extern
void tree_operand_check_failed (
int,
const_tree,
470 const
char *,
int, const
char *)
472extern
void omp_clause_check_failed (
const_tree, const
char *,
int,
475extern
void omp_clause_operand_check_failed (
int,
const_tree, const
char *,
478extern
void omp_clause_range_check_failed (
const_tree, const
char *,
int,
485#define CONTAINS_STRUCT_CHECK(T, ENUM) (T)
486#define TREE_CHECK(T, CODE) (T)
487#define TREE_NOT_CHECK(T, CODE) (T)
488#define TREE_CHECK2(T, CODE1, CODE2) (T)
489#define TREE_NOT_CHECK2(T, CODE1, CODE2) (T)
490#define TREE_CHECK3(T, CODE1, CODE2, CODE3) (T)
491#define TREE_NOT_CHECK3(T, CODE1, CODE2, CODE3) (T)
492#define TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4) (T)
493#define TREE_NOT_CHECK4(T, CODE1, CODE2, CODE3, CODE4) (T)
494#define TREE_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) (T)
495#define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) (T)
496#define TREE_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) (T)
497#define TREE_NOT_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) (T)
498#define TREE_CLASS_CHECK(T, CODE) (T)
499#define TREE_RANGE_CHECK(T, CODE1, CODE2) (T)
500#define EXPR_CHECK(T) (T)
501#define NON_TYPE_CHECK(T) (T)
502#define TREE_INT_CST_ELT_CHECK(T, I) ((T)->int_cst.val[I])
503#define TREE_VEC_ELT_CHECK(T, I) ((T)->vec.a[I])
504#define TREE_OPERAND_CHECK(T, I) ((T)->exp.operands[I])
505#define TREE_OPERAND_CHECK_CODE(T, CODE, I) ((T)->exp.operands[I])
506#define OMP_CLAUSE_ELT_CHECK(T, i) ((T)->omp_clause.ops[i])
507#define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2) (T)
508#define OMP_CLAUSE_SUBCODE_CHECK(T, CODE) (T)
509#define ANY_INTEGRAL_TYPE_CHECK(T) (T)
511#define TREE_CHAIN(NODE) ((NODE)->common.chain)
512#define TREE_TYPE(NODE) ((NODE)->typed.type)
516#define TREE_BLOCK(NODE) (tree_block (NODE))
517#define TREE_SET_BLOCK(T, B) (tree_set_block ((T), (B)))
519#include "tree-check.h"
521#define TYPE_CHECK(T) TREE_CLASS_CHECK (T, tcc_type)
522#define DECL_MINIMAL_CHECK(T) CONTAINS_STRUCT_CHECK (T, TS_DECL_MINIMAL)
523#define DECL_COMMON_CHECK(T) CONTAINS_STRUCT_CHECK (T, TS_DECL_COMMON)
524#define DECL_WRTL_CHECK(T) CONTAINS_STRUCT_CHECK (T, TS_DECL_WRTL)
525#define DECL_WITH_VIS_CHECK(T) CONTAINS_STRUCT_CHECK (T, TS_DECL_WITH_VIS)
526#define DECL_NON_COMMON_CHECK(T) CONTAINS_STRUCT_CHECK (T, TS_DECL_NON_COMMON)
527#define CST_CHECK(T) TREE_CLASS_CHECK (T, tcc_constant)
528#define STMT_CHECK(T) TREE_CLASS_CHECK (T, tcc_statement)
529#define VL_EXP_CHECK(T) TREE_CLASS_CHECK (T, tcc_vl_exp)
530#define FUNC_OR_METHOD_CHECK(T) TREE_CHECK2 (T, FUNCTION_TYPE, METHOD_TYPE)
531#define PTR_OR_REF_CHECK(T) TREE_CHECK2 (T, POINTER_TYPE, REFERENCE_TYPE)
533#define RECORD_OR_UNION_CHECK(T) \
534 TREE_CHECK3 (T, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE)
535#define NOT_RECORD_OR_UNION_CHECK(T) \
536 TREE_NOT_CHECK3 (T, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE)
537#define ARRAY_OR_INTEGER_TYPE_CHECK(T) \
538 TREE_CHECK2 (T, ARRAY_TYPE, INTEGER_TYPE)
540#define NUMERICAL_TYPE_CHECK(T) \
541 TREE_CHECK6 (T, INTEGER_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, REAL_TYPE, \
542 FIXED_POINT_TYPE, BITINT_TYPE)
546#define TYPE_HASH(TYPE) (TYPE_UID (TYPE))
550#define TREE_HASH(NODE) ((size_t) (NODE) & 0777777)
553#define CONVERT_EXPR_CODE_P(CODE) \
554 ((CODE) == NOP_EXPR || (CODE) == CONVERT_EXPR)
557#define CONVERT_EXPR_P(EXP) CONVERT_EXPR_CODE_P (TREE_CODE (EXP))
561#define CASE_CONVERT \
569#define STRIP_NOPS(EXP) \
570 (EXP) = tree_strip_nop_conversions (CONST_CAST_TREE (EXP))
574#define STRIP_SIGN_NOPS(EXP) \
575 (EXP) = tree_strip_sign_nop_conversions (CONST_CAST_TREE (EXP))
579#define STRIP_TYPE_NOPS(EXP) \
580 while ((CONVERT_EXPR_P (EXP) \
581 || TREE_CODE (EXP) == NON_LVALUE_EXPR) \
582 && TREE_OPERAND (EXP, 0) != error_mark_node \
583 && (TREE_TYPE (EXP) \
584 == TREE_TYPE (TREE_OPERAND (EXP, 0)))) \
585 (EXP) = TREE_OPERAND (EXP, 0)
590#define STRIP_USELESS_TYPE_CONVERSION(EXP) \
591 (EXP) = tree_ssa_strip_useless_type_conversions (EXP)
596#define STRIP_ANY_LOCATION_WRAPPER(EXP) \
597 (EXP) = tree_strip_any_location_wrapper (CONST_CAST_TREE (EXP))
601#define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
605#define VECTOR_BOOLEAN_TYPE_P(TYPE) \
606 (TREE_CODE (TYPE) == VECTOR_TYPE \
607 && TREE_CODE (TREE_TYPE (TYPE)) == BOOLEAN_TYPE)
613#define INTEGRAL_TYPE_P(TYPE) \
614 (TREE_CODE (TYPE) == ENUMERAL_TYPE \
615 || TREE_CODE (TYPE) == BOOLEAN_TYPE \
616 || TREE_CODE (TYPE) == INTEGER_TYPE \
617 || TREE_CODE (TYPE) == BITINT_TYPE)
622#define ANY_INTEGRAL_TYPE_P(TYPE) \
623 (INTEGRAL_TYPE_P (TYPE) \
624 || ((TREE_CODE (TYPE) == COMPLEX_TYPE \
625 || VECTOR_TYPE_P (TYPE)) \
626 && INTEGRAL_TYPE_P (TREE_TYPE (TYPE))))
630#define BITINT_TYPE_P(TYPE) (TREE_CODE (TYPE) == BITINT_TYPE)
634#define NON_SAT_FIXED_POINT_TYPE_P(TYPE) \
635 (TREE_CODE (TYPE) == FIXED_POINT_TYPE && !TYPE_SATURATING (TYPE))
639#define SAT_FIXED_POINT_TYPE_P(TYPE) \
640 (TREE_CODE (TYPE) == FIXED_POINT_TYPE && TYPE_SATURATING (TYPE))
644#define FIXED_POINT_TYPE_P(TYPE) (TREE_CODE (TYPE) == FIXED_POINT_TYPE)
648#define SCALAR_FLOAT_TYPE_P(TYPE) (TREE_CODE (TYPE) == REAL_TYPE)
652#define COMPLEX_FLOAT_TYPE_P(TYPE) \
653 (TREE_CODE (TYPE) == COMPLEX_TYPE \
654 && TREE_CODE (TREE_TYPE (TYPE)) == REAL_TYPE)
658#define VECTOR_INTEGER_TYPE_P(TYPE) \
659 (VECTOR_TYPE_P (TYPE) \
660 && TREE_CODE (TREE_TYPE (TYPE)) == INTEGER_TYPE)
665#define VECTOR_FLOAT_TYPE_P(TYPE) \
666 (VECTOR_TYPE_P (TYPE) \
667 && TREE_CODE (TREE_TYPE (TYPE)) == REAL_TYPE)
673#define FLOAT_TYPE_P(TYPE) \
674 (SCALAR_FLOAT_TYPE_P (TYPE) \
675 || ((TREE_CODE (TYPE) == COMPLEX_TYPE \
676 || VECTOR_TYPE_P (TYPE)) \
677 && SCALAR_FLOAT_TYPE_P (TREE_TYPE (TYPE))))
680#define DECIMAL_FLOAT_TYPE_P(TYPE) \
681 (SCALAR_FLOAT_TYPE_P (TYPE) \
682 && DECIMAL_FLOAT_MODE_P (TYPE_MODE (TYPE)))
685#define RECORD_OR_UNION_TYPE_P(TYPE) \
686 (TREE_CODE (TYPE) == RECORD_TYPE \
687 || TREE_CODE (TYPE) == UNION_TYPE \
688 || TREE_CODE (TYPE) == QUAL_UNION_TYPE)
693#define AGGREGATE_TYPE_P(TYPE) \
694 (TREE_CODE (TYPE) == ARRAY_TYPE || RECORD_OR_UNION_TYPE_P (TYPE))
700#define POINTER_TYPE_P(TYPE) \
701 (TREE_CODE (TYPE) == POINTER_TYPE || TREE_CODE (TYPE) == REFERENCE_TYPE)
704#define FUNCTION_POINTER_TYPE_P(TYPE) \
705 (POINTER_TYPE_P (TYPE) && TREE_CODE (TREE_TYPE (TYPE)) == FUNCTION_TYPE)
708#define COMPLETE_TYPE_P(NODE) (TYPE_SIZE (NODE) != NULL_TREE)
711#define VOID_TYPE_P(NODE) (TREE_CODE (NODE) == VOID_TYPE)
714#define COMPLETE_OR_VOID_TYPE_P(NODE) \
715 (COMPLETE_TYPE_P (NODE) || VOID_TYPE_P (NODE))
718#define COMPLETE_OR_UNBOUND_ARRAY_TYPE_P(NODE) \
719 (COMPLETE_TYPE_P (TREE_CODE (NODE) == ARRAY_TYPE ? TREE_TYPE (NODE) : (NODE)))
721#define FUNC_OR_METHOD_TYPE_P(NODE) \
722 (TREE_CODE (NODE) == FUNCTION_TYPE || TREE_CODE (NODE) == METHOD_TYPE)
724#define OPAQUE_TYPE_P(NODE) \
725 (TREE_CODE (NODE) == OPAQUE_TYPE)
744#define TREE_ADDRESSABLE(NODE) ((NODE)->base.addressable_flag)
749#define CALL_EXPR_TAILCALL(NODE) \
750 (CALL_EXPR_CHECK (NODE)->base.addressable_flag)
754#define CALL_EXPR_MUST_TAIL_CALL(NODE) \
755 (CALL_EXPR_CHECK (NODE)->base.static_flag)
759#define CASE_LOW_SEEN(NODE) \
760 (CASE_LABEL_EXPR_CHECK (NODE)->base.addressable_flag)
762#define PREDICT_EXPR_OUTCOME(NODE) \
763 ((enum prediction) (PREDICT_EXPR_CHECK (NODE)->base.addressable_flag))
764#define SET_PREDICT_EXPR_OUTCOME(NODE, OUTCOME) \
765 (PREDICT_EXPR_CHECK (NODE)->base.addressable_flag = (int) OUTCOME)
766#define PREDICT_EXPR_PREDICTOR(NODE) \
767 ((enum br_predictor)tree_to_shwi (TREE_OPERAND (PREDICT_EXPR_CHECK (NODE), 0)))
772#define TREE_STATIC(NODE) ((NODE)->base.static_flag)
775#define TREE_NO_TRAMPOLINE(NODE) (ADDR_EXPR_CHECK (NODE)->base.static_flag)
780#define CLEANUP_EH_ONLY(NODE) ((NODE)->base.static_flag)
784#define TRY_CATCH_IS_CLEANUP(NODE) \
785 (TRY_CATCH_EXPR_CHECK (NODE)->base.static_flag)
789#define CASE_HIGH_SEEN(NODE) \
790 (CASE_LABEL_EXPR_CHECK (NODE)->base.static_flag)
793#define ENUM_IS_SCOPED(NODE) (ENUMERAL_TYPE_CHECK (NODE)->base.static_flag)
796#define ENUM_IS_OPAQUE(NODE) (ENUMERAL_TYPE_CHECK (NODE)->base.private_flag)
803#define TREE_NO_WARNING(NODE) ((NODE)->base.nowarning_flag)
807#define TRANSLATION_UNIT_WARN_EMPTY_P(NODE) \
808 (TRANSLATION_UNIT_DECL_CHECK (NODE)->decl_common.decl_flag_0)
811#define TYPE_EMPTY_P(NODE) (TYPE_CHECK (NODE)->type_common.empty_flag)
814#define TYPE_ARTIFICIAL(NODE) (TYPE_CHECK (NODE)->base.nowarning_flag)
819#define TYPE_INDIVISIBLE_P(NODE) (TYPE_CHECK (NODE)->type_common.indivisible_p)
824#define TYPE_NO_NAMED_ARGS_STDARG_P(NODE) \
825 (FUNC_OR_METHOD_CHECK (NODE)->type_common.no_named_args_stdarg_p)
829#define TYPE_INCLUDES_FLEXARRAY(NODE) \
830 (RECORD_OR_UNION_CHECK (NODE)->type_common.no_named_args_stdarg_p)
834#define TREE_SYMBOL_REFERENCED(NODE) \
835 (IDENTIFIER_NODE_CHECK (NODE)->base.static_flag)
839#define TYPE_REF_CAN_ALIAS_ALL(NODE) \
840 (PTR_OR_REF_CHECK (NODE)->base.static_flag)
845#define TREE_OVERFLOW(NODE) (CST_CHECK (NODE)->base.public_flag)
849#define TREE_OVERFLOW_P(EXPR) \
850 (CONSTANT_CLASS_P (EXPR) && TREE_OVERFLOW (EXPR))
857#define TREE_PUBLIC(NODE) ((NODE)->base.public_flag)
861#define TYPE_CACHED_VALUES_P(NODE) (TYPE_CHECK (NODE)->base.public_flag)
865#define SAVE_EXPR_RESOLVED_P(NODE) \
866 (SAVE_EXPR_CHECK (NODE)->base.public_flag)
870#define CALL_EXPR_VA_ARG_PACK(NODE) \
871 (CALL_EXPR_CHECK (NODE)->base.public_flag)
878#define TREE_SIDE_EFFECTS(NODE) \
879 (NON_TYPE_CHECK (NODE)->base.side_effects_flag)
884#define FORCED_LABEL(NODE) (LABEL_DECL_CHECK (NODE)->base.side_effects_flag)
888#define FALLTHROUGH_LABEL_P(NODE) \
889 (LABEL_DECL_CHECK (NODE)->base.private_flag)
893#define SWITCH_BREAK_LABEL_P(NODE) \
894 (LABEL_DECL_CHECK (NODE)->base.protected_flag)
899#define UNUSED_LABEL_P(NODE) \
900 (LABEL_DECL_CHECK (NODE)->base.default_def_flag)
915#define TREE_THIS_VOLATILE(NODE) ((NODE)->base.volatile_flag)
926#define TREE_THIS_NOTRAP(NODE) \
927 (TREE_CHECK5 (NODE, INDIRECT_REF, MEM_REF, TARGET_MEM_REF, ARRAY_REF, \
928 ARRAY_RANGE_REF)->base.nothrow_flag)
934#define TREE_READONLY(NODE) (NON_TYPE_CHECK (NODE)->base.readonly_flag)
938#define TREE_CONSTANT(NODE) (NON_TYPE_CHECK (NODE)->base.constant_flag)
941#define TYPE_SIZES_GIMPLIFIED(NODE) \
942 (TYPE_CHECK (NODE)->base.constant_flag)
945#define DECL_UNSIGNED(NODE) \
946 (DECL_COMMON_CHECK (NODE)->base.u.bits.unsigned_flag)
949#define TYPE_UNSIGNED(NODE) (TYPE_CHECK (NODE)->base.u.bits.unsigned_flag)
952#define TYPE_SIGN(NODE) ((signop) TYPE_UNSIGNED (NODE))
956#define TYPE_OVERFLOW_WRAPS(TYPE) \
957 (POINTER_TYPE_P (TYPE) \
958 ? flag_wrapv_pointer \
959 : (ANY_INTEGRAL_TYPE_CHECK(TYPE)->base.u.bits.unsigned_flag \
970#define TYPE_OVERFLOW_UNDEFINED(TYPE) \
971 (POINTER_TYPE_P (TYPE) \
972 ? !flag_wrapv_pointer \
973 : (!ANY_INTEGRAL_TYPE_CHECK(TYPE)->base.u.bits.unsigned_flag \
974 && !flag_wrapv && !flag_trapv))
978#define TYPE_OVERFLOW_TRAPS(TYPE) \
979 (!ANY_INTEGRAL_TYPE_CHECK(TYPE)->base.u.bits.unsigned_flag && flag_trapv)
982#define TYPE_OVERFLOW_SANITIZED(TYPE) \
983 (INTEGRAL_TYPE_P (TYPE) \
984 && !TYPE_OVERFLOW_WRAPS (TYPE) \
985 && (flag_sanitize & SANITIZE_SI_OVERFLOW))
996#define TREE_ASM_WRITTEN(NODE) ((NODE)->base.asm_written_flag)
1003#define TREE_USED(NODE) ((NODE)->base.used_flag)
1009#define TREE_NOTHROW(NODE) ((NODE)->base.nothrow_flag)
1013#define CALL_EXPR_RETURN_SLOT_OPT(NODE) \
1014 (CALL_EXPR_CHECK (NODE)->base.private_flag)
1019#define DECL_BY_REFERENCE(NODE) \
1020 (TREE_CHECK3 (NODE, VAR_DECL, PARM_DECL, \
1021 RESULT_DECL)->decl_common.decl_by_reference_flag)
1025#define DECL_READ_P(NODE) \
1026 (TREE_CHECK2 (NODE, VAR_DECL, PARM_DECL)->decl_common.decl_read_flag)
1030#define DECL_NONSHAREABLE(NODE) \
1031 (TREE_CHECK2 (NODE, VAR_DECL, \
1032 RESULT_DECL)->decl_common.decl_nonshareable_flag)
1036#define DECL_HIDDEN_STRING_LENGTH(NODE) \
1037 (TREE_CHECK (NODE, PARM_DECL)->decl_common.decl_nonshareable_flag)
1042#define CALL_FROM_THUNK_P(NODE) (CALL_EXPR_CHECK (NODE)->base.protected_flag)
1048#define CALL_ALLOCA_FOR_VAR_P(NODE) \
1049 (CALL_EXPR_CHECK (NODE)->base.protected_flag)
1054#define CALL_FROM_NEW_OR_DELETE_P(NODE) \
1055 (CALL_EXPR_CHECK (NODE)->base.protected_flag)
1058#define TREE_PRIVATE(NODE) ((NODE)->base.private_flag)
1060#define TREE_PROTECTED(NODE) ((NODE)->base.protected_flag)
1063#define TYPE_REF_IS_RVALUE(NODE) \
1064 (REFERENCE_TYPE_CHECK (NODE)->base.private_flag)
1068#define TREE_DEPRECATED(NODE) \
1069 ((NODE)->base.deprecated_flag)
1073#define TREE_UNAVAILABLE(NODE) \
1074 ((NODE)->base.u.bits.unavailable_flag)
1078#define IDENTIFIER_ANON_P(NODE) \
1079 (IDENTIFIER_NODE_CHECK (NODE)->base.private_flag)
1083#define IDENTIFIER_TRANSPARENT_ALIAS(NODE) \
1084 (IDENTIFIER_NODE_CHECK (NODE)->base.deprecated_flag)
1089#define TYPE_REVERSE_STORAGE_ORDER(NODE) \
1090 (TREE_CHECK4 (NODE, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ARRAY_TYPE)->base.u.bits.saturating_flag)
1093#define TYPE_SATURATING(NODE) \
1094 (TREE_NOT_CHECK4 (NODE, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ARRAY_TYPE)->base.u.bits.saturating_flag)
1107#define REF_REVERSE_STORAGE_ORDER(NODE) \
1108 (TREE_CHECK2 (NODE, BIT_FIELD_REF, MEM_REF)->base.default_def_flag)
1112#define FUNC_ADDR_BY_DESCRIPTOR(NODE) \
1113 (TREE_CHECK (NODE, ADDR_EXPR)->base.default_def_flag)
1117#define CALL_EXPR_BY_DESCRIPTOR(NODE) \
1118 (TREE_CHECK (NODE, CALL_EXPR)->base.default_def_flag)
1121#define TREE_LANG_FLAG_0(NODE) \
1122 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_0)
1123#define TREE_LANG_FLAG_1(NODE) \
1124 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_1)
1125#define TREE_LANG_FLAG_2(NODE) \
1126 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_2)
1127#define TREE_LANG_FLAG_3(NODE) \
1128 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_3)
1129#define TREE_LANG_FLAG_4(NODE) \
1130 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_4)
1131#define TREE_LANG_FLAG_5(NODE) \
1132 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_5)
1133#define TREE_LANG_FLAG_6(NODE) \
1134 (TREE_NOT_CHECK2 (NODE, TREE_VEC, SSA_NAME)->base.u.bits.lang_flag_6)
1138#define TREE_INT_CST_NUNITS(NODE) \
1139 (INTEGER_CST_CHECK (NODE)->base.u.int_length.unextended)
1140#define TREE_INT_CST_EXT_NUNITS(NODE) \
1141 (INTEGER_CST_CHECK (NODE)->base.u.int_length.extended)
1142#define TREE_INT_CST_ELT(NODE, I) TREE_INT_CST_ELT_CHECK (NODE, I)
1143#define TREE_INT_CST_LOW(NODE) \
1144 ((unsigned HOST_WIDE_INT) TREE_INT_CST_ELT (NODE, 0))
1148#define POLY_INT_CST_P(NODE) \
1149 (NUM_POLY_INT_COEFFS > 1 && TREE_CODE (NODE) == POLY_INT_CST)
1152#define POLY_INT_CST_COEFF(NODE, I) \
1153 (POLY_INT_CST_CHECK (NODE)->poly_int_cst.coeffs[I])
1155#define TREE_REAL_CST_PTR(NODE) (&REAL_CST_CHECK (NODE)->real_cst.value)
1156#define TREE_REAL_CST(NODE) (*TREE_REAL_CST_PTR (NODE))
1158#define TREE_FIXED_CST_PTR(NODE) \
1159 (FIXED_CST_CHECK (NODE)->fixed_cst.fixed_cst_ptr)
1160#define TREE_FIXED_CST(NODE) (*TREE_FIXED_CST_PTR (NODE))
1164#define TREE_STRING_LENGTH(NODE) (STRING_CST_CHECK (NODE)->string.length)
1165#define TREE_STRING_POINTER(NODE) \
1166 ((const char *)(STRING_CST_CHECK (NODE)->string.str))
1169#define RAW_DATA_LENGTH(NODE) \
1170 (RAW_DATA_CST_CHECK (NODE)->raw_data_cst.length)
1171#define RAW_DATA_POINTER(NODE) \
1172 (RAW_DATA_CST_CHECK (NODE)->raw_data_cst.str)
1173#define RAW_DATA_OWNER(NODE) \
1174 (RAW_DATA_CST_CHECK (NODE)->raw_data_cst.owner)
1175#define RAW_DATA_UCHAR_ELT(NODE, I) \
1176 (((const unsigned char *) RAW_DATA_POINTER (NODE))[I])
1177#define RAW_DATA_SCHAR_ELT(NODE, I) \
1178 (((const signed char *) RAW_DATA_POINTER (NODE))[I])
1181#define TREE_REALPART(NODE) (COMPLEX_CST_CHECK (NODE)->complex.real)
1182#define TREE_IMAGPART(NODE) (COMPLEX_CST_CHECK (NODE)->complex.imag)
1185#define VECTOR_CST_NELTS(NODE) (TYPE_VECTOR_SUBPARTS (TREE_TYPE (NODE)))
1186#define VECTOR_CST_ELT(NODE,IDX) vector_cst_elt (NODE, IDX)
1188#define VECTOR_CST_LOG2_NPATTERNS(NODE) \
1189 (VECTOR_CST_CHECK (NODE)->base.u.vector_cst.log2_npatterns)
1190#define VECTOR_CST_NPATTERNS(NODE) \
1191 (1U << VECTOR_CST_LOG2_NPATTERNS (NODE))
1192#define VECTOR_CST_NELTS_PER_PATTERN(NODE) \
1193 (VECTOR_CST_CHECK (NODE)->base.u.vector_cst.nelts_per_pattern)
1194#define VECTOR_CST_DUPLICATE_P(NODE) \
1195 (VECTOR_CST_NELTS_PER_PATTERN (NODE) == 1)
1196#define VECTOR_CST_STEPPED_P(NODE) \
1197 (VECTOR_CST_NELTS_PER_PATTERN (NODE) == 3)
1198#define VECTOR_CST_ENCODED_ELTS(NODE) \
1199 (VECTOR_CST_CHECK (NODE)->vector.elts)
1200#define VECTOR_CST_ENCODED_ELT(NODE, ELT) \
1201 (VECTOR_CST_CHECK (NODE)->vector.elts[ELT])
1206#define IDENTIFIER_LENGTH(NODE) \
1207 (IDENTIFIER_NODE_CHECK (NODE)->identifier.id.len)
1208#define IDENTIFIER_POINTER(NODE) \
1209 ((const char *) IDENTIFIER_NODE_CHECK (NODE)->identifier.id.str)
1210#define IDENTIFIER_HASH_VALUE(NODE) \
1211 (IDENTIFIER_NODE_CHECK (NODE)->identifier.id.hash_value)
1216#define HT_IDENT_TO_GCC_IDENT(NODE) \
1217 ((tree) ((char *) (NODE) - sizeof (struct tree_common)))
1218#define GCC_IDENT_TO_HT_IDENT(NODE) (&((struct tree_identifier *) (NODE))->id)
1221#define TREE_PURPOSE(NODE) (TREE_LIST_CHECK (NODE)->list.purpose)
1222#define TREE_VALUE(NODE) (TREE_LIST_CHECK (NODE)->list.value)
1225#define TREE_VEC_LENGTH(NODE) (TREE_VEC_CHECK (NODE)->base.u.length)
1226#define TREE_VEC_BEGIN(NODE) (&TREE_VEC_CHECK (NODE)->vec.a[0])
1227#define TREE_VEC_END(NODE) \
1228 ((void) TREE_VEC_CHECK (NODE), &((NODE)->vec.a[(NODE)->base.u.length]))
1230#define TREE_VEC_ELT(NODE,I) TREE_VEC_ELT_CHECK (NODE, I)
1233#define CONSTRUCTOR_ELTS(NODE) (CONSTRUCTOR_CHECK (NODE)->constructor.elts)
1234#define CONSTRUCTOR_ELT(NODE,IDX) \
1235 (&(*CONSTRUCTOR_ELTS (NODE))[IDX])
1236#define CONSTRUCTOR_NELTS(NODE) \
1237 (vec_safe_length (CONSTRUCTOR_ELTS (NODE)))
1238#define CONSTRUCTOR_NO_CLEARING(NODE) \
1239 (CONSTRUCTOR_CHECK (NODE)->base.public_flag)
1241#define CONSTRUCTOR_ZERO_PADDING_BITS(NODE) \
1242 (CONSTRUCTOR_CHECK (NODE)->base.default_def_flag)
1247#define FOR_EACH_CONSTRUCTOR_VALUE(V, IX, VAL) \
1248 for (IX = 0; (IX >= vec_safe_length (V)) \
1250 : ((VAL = (*(V))[IX].value), \
1257#define FOR_EACH_CONSTRUCTOR_ELT(V, IX, INDEX, VAL) \
1258 for (IX = 0; (IX >= vec_safe_length (V)) \
1260 : (((void) (VAL = (*V)[IX].value)), \
1261 (INDEX = (*V)[IX].index), \
1266#define CONSTRUCTOR_APPEND_ELT(V, INDEX, VALUE) \
1268 constructor_elt _ce___ = {INDEX, VALUE}; \
1269 vec_safe_push ((V), _ce___); \
1274#define CONSTRUCTOR_BITFIELD_P(NODE) \
1275 (DECL_BIT_FIELD (FIELD_DECL_CHECK (NODE)) \
1276 && (DECL_MODE (NODE) != BLKmode \
1277 || TREE_CODE (TREE_TYPE (NODE)) == BITINT_TYPE))
1284#define TREE_CLOBBER_P(NODE) \
1285 (TREE_CODE (NODE) == CONSTRUCTOR && TREE_THIS_VOLATILE (NODE))
1288#define CLOBBER_KIND(NODE) \
1289 (CONSTRUCTOR_CHECK (NODE)->base.u.bits.address_space)
1294#define IS_EMPTY_STMT(NODE) (TREE_CODE (NODE) == NOP_EXPR \
1295 && VOID_TYPE_P (TREE_TYPE (NODE)) \
1296 && integer_zerop (TREE_OPERAND (NODE, 0)))
1299#define TREE_OPERAND_LENGTH(NODE) tree_operand_length (NODE)
1300#define TREE_OPERAND(NODE, I) TREE_OPERAND_CHECK (NODE, I)
1307#define VL_EXP_OPERAND_LENGTH(NODE) \
1308 ((int)TREE_INT_CST_LOW (VL_EXP_CHECK (NODE)->exp.operands[0]))
1311#define MAY_HAVE_DEBUG_MARKER_STMTS debug_nonbind_markers_p
1314#define MAY_HAVE_DEBUG_BIND_STMTS flag_var_tracking_assignments
1316#define MAY_HAVE_DEBUG_STMTS \
1317 (MAY_HAVE_DEBUG_MARKER_STMTS || MAY_HAVE_DEBUG_BIND_STMTS)
1320#define LOOP_EXPR_BODY(NODE) TREE_OPERAND_CHECK_CODE (NODE, LOOP_EXPR, 0)
1325#define EXPR_LOCATION(NODE) \
1326 (CAN_HAVE_LOCATION_P ((NODE)) ? (NODE)->exp.locus : UNKNOWN_LOCATION)
1327#define SET_EXPR_LOCATION(NODE, LOCUS) EXPR_CHECK ((NODE))->exp.locus = (LOCUS)
1328#define EXPR_HAS_LOCATION(NODE) (LOCATION_LOCUS (EXPR_LOCATION (NODE)) \
1329 != UNKNOWN_LOCATION)
1332#define EXPR_LOC_OR_LOC(NODE, LOCUS) (EXPR_HAS_LOCATION (NODE) \
1333 ? (NODE)->exp.locus : (LOCUS))
1334#define EXPR_FILENAME(NODE) LOCATION_FILE (EXPR_CHECK ((NODE))->exp.locus)
1335#define EXPR_LINENO(NODE) LOCATION_LINE (EXPR_CHECK (NODE)->exp.locus)
1337#define CAN_HAVE_RANGE_P(NODE) (CAN_HAVE_LOCATION_P (NODE))
1338#define EXPR_LOCATION_RANGE(NODE) (get_expr_source_range (EXPR_CHECK ((NODE))))
1340#define EXPR_HAS_RANGE(NODE) \
1341 (CAN_HAVE_RANGE_P (NODE) \
1342 ? EXPR_LOCATION_RANGE (NODE).m_start != UNKNOWN_LOCATION \
1347#define CAN_HAVE_LOCATION_P(NODE) ((NODE) && EXPR_P (NODE))
1358ATTRIBUTE_WARN_UNUSED_RESULT
1377#define TARGET_EXPR_SLOT(NODE) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 0)
1378#define TARGET_EXPR_INITIAL(NODE) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 1)
1379#define TARGET_EXPR_CLEANUP(NODE) TREE_OPERAND_CHECK_CODE (NODE, TARGET_EXPR, 2)
1382#define TARGET_EXPR_NO_ELIDE(NODE) (TARGET_EXPR_CHECK (NODE)->base.private_flag)
1386#define DECL_EXPR_DECL(NODE) TREE_OPERAND (DECL_EXPR_CHECK (NODE), 0)
1388#define EXIT_EXPR_COND(NODE) TREE_OPERAND (EXIT_EXPR_CHECK (NODE), 0)
1391#define COMPOUND_LITERAL_EXPR_DECL_EXPR(NODE) \
1392 TREE_OPERAND (COMPOUND_LITERAL_EXPR_CHECK (NODE), 0)
1393#define COMPOUND_LITERAL_EXPR_DECL(NODE) \
1394 DECL_EXPR_DECL (COMPOUND_LITERAL_EXPR_DECL_EXPR (NODE))
1397#define SWITCH_COND(NODE) TREE_OPERAND (SWITCH_EXPR_CHECK (NODE), 0)
1398#define SWITCH_BODY(NODE) TREE_OPERAND (SWITCH_EXPR_CHECK (NODE), 1)
1402#define SWITCH_ALL_CASES_P(NODE) (SWITCH_EXPR_CHECK (NODE)->base.private_flag)
1406#define CASE_LOW(NODE) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 0)
1407#define CASE_HIGH(NODE) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 1)
1408#define CASE_LABEL(NODE) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 2)
1409#define CASE_CHAIN(NODE) TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 3)
1413#define TMR_BASE(NODE) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 0))
1414#define TMR_OFFSET(NODE) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 1))
1415#define TMR_INDEX(NODE) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 2))
1416#define TMR_STEP(NODE) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 3))
1417#define TMR_INDEX2(NODE) (TREE_OPERAND (TARGET_MEM_REF_CHECK (NODE), 4))
1419#define MR_DEPENDENCE_CLIQUE(NODE) \
1420 (TREE_CHECK2 (NODE, MEM_REF, TARGET_MEM_REF)->base.u.dependence_info.clique)
1421#define MR_DEPENDENCE_BASE(NODE) \
1422 (TREE_CHECK2 (NODE, MEM_REF, TARGET_MEM_REF)->base.u.dependence_info.base)
1425#define BIND_EXPR_VARS(NODE) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 0))
1426#define BIND_EXPR_BODY(NODE) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 1))
1427#define BIND_EXPR_BLOCK(NODE) (TREE_OPERAND (BIND_EXPR_CHECK (NODE), 2))
1431#define GOTO_DESTINATION(NODE) TREE_OPERAND (GOTO_EXPR_CHECK (NODE), 0)
1437#define ASM_STRING(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 0)
1438#define ASM_OUTPUTS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 1)
1439#define ASM_INPUTS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 2)
1440#define ASM_CLOBBERS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 3)
1441#define ASM_LABELS(NODE) TREE_OPERAND (ASM_EXPR_CHECK (NODE), 4)
1445#define ASM_BASIC_P(NODE) (ASM_EXPR_CHECK (NODE)->base.static_flag)
1446#define ASM_VOLATILE_P(NODE) (ASM_EXPR_CHECK (NODE)->base.public_flag)
1449#define ASM_INLINE_P(NODE) (ASM_EXPR_CHECK (NODE)->base.protected_flag)
1452#define COND_EXPR_COND(NODE) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 0))
1453#define COND_EXPR_THEN(NODE) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 1))
1454#define COND_EXPR_ELSE(NODE) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 2))
1457#define CHREC_LEFT(NODE) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK (NODE), 0)
1458#define CHREC_RIGHT(NODE) TREE_OPERAND (POLYNOMIAL_CHREC_CHECK (NODE), 1)
1459#define CHREC_VARIABLE(NODE) POLYNOMIAL_CHREC_CHECK (NODE)->base.u.chrec_var
1461#define CHREC_NOWRAP(NODE) POLYNOMIAL_CHREC_CHECK (NODE)->base.nothrow_flag
1465#define LABEL_EXPR_LABEL(NODE) TREE_OPERAND (LABEL_EXPR_CHECK (NODE), 0)
1468#define CATCH_TYPES(NODE) TREE_OPERAND (CATCH_EXPR_CHECK (NODE), 0)
1469#define CATCH_BODY(NODE) TREE_OPERAND (CATCH_EXPR_CHECK (NODE), 1)
1472#define EH_FILTER_TYPES(NODE) TREE_OPERAND (EH_FILTER_EXPR_CHECK (NODE), 0)
1473#define EH_FILTER_FAILURE(NODE) TREE_OPERAND (EH_FILTER_EXPR_CHECK (NODE), 1)
1476#define OBJ_TYPE_REF_EXPR(NODE) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 0)
1477#define OBJ_TYPE_REF_OBJECT(NODE) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 1)
1478#define OBJ_TYPE_REF_TOKEN(NODE) TREE_OPERAND (OBJ_TYPE_REF_CHECK (NODE), 2)
1481#define CALL_EXPR_FN(NODE) TREE_OPERAND (CALL_EXPR_CHECK (NODE), 1)
1482#define CALL_EXPR_STATIC_CHAIN(NODE) TREE_OPERAND (CALL_EXPR_CHECK (NODE), 2)
1483#define CALL_EXPR_ARG(NODE, I) TREE_OPERAND (CALL_EXPR_CHECK (NODE), (I) + 3)
1484#define call_expr_nargs(NODE) (VL_EXP_OPERAND_LENGTH (NODE) - 3)
1485#define CALL_EXPR_IFN(NODE) (CALL_EXPR_CHECK (NODE)->base.u.ifn)
1493#define CALL_EXPR_ARGP(NODE) \
1494 (&(TREE_OPERAND (CALL_EXPR_CHECK (NODE), 0)) + 3)
1497#define TRANSACTION_EXPR_BODY(NODE) \
1498 TREE_OPERAND (TRANSACTION_EXPR_CHECK (NODE), 0)
1499#define TRANSACTION_EXPR_OUTER(NODE) \
1500 (TRANSACTION_EXPR_CHECK (NODE)->base.static_flag)
1501#define TRANSACTION_EXPR_RELAXED(NODE) \
1502 (TRANSACTION_EXPR_CHECK (NODE)->base.public_flag)
1508#define OMP_BODY(NODE) \
1509 TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_PARALLEL, OMP_MASTER), 0)
1510#define OMP_CLAUSES(NODE) \
1511 TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_PARALLEL, OMP_SCAN), 1)
1514#define OMP_STANDALONE_CLAUSES(NODE) \
1515 TREE_OPERAND (TREE_RANGE_CHECK (NODE, OACC_CACHE, OMP_TARGET_EXIT_DATA), 0)
1517#define OACC_DATA_BODY(NODE) \
1518 TREE_OPERAND (OACC_DATA_CHECK (NODE), 0)
1519#define OACC_DATA_CLAUSES(NODE) \
1520 TREE_OPERAND (OACC_DATA_CHECK (NODE), 1)
1522#define OACC_HOST_DATA_BODY(NODE) \
1523 TREE_OPERAND (OACC_HOST_DATA_CHECK (NODE), 0)
1524#define OACC_HOST_DATA_CLAUSES(NODE) \
1525 TREE_OPERAND (OACC_HOST_DATA_CHECK (NODE), 1)
1527#define OACC_CACHE_CLAUSES(NODE) \
1528 TREE_OPERAND (OACC_CACHE_CHECK (NODE), 0)
1530#define OACC_DECLARE_CLAUSES(NODE) \
1531 TREE_OPERAND (OACC_DECLARE_CHECK (NODE), 0)
1533#define OACC_ENTER_DATA_CLAUSES(NODE) \
1534 TREE_OPERAND (OACC_ENTER_DATA_CHECK (NODE), 0)
1536#define OACC_EXIT_DATA_CLAUSES(NODE) \
1537 TREE_OPERAND (OACC_EXIT_DATA_CHECK (NODE), 0)
1539#define OACC_UPDATE_CLAUSES(NODE) \
1540 TREE_OPERAND (OACC_UPDATE_CHECK (NODE), 0)
1542#define OMP_PARALLEL_BODY(NODE) TREE_OPERAND (OMP_PARALLEL_CHECK (NODE), 0)
1543#define OMP_PARALLEL_CLAUSES(NODE) TREE_OPERAND (OMP_PARALLEL_CHECK (NODE), 1)
1545#define OMP_TASK_BODY(NODE) TREE_OPERAND (OMP_TASK_CHECK (NODE), 0)
1546#define OMP_TASK_CLAUSES(NODE) TREE_OPERAND (OMP_TASK_CHECK (NODE), 1)
1548#define OMP_TASKREG_CHECK(NODE) TREE_RANGE_CHECK (NODE, OMP_PARALLEL, OMP_TASK)
1549#define OMP_TASKREG_BODY(NODE) TREE_OPERAND (OMP_TASKREG_CHECK (NODE), 0)
1550#define OMP_TASKREG_CLAUSES(NODE) TREE_OPERAND (OMP_TASKREG_CHECK (NODE), 1)
1552#define OMP_LOOPING_CHECK(NODE) TREE_RANGE_CHECK (NODE, OMP_FOR, OACC_LOOP)
1553#define OMP_FOR_BODY(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 0)
1554#define OMP_FOR_CLAUSES(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 1)
1555#define OMP_FOR_INIT(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 2)
1556#define OMP_FOR_COND(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 3)
1557#define OMP_FOR_INCR(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 4)
1558#define OMP_FOR_PRE_BODY(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 5)
1559#define OMP_FOR_ORIG_DECLS(NODE) TREE_OPERAND (OMP_LOOPING_CHECK (NODE), 6)
1561#define OMP_INTEROP_CLAUSES(NODE)\
1562 TREE_OPERAND (OMP_INTEROP_CHECK (NODE), 0)
1564#define OMP_LOOPXFORM_CHECK(NODE) TREE_RANGE_CHECK (NODE, OMP_TILE, OMP_UNROLL)
1565#define OMP_LOOPXFORM_LOWERED(NODE) \
1566 (OMP_LOOPXFORM_CHECK (NODE)->base.public_flag)
1568#define OMP_SECTIONS_BODY(NODE) TREE_OPERAND (OMP_SECTIONS_CHECK (NODE), 0)
1569#define OMP_SECTIONS_CLAUSES(NODE) TREE_OPERAND (OMP_SECTIONS_CHECK (NODE), 1)
1571#define OMP_SECTION_BODY(NODE) TREE_OPERAND (OMP_SECTION_CHECK (NODE), 0)
1573#define OMP_STRUCTURED_BLOCK_BODY(NODE) \
1574 TREE_OPERAND (OMP_STRUCTURED_BLOCK_CHECK (NODE), 0)
1576#define OMP_SINGLE_BODY(NODE) TREE_OPERAND (OMP_SINGLE_CHECK (NODE), 0)
1577#define OMP_SINGLE_CLAUSES(NODE) TREE_OPERAND (OMP_SINGLE_CHECK (NODE), 1)
1579#define OMP_SCOPE_BODY(NODE) TREE_OPERAND (OMP_SCOPE_CHECK (NODE), 0)
1580#define OMP_SCOPE_CLAUSES(NODE) TREE_OPERAND (OMP_SCOPE_CHECK (NODE), 1)
1582#define OMP_MASTER_BODY(NODE) TREE_OPERAND (OMP_MASTER_CHECK (NODE), 0)
1584#define OMP_MASKED_BODY(NODE) TREE_OPERAND (OMP_MASKED_CHECK (NODE), 0)
1585#define OMP_MASKED_CLAUSES(NODE) TREE_OPERAND (OMP_MASKED_CHECK (NODE), 1)
1587#define OMP_TASKGROUP_BODY(NODE) TREE_OPERAND (OMP_TASKGROUP_CHECK (NODE), 0)
1588#define OMP_TASKGROUP_CLAUSES(NODE) \
1589 TREE_OPERAND (OMP_TASKGROUP_CHECK (NODE), 1)
1591#define OMP_ORDERED_BODY(NODE) TREE_OPERAND (OMP_ORDERED_CHECK (NODE), 0)
1592#define OMP_ORDERED_CLAUSES(NODE) TREE_OPERAND (OMP_ORDERED_CHECK (NODE), 1)
1594#define OMP_CRITICAL_BODY(NODE) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 0)
1595#define OMP_CRITICAL_CLAUSES(NODE) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 1)
1596#define OMP_CRITICAL_NAME(NODE) TREE_OPERAND (OMP_CRITICAL_CHECK (NODE), 2)
1598#define OMP_TEAMS_BODY(NODE) TREE_OPERAND (OMP_TEAMS_CHECK (NODE), 0)
1599#define OMP_TEAMS_CLAUSES(NODE) TREE_OPERAND (OMP_TEAMS_CHECK (NODE), 1)
1601#define OMP_TARGET_DATA_BODY(NODE) \
1602 TREE_OPERAND (OMP_TARGET_DATA_CHECK (NODE), 0)
1603#define OMP_TARGET_DATA_CLAUSES(NODE)\
1604 TREE_OPERAND (OMP_TARGET_DATA_CHECK (NODE), 1)
1606#define OMP_TARGET_BODY(NODE) TREE_OPERAND (OMP_TARGET_CHECK (NODE), 0)
1607#define OMP_TARGET_CLAUSES(NODE) TREE_OPERAND (OMP_TARGET_CHECK (NODE), 1)
1609#define OMP_TARGET_UPDATE_CLAUSES(NODE)\
1610 TREE_OPERAND (OMP_TARGET_UPDATE_CHECK (NODE), 0)
1612#define OMP_TARGET_ENTER_DATA_CLAUSES(NODE)\
1613 TREE_OPERAND (OMP_TARGET_ENTER_DATA_CHECK (NODE), 0)
1615#define OMP_TARGET_EXIT_DATA_CLAUSES(NODE)\
1616 TREE_OPERAND (OMP_TARGET_EXIT_DATA_CHECK (NODE), 0)
1618#define OMP_METADIRECTIVE_VARIANTS(NODE) \
1619 TREE_OPERAND (OMP_METADIRECTIVE_CHECK (NODE), 0)
1621#define OMP_METADIRECTIVE_VARIANT_SELECTOR(v) \
1623#define OMP_METADIRECTIVE_VARIANT_DIRECTIVE(v) \
1624 TREE_PURPOSE (TREE_VALUE (v))
1625#define OMP_METADIRECTIVE_VARIANT_BODY(v) \
1626 TREE_VALUE (TREE_VALUE (v))
1628#define OMP_SCAN_BODY(NODE) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 0)
1629#define OMP_SCAN_CLAUSES(NODE) TREE_OPERAND (OMP_SCAN_CHECK (NODE), 1)
1631#define OMP_DISPATCH_BODY(NODE) TREE_OPERAND (OMP_DISPATCH_CHECK (NODE), 0)
1632#define OMP_DISPATCH_CLAUSES(NODE) TREE_OPERAND (OMP_DISPATCH_CHECK (NODE), 1)
1634#define OMP_CLAUSE_SIZE(NODE) \
1635 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (OMP_CLAUSE_CHECK (NODE), \
1637 OMP_CLAUSE__CACHE_), 1)
1639#define OMP_CLAUSE_CHAIN(NODE) TREE_CHAIN (OMP_CLAUSE_CHECK (NODE))
1640#define OMP_CLAUSE_DECL(NODE) \
1641 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (OMP_CLAUSE_CHECK (NODE), \
1642 OMP_CLAUSE_PRIVATE, \
1643 OMP_CLAUSE__SCANTEMP_), 0)
1644#define OMP_CLAUSE_HAS_LOCATION(NODE) \
1645 (LOCATION_LOCUS ((OMP_CLAUSE_CHECK (NODE))->omp_clause.locus) \
1646 != UNKNOWN_LOCATION)
1647#define OMP_CLAUSE_LOCATION(NODE) (OMP_CLAUSE_CHECK (NODE))->omp_clause.locus
1651#define OMP_FOR_NON_RECTANGULAR(NODE) \
1652 (OMP_LOOPING_CHECK (NODE)->base.private_flag)
1656#define OMP_SECTION_LAST(NODE) \
1657 (OMP_SECTION_CHECK (NODE)->base.private_flag)
1661#define OMP_PARALLEL_COMBINED(NODE) \
1662 (OMP_PARALLEL_CHECK (NODE)->base.private_flag)
1666#define OMP_TEAMS_COMBINED(NODE) \
1667 (OMP_TEAMS_CHECK (NODE)->base.private_flag)
1671#define OMP_TARGET_COMBINED(NODE) \
1672 (OMP_TARGET_CHECK (NODE)->base.private_flag)
1676#define OMP_MASTER_COMBINED(NODE) \
1677 (OMP_MASTER_CHECK (NODE)->base.private_flag)
1681#define OMP_MASKED_COMBINED(NODE) \
1682 (OMP_MASKED_CHECK (NODE)->base.private_flag)
1685#define OMP_ATOMIC_MEMORY_ORDER(NODE) \
1686 (TREE_RANGE_CHECK (NODE, OMP_ATOMIC, \
1687 OMP_ATOMIC_CAPTURE_NEW)->base.u.omp_atomic_memory_order)
1690#define OMP_ATOMIC_WEAK(NODE) \
1691 (TREE_RANGE_CHECK (NODE, OMP_ATOMIC, \
1692 OMP_ATOMIC_CAPTURE_NEW)->base.public_flag)
1697#define OMP_CLAUSE_PRIVATE_DEBUG(NODE) \
1698 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE)->base.public_flag)
1702#define OMP_CLAUSE_PRIVATE_OUTER_REF(NODE) \
1703 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE))
1708#define OMP_CLAUSE_PRIVATE_TASKLOOP_IV(NODE) \
1709 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIVATE))
1712#define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT(NODE) \
1713 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE)->base.public_flag)
1717#define OMP_CLAUSE_FIRSTPRIVATE_NO_REFERENCE(NODE) \
1718 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE))
1722#define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET(NODE) \
1723 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FIRSTPRIVATE))
1727#define OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE(NODE) \
1728 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE)->base.public_flag)
1729#define OMP_CLAUSE_LASTPRIVATE_STMT(NODE) \
1730 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \
1731 OMP_CLAUSE_LASTPRIVATE),\
1733#define OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ(NODE) \
1734 (OMP_CLAUSE_CHECK (NODE))->omp_clause.gimple_reduction_init
1740#define OMP_CLAUSE_LASTPRIVATE_LOOP_IV(NODE) \
1741 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE))
1744#define OMP_CLAUSE_LASTPRIVATE_CONDITIONAL(NODE) \
1745 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LASTPRIVATE))
1750#define OMP_CLAUSE_SHARED_FIRSTPRIVATE(NODE) \
1751 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SHARED)->base.public_flag)
1755#define OMP_CLAUSE_SHARED_READONLY(NODE) \
1756 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SHARED))
1758#define OMP_CLAUSE_IF_MODIFIER(NODE) \
1759 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_IF)->omp_clause.subcode.if_modifier)
1761#define OMP_CLAUSE_FINAL_EXPR(NODE) \
1762 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FINAL), 0)
1763#define OMP_CLAUSE_IF_EXPR(NODE) \
1764 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_IF), 0)
1765#define OMP_CLAUSE_SELF_EXPR(NODE) \
1766 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SELF), 0)
1767#define OMP_CLAUSE_NUM_THREADS_EXPR(NODE) \
1768 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_THREADS),0)
1769#define OMP_CLAUSE_SCHEDULE_CHUNK_EXPR(NODE) \
1770 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE), 0)
1771#define OMP_CLAUSE_NUM_TASKS_EXPR(NODE) \
1772 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TASKS), 0)
1773#define OMP_CLAUSE_HINT_EXPR(NODE) \
1774 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_HINT), 0)
1775#define OMP_CLAUSE_FILTER_EXPR(NODE) \
1776 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FILTER), 0)
1777#define OMP_CLAUSE_PARTIAL_EXPR(NODE) \
1778 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PARTIAL), 0)
1779#define OMP_CLAUSE_SIZES_LIST(NODE) \
1780 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SIZES), 0)
1781#define OMP_CLAUSE_NOVARIANTS_EXPR(NODE) \
1782 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NOVARIANTS), 0)
1783#define OMP_CLAUSE_NOCONTEXT_EXPR(NODE) \
1784 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NOCONTEXT), 0)
1786#define OMP_CLAUSE_GRAINSIZE_EXPR(NODE) \
1787 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GRAINSIZE),0)
1789#define OMP_CLAUSE_PRIORITY_EXPR(NODE) \
1790 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PRIORITY),0)
1792#define OMP_CLAUSE_GRAINSIZE_STRICT(NODE) \
1793 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GRAINSIZE))
1794#define OMP_CLAUSE_NUM_TASKS_STRICT(NODE) \
1795 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TASKS))
1798#define OMP_CLAUSE_EXPR(NODE, CLAUSE) \
1799 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, CLAUSE), 0)
1800#define OMP_CLAUSE_GANG_EXPR(NODE) \
1801 OMP_CLAUSE_OPERAND ( \
1802 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GANG), 0)
1803#define OMP_CLAUSE_GANG_STATIC_EXPR(NODE) \
1804 OMP_CLAUSE_OPERAND ( \
1805 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GANG), 1)
1806#define OMP_CLAUSE_ASYNC_EXPR(NODE) \
1807 OMP_CLAUSE_OPERAND ( \
1808 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ASYNC), 0)
1809#define OMP_CLAUSE_WAIT_EXPR(NODE) \
1810 OMP_CLAUSE_OPERAND ( \
1811 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_WAIT), 0)
1812#define OMP_CLAUSE_VECTOR_EXPR(NODE) \
1813 OMP_CLAUSE_OPERAND ( \
1814 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_VECTOR), 0)
1815#define OMP_CLAUSE_WORKER_EXPR(NODE) \
1816 OMP_CLAUSE_OPERAND ( \
1817 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_WORKER), 0)
1818#define OMP_CLAUSE_NUM_GANGS_EXPR(NODE) \
1819 OMP_CLAUSE_OPERAND ( \
1820 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_GANGS), 0)
1821#define OMP_CLAUSE_NUM_WORKERS_EXPR(NODE) \
1822 OMP_CLAUSE_OPERAND ( \
1823 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_WORKERS), 0)
1824#define OMP_CLAUSE_VECTOR_LENGTH_EXPR(NODE) \
1825 OMP_CLAUSE_OPERAND ( \
1826 OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_VECTOR_LENGTH), 0)
1828#define OMP_CLAUSE_DEPEND_KIND(NODE) \
1829 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEPEND)->omp_clause.subcode.depend_kind)
1831#define OMP_CLAUSE_DOACROSS_KIND(NODE) \
1832 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DOACROSS)->omp_clause.subcode.doacross_kind)
1834#define OMP_CLAUSE_DOACROSS_SINK_NEGATIVE(NODE) \
1835 TREE_PUBLIC (TREE_LIST_CHECK (NODE))
1838#define OMP_CLAUSE_DOACROSS_DEPEND(NODE) \
1839 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DOACROSS))
1841#define OMP_CLAUSE_MAP_KIND(NODE) \
1842 ((enum gomp_map_kind) OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->omp_clause.subcode.map_kind)
1843#define OMP_CLAUSE_SET_MAP_KIND(NODE, MAP_KIND) \
1844 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->omp_clause.subcode.map_kind \
1845 = (unsigned int) (MAP_KIND))
1847#define OMP_CLAUSE_MOTION_PRESENT(NODE) \
1848 (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_FROM, OMP_CLAUSE_TO)->base.deprecated_flag)
1850#define OMP_CLAUSE_INIT_TARGET(NODE) \
1851 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_INIT)->base.public_flag)
1852#define OMP_CLAUSE_INIT_TARGETSYNC(NODE) \
1853 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_INIT)->base.deprecated_flag)
1854#define OMP_CLAUSE_INIT_PREFER_TYPE(NODE) \
1855 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (OMP_CLAUSE_CHECK (NODE), \
1857 OMP_CLAUSE_INIT), 1)
1862#define OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION(NODE) \
1863 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->base.public_flag)
1866#define OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION(NODE) \
1867 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))
1871#define OMP_CLAUSE_MAP_IN_REDUCTION(NODE) \
1872 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))
1876#define OMP_CLAUSE_MAP_IMPLICIT(NODE) \
1877 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->base.default_def_flag)
1881#define OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P(NODE) \
1882 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->base.deprecated_flag)
1885#define OMP_CLAUSE_ATTACHMENT_MAPPING_ERASED(NODE) \
1886 TREE_STATIC (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))
1889#define OMP_CLAUSE_RELEASE_DESCRIPTOR(NODE) \
1890 TREE_NOTHROW (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))
1894#define OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE(NODE) \
1895 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP)->base.addressable_flag)
1898#define OMP_CLAUSE_MAP_READONLY(NODE) \
1899 TREE_READONLY (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_MAP))
1902#define OMP_CLAUSE__CACHE__READONLY(NODE) \
1903 TREE_READONLY (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__CACHE_))
1907#define OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT(NODE) \
1908 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_USE_DEVICE_PTR)->base.public_flag)
1910#define OMP_CLAUSE_PROC_BIND_KIND(NODE) \
1911 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_PROC_BIND)->omp_clause.subcode.proc_bind_kind)
1913#define OMP_CLAUSE_DEVICE_TYPE_KIND(NODE) \
1914 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE_TYPE)->omp_clause.subcode.device_type_kind)
1916#define OMP_CLAUSE_INDIRECT_EXPR(NODE) \
1917 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_INDIRECT), 0)
1921#define OMP_CLAUSE_DEVICE_ANCESTOR(NODE) \
1922 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE)->base.public_flag)
1924#define OMP_CLAUSE_COLLAPSE_EXPR(NODE) \
1925 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 0)
1926#define OMP_CLAUSE_COLLAPSE_ITERVAR(NODE) \
1927 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 1)
1928#define OMP_CLAUSE_COLLAPSE_COUNT(NODE) \
1929 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_COLLAPSE), 2)
1931#define OMP_CLAUSE_ORDERED_EXPR(NODE) \
1932 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDERED), 0)
1936#define OMP_CLAUSE_ORDERED_DOACROSS(NODE) \
1937 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDERED)->base.public_flag)
1940#define OMP_CLAUSE_ORDER_UNCONSTRAINED(NODE) \
1941 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDER)->base.public_flag)
1943#define OMP_CLAUSE_ORDER_REPRODUCIBLE(NODE) \
1944 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ORDER))
1946#define OMP_CLAUSE_REDUCTION_CODE(NODE) \
1947 (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1948 OMP_CLAUSE_IN_REDUCTION)->omp_clause.subcode.reduction_code)
1949#define OMP_CLAUSE_REDUCTION_INIT(NODE) \
1950 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1951 OMP_CLAUSE_IN_REDUCTION), 1)
1952#define OMP_CLAUSE_REDUCTION_MERGE(NODE) \
1953 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1954 OMP_CLAUSE_IN_REDUCTION), 2)
1955#define OMP_CLAUSE_REDUCTION_GIMPLE_INIT(NODE) \
1956 (OMP_CLAUSE_CHECK (NODE))->omp_clause.gimple_reduction_init
1957#define OMP_CLAUSE_REDUCTION_GIMPLE_MERGE(NODE) \
1958 (OMP_CLAUSE_CHECK (NODE))->omp_clause.gimple_reduction_merge
1959#define OMP_CLAUSE_REDUCTION_PLACEHOLDER(NODE) \
1960 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1961 OMP_CLAUSE_IN_REDUCTION), 3)
1962#define OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER(NODE) \
1963 OMP_CLAUSE_OPERAND (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1964 OMP_CLAUSE_IN_REDUCTION), 4)
1968#define OMP_CLAUSE_REDUCTION_OMP_ORIG_REF(NODE) \
1969 (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_REDUCTION, \
1970 OMP_CLAUSE_IN_REDUCTION)->base.public_flag)
1973#define OMP_CLAUSE_REDUCTION_TASK(NODE) \
1974 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_REDUCTION))
1977#define OMP_CLAUSE_REDUCTION_INSCAN(NODE) \
1978 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_REDUCTION))
1982#define OMP_CLAUSE_LINEAR_NO_COPYIN(NODE) \
1983 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)->base.public_flag)
1987#define OMP_CLAUSE_LINEAR_NO_COPYOUT(NODE) \
1988 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR))
1991#define OMP_CLAUSE_LINEAR_VARIABLE_STRIDE(NODE) \
1992 TREE_PROTECTED (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR))
1996#define OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER(NODE) \
1997 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)->base.addressable_flag)
2001#define OMP_CLAUSE_LINEAR_ARRAY(NODE) \
2002 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)->base.deprecated_flag)
2004#define OMP_CLAUSE_LINEAR_STEP(NODE) \
2005 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR), 1)
2007#define OMP_CLAUSE_LINEAR_STMT(NODE) \
2008 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR), 2)
2010#define OMP_CLAUSE_LINEAR_GIMPLE_SEQ(NODE) \
2011 (OMP_CLAUSE_CHECK (NODE))->omp_clause.gimple_reduction_init
2013#define OMP_CLAUSE_LINEAR_KIND(NODE) \
2014 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_LINEAR)->omp_clause.subcode.linear_kind)
2016#define OMP_CLAUSE_ALIGNED_ALIGNMENT(NODE) \
2017 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALIGNED), 1)
2019#define OMP_CLAUSE_ALLOCATE_ALLOCATOR(NODE) \
2020 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE), 1)
2022#define OMP_CLAUSE_ALLOCATE_ALIGN(NODE) \
2023 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE), 2)
2029#define OMP_CLAUSE_ALLOCATE_COMBINED(NODE) \
2030 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ALLOCATE)->base.public_flag)
2032#define OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR(NODE) \
2033 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TEAMS), 0)
2035#define OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR(NODE) \
2036 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_TEAMS), 1)
2038#define OMP_CLAUSE_THREAD_LIMIT_EXPR(NODE) \
2039 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \
2040 OMP_CLAUSE_THREAD_LIMIT), 0)
2042#define OMP_CLAUSE_DEVICE_ID(NODE) \
2043 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEVICE), 0)
2045#define OMP_CLAUSE_DIST_SCHEDULE_CHUNK_EXPR(NODE) \
2046 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, \
2047 OMP_CLAUSE_DIST_SCHEDULE), 0)
2049#define OMP_CLAUSE_SAFELEN_EXPR(NODE) \
2050 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SAFELEN), 0)
2052#define OMP_CLAUSE_SIMDLEN_EXPR(NODE) \
2053 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SIMDLEN), 0)
2055#define OMP_CLAUSE__SIMDUID__DECL(NODE) \
2056 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SIMDUID_), 0)
2058#define OMP_CLAUSE_SCHEDULE_KIND(NODE) \
2059 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE)->omp_clause.subcode.schedule_kind)
2062#define OMP_CLAUSE_SCHEDULE_SIMD(NODE) \
2063 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SCHEDULE)->base.public_flag)
2065#define OMP_CLAUSE_DEFAULT_KIND(NODE) \
2066 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEFAULT)->omp_clause.subcode.default_kind)
2068#define OMP_CLAUSE_DEFAULTMAP_KIND(NODE) \
2069 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_DEFAULTMAP)->omp_clause.subcode.defaultmap_kind)
2070#define OMP_CLAUSE_DEFAULTMAP_CATEGORY(NODE) \
2071 ((enum omp_clause_defaultmap_kind) \
2072 (OMP_CLAUSE_DEFAULTMAP_KIND (NODE) & OMP_CLAUSE_DEFAULTMAP_CATEGORY_MASK))
2073#define OMP_CLAUSE_DEFAULTMAP_BEHAVIOR(NODE) \
2074 ((enum omp_clause_defaultmap_kind) \
2075 (OMP_CLAUSE_DEFAULTMAP_KIND (NODE) & OMP_CLAUSE_DEFAULTMAP_MASK))
2076#define OMP_CLAUSE_DEFAULTMAP_SET_KIND(NODE, BEHAVIOR, CATEGORY) \
2077 (OMP_CLAUSE_DEFAULTMAP_KIND (NODE) \
2078 = (enum omp_clause_defaultmap_kind) (CATEGORY | BEHAVIOR))
2080#define OMP_CLAUSE_BIND_KIND(NODE) \
2081 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_BIND)->omp_clause.subcode.bind_kind)
2084#define OMP_CLAUSE_ENTER_TO(NODE) \
2085 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_ENTER)->base.public_flag)
2087#define OMP_CLAUSE_TILE_LIST(NODE) \
2088 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 0)
2089#define OMP_CLAUSE_TILE_ITERVAR(NODE) \
2090 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 1)
2091#define OMP_CLAUSE_TILE_COUNT(NODE) \
2092 OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_TILE), 2)
2095#define OMP_CLAUSE__CONDTEMP__ITER(NODE) \
2096 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__CONDTEMP_)->base.public_flag)
2100#define OMP_CLAUSE__SCANTEMP__ALLOC(NODE) \
2101 (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SCANTEMP_)->base.public_flag)
2106#define OMP_CLAUSE__SCANTEMP__CONTROL(NODE) \
2107 TREE_PRIVATE (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE__SCANTEMP_))
2110#define OMP_NEXT_VARIANT_INDEX(NODE) \
2111 TREE_OPERAND (OMP_NEXT_VARIANT_CHECK (NODE), 0)
2112#define OMP_NEXT_VARIANT_STATE(NODE) \
2113 TREE_OPERAND (OMP_NEXT_VARIANT_CHECK (NODE), 1)
2116#define OMP_TARGET_DEVICE_MATCHES_SELECTOR(NODE) \
2117 TREE_OPERAND (OMP_TARGET_DEVICE_MATCHES_CHECK (NODE), 0)
2118#define OMP_TARGET_DEVICE_MATCHES_PROPERTIES(NODE) \
2119 TREE_OPERAND (OMP_TARGET_DEVICE_MATCHES_CHECK (NODE), 1)
2125#define SSA_NAME_IS_VIRTUAL_OPERAND(NODE) \
2126 SSA_NAME_CHECK (NODE)->base.public_flag
2130#define SSA_NAME_IDENTIFIER(NODE) \
2131 (SSA_NAME_CHECK (NODE)->ssa_name.var != NULL_TREE \
2132 ? (TREE_CODE ((NODE)->ssa_name.var) == IDENTIFIER_NODE \
2133 ? (NODE)->ssa_name.var \
2134 : DECL_NAME ((NODE)->ssa_name.var)) \
2140#define SSA_NAME_VAR(NODE) \
2141 (SSA_NAME_CHECK (NODE)->ssa_name.var == NULL_TREE \
2142 || TREE_CODE ((NODE)->ssa_name.var) == IDENTIFIER_NODE \
2143 ? NULL_TREE : (NODE)->ssa_name.var)
2145#define SET_SSA_NAME_VAR_OR_IDENTIFIER(NODE,VAR) \
2148 tree var_ = (VAR); \
2149 SSA_NAME_CHECK (NODE)->ssa_name.var = var_; \
2150 SSA_NAME_IS_VIRTUAL_OPERAND (NODE) \
2152 && TREE_CODE (var_) == VAR_DECL \
2153 && VAR_DECL_IS_VIRTUAL_OPERAND (var_)); \
2158#define SSA_NAME_DEF_STMT(NODE) SSA_NAME_CHECK (NODE)->ssa_name.def_stmt
2162#define SSA_NAME_VERSION(NODE) SSA_NAME_CHECK (NODE)->base.u.version
2167#define SSA_NAME_OCCURS_IN_ABNORMAL_PHI(NODE) \
2168 SSA_NAME_CHECK (NODE)->base.asm_written_flag
2173#define SSA_NAME_IN_FREE_LIST(NODE) \
2174 SSA_NAME_CHECK (NODE)->base.nothrow_flag
2181#define SSA_NAME_IS_DEFAULT_DEF(NODE) \
2182 SSA_NAME_CHECK (NODE)->base.default_def_flag
2188#define SSA_NAME_POINTS_TO_READONLY_MEMORY(NODE) \
2189 SSA_NAME_CHECK (NODE)->base.deprecated_flag
2192#define SSA_NAME_PTR_INFO(N) \
2193 SSA_NAME_CHECK (N)->ssa_name.info.ptr_info
2196#define SSA_NAME_RANGE_INFO(N) \
2197 SSA_NAME_CHECK (N)->ssa_name.info.range_info
2200#define SSA_NAME_IMM_USE_NODE(NODE) SSA_NAME_CHECK (NODE)->ssa_name.imm_uses
2202#define OMP_CLAUSE_CODE(NODE) \
2203 (OMP_CLAUSE_CHECK (NODE))->omp_clause.code
2205#define OMP_CLAUSE_SET_CODE(NODE, CODE) \
2206 ((OMP_CLAUSE_CHECK (NODE))->omp_clause.code = (CODE))
2208#define OMP_CLAUSE_OPERAND(NODE, I) \
2209 OMP_CLAUSE_ELT_CHECK (NODE, I)
2213#define BLOCK_VARS(NODE) (BLOCK_CHECK (NODE)->block.vars)
2214#define BLOCK_NONLOCALIZED_VARS(NODE) \
2215 (BLOCK_CHECK (NODE)->block.nonlocalized_vars)
2216#define BLOCK_NUM_NONLOCALIZED_VARS(NODE) \
2217 vec_safe_length (BLOCK_NONLOCALIZED_VARS (NODE))
2218#define BLOCK_NONLOCALIZED_VAR(NODE,N) (*BLOCK_NONLOCALIZED_VARS (NODE))[N]
2220#define BLOCK_SUBBLOCKS(NODE) (BLOCK_CHECK (NODE)->block.subblocks)
2225#define BLOCK_SUPERCONTEXT(NODE) (BLOCK_CHECK (NODE)->block.supercontext)
2227#define BLOCK_CHAIN(NODE) (BLOCK_CHECK (NODE)->block.chain)
2232#define BLOCK_ABSTRACT_ORIGIN(NODE) (BLOCK_CHECK (NODE)->block.abstract_origin)
2233#define BLOCK_ORIGIN(NODE) \
2234 (BLOCK_ABSTRACT_ORIGIN(NODE) ? BLOCK_ABSTRACT_ORIGIN(NODE) : (NODE))
2235#define BLOCK_DIE(NODE) (BLOCK_CHECK (NODE)->block.die)
2238#define BLOCK_SAME_RANGE(NODE) (BLOCK_CHECK (NODE)->base.u.bits.nameless_flag)
2241#define BLOCK_IN_COLD_SECTION_P(NODE) \
2242 (BLOCK_CHECK (NODE)->base.u.bits.atomic_flag)
2247#define BLOCK_NUMBER(NODE) (BLOCK_CHECK (NODE)->block.block_num)
2271#define BLOCK_FRAGMENT_ORIGIN(NODE) (BLOCK_CHECK (NODE)->block.fragment_origin)
2272#define BLOCK_FRAGMENT_CHAIN(NODE) (BLOCK_CHECK (NODE)->block.fragment_chain)
2278#define BLOCK_SOURCE_LOCATION(NODE) (BLOCK_CHECK (NODE)->block.locus)
2283#define BLOCK_SOURCE_END_LOCATION(NODE) (BLOCK_CHECK (NODE)->block.end_locus)
2296#define TYPE_UID(NODE) (TYPE_CHECK (NODE)->type_common.uid)
2301#define TYPE_SIZE(NODE) (TYPE_CHECK (NODE)->type_common.size)
2303#define TYPE_SIZE_UNIT(NODE) (TYPE_CHECK (NODE)->type_common.size_unit)
2304#define TYPE_POINTER_TO(NODE) (TYPE_CHECK (NODE)->type_common.pointer_to)
2305#define TYPE_REFERENCE_TO(NODE) (TYPE_CHECK (NODE)->type_common.reference_to)
2306#define TYPE_PRECISION(NODE) \
2307 (TREE_NOT_CHECK (TYPE_CHECK (NODE), VECTOR_TYPE)->type_common.precision)
2308#define TYPE_PRECISION_RAW(NODE) (TYPE_CHECK (NODE)->type_common.precision)
2309#define TYPE_NAME(NODE) (TYPE_CHECK (NODE)->type_common.name)
2310#define TYPE_NEXT_VARIANT(NODE) (TYPE_CHECK (NODE)->type_common.next_variant)
2311#define TYPE_MAIN_VARIANT(NODE) (TYPE_CHECK (NODE)->type_common.main_variant)
2312#define TYPE_CONTEXT(NODE) (TYPE_CHECK (NODE)->type_common.context)
2314#define TYPE_MODE_RAW(NODE) (TYPE_CHECK (NODE)->type_common.mode)
2315#define TYPE_MODE(NODE) \
2316 (VECTOR_TYPE_P (TYPE_CHECK (NODE)) \
2317 ? vector_type_mode (NODE) : (NODE)->type_common.mode)
2318#define SCALAR_TYPE_MODE(NODE) \
2319 (as_a <scalar_mode> (TYPE_CHECK (NODE)->type_common.mode))
2320#define SCALAR_INT_TYPE_MODE(NODE) \
2321 (as_a <scalar_int_mode> (TYPE_CHECK (NODE)->type_common.mode))
2322#define SCALAR_FLOAT_TYPE_MODE(NODE) \
2323 (as_a <scalar_float_mode> (TYPE_CHECK (NODE)->type_common.mode))
2324#define SET_TYPE_MODE(NODE, MODE) \
2325 (TYPE_CHECK (NODE)->type_common.mode = (MODE))
2349#define TYPE_CANONICAL(NODE) (TYPE_CHECK (NODE)->type_common.canonical)
2356#define TYPE_STRUCTURAL_EQUALITY_P(NODE) (TYPE_CANONICAL (NODE) == NULL_TREE)
2359#define SET_TYPE_STRUCTURAL_EQUALITY(NODE) (TYPE_CANONICAL (NODE) = NULL_TREE)
2361#define TYPE_IBIT(NODE) (GET_MODE_IBIT (TYPE_MODE (NODE)))
2362#define TYPE_FBIT(NODE) (GET_MODE_FBIT (TYPE_MODE (NODE)))
2369#define TYPE_ALIAS_SET(NODE) (TYPE_CHECK (NODE)->type_common.alias_set)
2373#define TYPE_ALIAS_SET_KNOWN_P(NODE) \
2374 (TYPE_CHECK (NODE)->type_common.alias_set != -1)
2378#define TYPE_ATTRIBUTES(NODE) (TYPE_CHECK (NODE)->type_common.attributes)
2381#define TYPE_ALIGN_RAW(NODE) \
2382 (TYPE_CHECK (NODE)->type_common.align)
2387#define TYPE_ALIGN(NODE) \
2388 (TYPE_ALIGN_RAW (NODE) \
2389 ? ((unsigned)1) << (TYPE_ALIGN_RAW(NODE) - 1) : 0)
2392#define SET_TYPE_ALIGN(NODE, X) \
2393 (TYPE_CHECK (NODE)->type_common.align = ffs_hwi (X))
2397#define TYPE_USER_ALIGN(NODE) (TYPE_CHECK (NODE)->base.u.bits.user_align)
2400#define TYPE_ALIGN_UNIT(NODE) (TYPE_ALIGN (NODE) / BITS_PER_UNIT)
2404#define TYPE_WARN_IF_NOT_ALIGN_RAW(NODE) \
2405 (TYPE_CHECK (NODE)->type_common.warn_if_not_align)
2406#define TYPE_WARN_IF_NOT_ALIGN(NODE) \
2407 (TYPE_WARN_IF_NOT_ALIGN_RAW (NODE) \
2408 ? ((unsigned)1) << (TYPE_WARN_IF_NOT_ALIGN_RAW (NODE) - 1) : 0)
2411#define SET_TYPE_WARN_IF_NOT_ALIGN(NODE, X) \
2412 (TYPE_WARN_IF_NOT_ALIGN_RAW (NODE) = ffs_hwi (X))
2421#define TYPE_STUB_DECL(NODE) (TREE_CHAIN (TYPE_CHECK (NODE)))
2426#define TYPE_NO_FORCE_BLK(NODE) \
2427 (TYPE_CHECK (NODE)->type_common.no_force_blk_flag)
2430#define TYPE_VOLATILE(NODE) (TYPE_CHECK (NODE)->base.volatile_flag)
2433#define TYPE_ATOMIC(NODE) (TYPE_CHECK (NODE)->base.u.bits.atomic_flag)
2436#define TYPE_READONLY(NODE) (TYPE_CHECK (NODE)->base.readonly_flag)
2440#define TYPE_RESTRICT(NODE) (TYPE_CHECK (NODE)->type_common.restrict_flag)
2443#define TYPE_NAMELESS(NODE) (TYPE_CHECK (NODE)->base.u.bits.nameless_flag)
2446#define TYPE_ADDR_SPACE(NODE) (TYPE_CHECK (NODE)->base.u.bits.address_space)
2450#define ENCODE_QUAL_ADDR_SPACE(NUM) ((NUM & 0xFF) << 8)
2451#define DECODE_QUAL_ADDR_SPACE(X) (((X) >> 8) & 0xFF)
2454#define CLEAR_QUAL_ADDR_SPACE(X) ((X) & ~0xFF00)
2458#define KEEP_QUAL_ADDR_SPACE(X) ((X) & 0xFF00)
2461#define TYPE_QUALS(NODE) \
2462 ((int) ((TYPE_READONLY (NODE) * TYPE_QUAL_CONST) \
2463 | (TYPE_VOLATILE (NODE) * TYPE_QUAL_VOLATILE) \
2464 | (TYPE_ATOMIC (NODE) * TYPE_QUAL_ATOMIC) \
2465 | (TYPE_RESTRICT (NODE) * TYPE_QUAL_RESTRICT) \
2466 | (ENCODE_QUAL_ADDR_SPACE (TYPE_ADDR_SPACE (NODE)))))
2469#define TYPE_QUALS_NO_ADDR_SPACE(NODE) \
2470 ((int) ((TYPE_READONLY (NODE) * TYPE_QUAL_CONST) \
2471 | (TYPE_VOLATILE (NODE) * TYPE_QUAL_VOLATILE) \
2472 | (TYPE_ATOMIC (NODE) * TYPE_QUAL_ATOMIC) \
2473 | (TYPE_RESTRICT (NODE) * TYPE_QUAL_RESTRICT)))
2477#define TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC(NODE) \
2478 ((int) ((TYPE_READONLY (NODE) * TYPE_QUAL_CONST) \
2479 | (TYPE_VOLATILE (NODE) * TYPE_QUAL_VOLATILE) \
2480 | (TYPE_RESTRICT (NODE) * TYPE_QUAL_RESTRICT)))
2483#define TYPE_LANG_FLAG_0(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_0)
2484#define TYPE_LANG_FLAG_1(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_1)
2485#define TYPE_LANG_FLAG_2(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_2)
2486#define TYPE_LANG_FLAG_3(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_3)
2487#define TYPE_LANG_FLAG_4(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_4)
2488#define TYPE_LANG_FLAG_5(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_5)
2489#define TYPE_LANG_FLAG_6(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_6)
2490#define TYPE_LANG_FLAG_7(NODE) (TYPE_CHECK (NODE)->type_common.lang_flag_7)
2494#define TREE_VISITED(NODE) ((NODE)->base.visited)
2499#define TYPE_STRING_FLAG(NODE) \
2500 (ARRAY_OR_INTEGER_TYPE_CHECK (NODE)->type_common.string_flag)
2505#define TYPE_CXX_ODR_P(NODE) \
2506 (RECORD_OR_UNION_CHECK (NODE)->type_common.string_flag)
2510#define TYPE_VECTOR_OPAQUE(NODE) \
2511 (VECTOR_TYPE_CHECK (NODE)->base.default_def_flag)
2515#define TYPE_NEEDS_CONSTRUCTING(NODE) \
2516 (TYPE_CHECK (NODE)->type_common.needs_constructing_flag)
2522#define TYPE_TRANSPARENT_AGGR(NODE) \
2523 (RECORD_OR_UNION_CHECK (NODE)->type_common.transparent_aggr_flag)
2528#define TYPE_NONALIASED_COMPONENT(NODE) \
2529 (ARRAY_TYPE_CHECK (NODE)->type_common.transparent_aggr_flag)
2540#define TYPE_TYPELESS_STORAGE(NODE) \
2541 (TREE_CHECK4 (NODE, RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, \
2542 ARRAY_TYPE)->type_common.typeless_storage)
2546#define TYPE_PACKED(NODE) (TYPE_CHECK (NODE)->base.u.bits.packed_flag)
2551#define TYPE_CONTAINS_PLACEHOLDER_INTERNAL(NODE) \
2552 (TYPE_CHECK (NODE)->type_common.contains_placeholder_bits)
2555#define TYPE_FINAL_P(NODE) \
2556 (RECORD_OR_UNION_CHECK (NODE)->base.default_def_flag)
2567#define TYPE_SYMTAB_ADDRESS(NODE) \
2568 (TYPE_CHECK (NODE)->type_common.symtab.address)
2572#define TYPE_SYMTAB_DIE(NODE) \
2573 (TYPE_CHECK (NODE)->type_common.symtab.die)
2579#define TYPE_SYMTAB_IS_ADDRESS (0)
2580#define TYPE_SYMTAB_IS_DIE (1)
2582#define TYPE_LANG_SPECIFIC(NODE) \
2583 (TYPE_CHECK (NODE)->type_with_lang_specific.lang_specific)
2585#define TYPE_VALUES(NODE) (ENUMERAL_TYPE_CHECK (NODE)->type_non_common.values)
2586#define TYPE_DOMAIN(NODE) (ARRAY_TYPE_CHECK (NODE)->type_non_common.values)
2587#define TYPE_FIELDS(NODE) \
2588 (RECORD_OR_UNION_CHECK (NODE)->type_non_common.values)
2589#define TYPE_CACHED_VALUES(NODE) (TYPE_CHECK (NODE)->type_non_common.values)
2590#define TYPE_ARG_TYPES(NODE) \
2591 (FUNC_OR_METHOD_CHECK (NODE)->type_non_common.values)
2592#define TYPE_VALUES_RAW(NODE) (TYPE_CHECK (NODE)->type_non_common.values)
2594#define TYPE_MIN_VALUE(NODE) \
2595 (NUMERICAL_TYPE_CHECK (NODE)->type_non_common.minval)
2596#define TYPE_NEXT_PTR_TO(NODE) \
2597 (POINTER_TYPE_CHECK (NODE)->type_non_common.minval)
2598#define TYPE_NEXT_REF_TO(NODE) \
2599 (REFERENCE_TYPE_CHECK (NODE)->type_non_common.minval)
2600#define TYPE_VFIELD(NODE) \
2601 (RECORD_OR_UNION_CHECK (NODE)->type_non_common.minval)
2602#define TYPE_MIN_VALUE_RAW(NODE) (TYPE_CHECK (NODE)->type_non_common.minval)
2604#define TYPE_MAX_VALUE(NODE) \
2605 (NUMERICAL_TYPE_CHECK (NODE)->type_non_common.maxval)
2606#define TYPE_METHOD_BASETYPE(NODE) \
2607 (FUNC_OR_METHOD_CHECK (NODE)->type_non_common.maxval)
2608#define TYPE_OFFSET_BASETYPE(NODE) \
2609 (OFFSET_TYPE_CHECK (NODE)->type_non_common.maxval)
2613#define TYPE_ARRAY_MAX_SIZE(ARRAY_TYPE) \
2614 (ARRAY_TYPE_CHECK (ARRAY_TYPE)->type_non_common.maxval)
2615#define TYPE_MAX_VALUE_RAW(NODE) (TYPE_CHECK (NODE)->type_non_common.maxval)
2618#define TYPE_BINFO(NODE) (RECORD_OR_UNION_CHECK (NODE)->type_non_common.maxval)
2621#define TYPE_LANG_SLOT_1(NODE) \
2622 (TYPE_CHECK (NODE)->type_non_common.lang_1)
2642#define BINFO_VIRTUAL_P(NODE) (TREE_BINFO_CHECK (NODE)->base.static_flag)
2645#define BINFO_FLAG_0(NODE) TREE_LANG_FLAG_0 (TREE_BINFO_CHECK (NODE))
2646#define BINFO_FLAG_1(NODE) TREE_LANG_FLAG_1 (TREE_BINFO_CHECK (NODE))
2647#define BINFO_FLAG_2(NODE) TREE_LANG_FLAG_2 (TREE_BINFO_CHECK (NODE))
2648#define BINFO_FLAG_3(NODE) TREE_LANG_FLAG_3 (TREE_BINFO_CHECK (NODE))
2649#define BINFO_FLAG_4(NODE) TREE_LANG_FLAG_4 (TREE_BINFO_CHECK (NODE))
2650#define BINFO_FLAG_5(NODE) TREE_LANG_FLAG_5 (TREE_BINFO_CHECK (NODE))
2651#define BINFO_FLAG_6(NODE) TREE_LANG_FLAG_6 (TREE_BINFO_CHECK (NODE))
2654#define BINFO_TYPE(NODE) TREE_TYPE (TREE_BINFO_CHECK (NODE))
2662#define BINFO_OFFSET(NODE) (TREE_BINFO_CHECK (NODE)->binfo.offset)
2663#define BINFO_OFFSET_ZEROP(NODE) (integer_zerop (BINFO_OFFSET (NODE)))
2669#define BINFO_VTABLE(NODE) (TREE_BINFO_CHECK (NODE)->binfo.vtable)
2674#define BINFO_VIRTUALS(NODE) (TREE_BINFO_CHECK (NODE)->binfo.virtuals)
2682#define BINFO_BASE_BINFOS(NODE) (&TREE_BINFO_CHECK (NODE)->binfo.base_binfos)
2685#define BINFO_N_BASE_BINFOS(NODE) (BINFO_BASE_BINFOS (NODE)->length ())
2688#define BINFO_BASE_BINFO(NODE,N) \
2689 ((*BINFO_BASE_BINFOS (NODE))[(N)])
2690#define BINFO_BASE_ITERATE(NODE,N,B) \
2691 (BINFO_BASE_BINFOS (NODE)->iterate ((N), &(B)))
2692#define BINFO_BASE_APPEND(NODE,T) \
2693 (BINFO_BASE_BINFOS (NODE)->quick_push ((T)))
2700#define BINFO_VPTR_FIELD(NODE) (TREE_BINFO_CHECK (NODE)->binfo.vptr_field)
2705#define BINFO_BASE_ACCESSES(NODE) \
2706 (TREE_BINFO_CHECK (NODE)->binfo.base_accesses)
2708#define BINFO_BASE_ACCESS(NODE,N) \
2709 (*BINFO_BASE_ACCESSES (NODE))[(N)]
2710#define BINFO_BASE_ACCESS_APPEND(NODE,T) \
2711 BINFO_BASE_ACCESSES (NODE)->quick_push ((T))
2715#define BINFO_SUBVTT_INDEX(NODE) (TREE_BINFO_CHECK (NODE)->binfo.vtt_subvtt)
2719#define BINFO_VPTR_INDEX(NODE) (TREE_BINFO_CHECK (NODE)->binfo.vtt_vptr)
2725#define BINFO_INHERITANCE_CHAIN(NODE) \
2726 (TREE_BINFO_CHECK (NODE)->binfo.inheritance)
2733#define SSA_VAR_P(DECL) \
2734 (TREE_CODE (DECL) == VAR_DECL \
2735 || TREE_CODE (DECL) == PARM_DECL \
2736 || TREE_CODE (DECL) == RESULT_DECL \
2737 || TREE_CODE (DECL) == SSA_NAME)
2740#define DECL_CHAIN(NODE) (TREE_CHAIN (DECL_MINIMAL_CHECK (NODE)))
2744#define DECL_NAME(NODE) (DECL_MINIMAL_CHECK (NODE)->decl_minimal.name)
2747#define TYPE_IDENTIFIER(NODE) \
2748 (TYPE_NAME (NODE) && DECL_P (TYPE_NAME (NODE)) \
2749 ? DECL_NAME (TYPE_NAME (NODE)) : TYPE_NAME (NODE))
2752#define DECL_UID(NODE) (DECL_MINIMAL_CHECK (NODE)->decl_minimal.uid)
2756#define DEBUG_TEMP_UID(NODE) (-DECL_UID (TREE_CHECK ((NODE), DEBUG_EXPR_DECL)))
2760#define DECL_PT_UID(NODE) \
2761 (DECL_COMMON_CHECK (NODE)->decl_common.pt_uid == -1u \
2762 ? (NODE)->decl_minimal.uid : (NODE)->decl_common.pt_uid)
2764#define SET_DECL_PT_UID(NODE, UID) \
2765 (DECL_COMMON_CHECK (NODE)->decl_common.pt_uid = (UID))
2768#define DECL_PT_UID_SET_P(NODE) \
2769 (DECL_COMMON_CHECK (NODE)->decl_common.pt_uid != -1u)
2775#define DECL_SOURCE_LOCATION(NODE) \
2776 (DECL_MINIMAL_CHECK (NODE)->decl_minimal.locus)
2777#define DECL_SOURCE_FILE(NODE) LOCATION_FILE (DECL_SOURCE_LOCATION (NODE))
2778#define DECL_SOURCE_LINE(NODE) LOCATION_LINE (DECL_SOURCE_LOCATION (NODE))
2779#define DECL_SOURCE_COLUMN(NODE) LOCATION_COLUMN (DECL_SOURCE_LOCATION (NODE))
2784#define DECL_IS_UNDECLARED_BUILTIN(DECL) \
2785 (DECL_SOURCE_LOCATION (DECL) <= BUILTINS_LOCATION)
2796#define DECL_CONTEXT(NODE) (DECL_MINIMAL_CHECK (NODE)->decl_minimal.context)
2797#define DECL_FIELD_CONTEXT(NODE) \
2798 (FIELD_DECL_CHECK (NODE)->decl_minimal.context)
2801#define DECL_NAMELESS(NODE) (DECL_MINIMAL_CHECK (NODE)->base.u.bits.nameless_flag)
2809#define DECL_ABSTRACT_ORIGIN(NODE) \
2810 (DECL_COMMON_CHECK (NODE)->decl_common.abstract_origin)
2814#define DECL_ORIGIN(NODE) \
2815 (DECL_ABSTRACT_ORIGIN (NODE) ? DECL_ABSTRACT_ORIGIN (NODE) : (NODE))
2821#define DECL_FROM_INLINE(NODE) \
2822 (DECL_ABSTRACT_ORIGIN (NODE) != NULL_TREE \
2823 && DECL_ABSTRACT_ORIGIN (NODE) != (NODE))
2826#define DECL_ATTRIBUTES(NODE) \
2827 (DECL_COMMON_CHECK (NODE)->decl_common.attributes)
2839#define DECL_INITIAL(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.initial)
2845#define DECL_SIZE(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.size)
2847#define DECL_SIZE_UNIT(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.size_unit)
2848#define DECL_ALIGN_RAW(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.align)
2852#define DECL_ALIGN(NODE) \
2853 (DECL_ALIGN_RAW (NODE) \
2854 ? ((unsigned)1) << (DECL_ALIGN_RAW (NODE) - 1) : 0)
2856#define SET_DECL_ALIGN(NODE, X) \
2857 (DECL_ALIGN_RAW (NODE) = ffs_hwi (X))
2861#define DECL_WARN_IF_NOT_ALIGN_RAW(NODE) \
2862 (DECL_COMMON_CHECK (NODE)->decl_common.warn_if_not_align)
2863#define DECL_WARN_IF_NOT_ALIGN(NODE) \
2864 (DECL_WARN_IF_NOT_ALIGN_RAW (NODE) \
2865 ? ((unsigned)1) << (DECL_WARN_IF_NOT_ALIGN_RAW (NODE) - 1) : 0)
2868#define SET_DECL_WARN_IF_NOT_ALIGN(NODE, X) \
2869 (DECL_WARN_IF_NOT_ALIGN_RAW (NODE) = ffs_hwi (X))
2872#define DECL_ALIGN_UNIT(NODE) (DECL_ALIGN (NODE) / BITS_PER_UNIT)
2875#define DECL_USER_ALIGN(NODE) \
2876 (DECL_COMMON_CHECK (NODE)->base.u.bits.user_align)
2880#define DECL_MODE(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.mode)
2881#define SET_DECL_MODE(NODE, MODE) \
2882 (DECL_COMMON_CHECK (NODE)->decl_common.mode = (MODE))
2888#define DECL_UNCHECKED_FUNCTION_CODE(NODE) \
2889 (FUNCTION_DECL_CHECK (NODE)->function_decl.function_code)
2892#define ALLOCA_FUNCTION_CODE_P(FCODE) \
2893 ((FCODE) == BUILT_IN_ALLOCA \
2894 || (FCODE) == BUILT_IN_ALLOCA_WITH_ALIGN \
2895 || (FCODE) == BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX)
2898#define CASE_BUILT_IN_ALLOCA \
2899 case BUILT_IN_ALLOCA: \
2900 case BUILT_IN_ALLOCA_WITH_ALIGN: \
2901 case BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX
2903#define DECL_FUNCTION_PERSONALITY(NODE) \
2904 (FUNCTION_DECL_CHECK (NODE)->function_decl.personality)
2910#define DECL_IGNORED_P(NODE) \
2911 (DECL_COMMON_CHECK (NODE)->decl_common.ignored_flag)
2919#define DECL_ABSTRACT_P(NODE) \
2920 (DECL_COMMON_CHECK (NODE)->decl_common.abstract_flag)
2923#define DECL_LANG_SPECIFIC(NODE) \
2924 (DECL_COMMON_CHECK (NODE)->decl_common.lang_specific)
2933#define DECL_EXTERNAL(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.decl_flag_1)
2942#define DECL_NONLOCAL(NODE) \
2943 (DECL_COMMON_CHECK (NODE)->decl_common.nonlocal_flag)
2948#define DECL_VIRTUAL_P(NODE) \
2949 (DECL_COMMON_CHECK (NODE)->decl_common.virtual_flag)
2952#define DECL_ARTIFICIAL(NODE) \
2953 (DECL_COMMON_CHECK (NODE)->decl_common.artificial_flag)
2956#define DECL_LANG_FLAG_0(NODE) \
2957 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_0)
2958#define DECL_LANG_FLAG_1(NODE) \
2959 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_1)
2960#define DECL_LANG_FLAG_2(NODE) \
2961 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_2)
2962#define DECL_LANG_FLAG_3(NODE) \
2963 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_3)
2964#define DECL_LANG_FLAG_4(NODE) \
2965 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_4)
2966#define DECL_LANG_FLAG_5(NODE) \
2967 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_5)
2968#define DECL_LANG_FLAG_6(NODE) \
2969 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_6)
2970#define DECL_LANG_FLAG_7(NODE) \
2971 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_7)
2972#define DECL_LANG_FLAG_8(NODE) \
2973 (DECL_COMMON_CHECK (NODE)->decl_common.lang_flag_8)
2976#define SCOPE_FILE_SCOPE_P(EXP) \
2977 (! (EXP) || TREE_CODE (EXP) == TRANSLATION_UNIT_DECL)
2979#define DECL_FILE_SCOPE_P(EXP) SCOPE_FILE_SCOPE_P (DECL_CONTEXT (EXP))
2981#define TYPE_FILE_SCOPE_P(EXP) SCOPE_FILE_SCOPE_P (TYPE_CONTEXT (EXP))
2985#define DECL_PRESERVE_P(DECL) \
2986 DECL_COMMON_CHECK (DECL)->decl_common.preserve_flag
2991#define DECL_NOINIT_P(DECL) \
2993 && (lookup_attribute ("noinit", DECL_ATTRIBUTES (DECL)) != NULL_TREE))
2998#define DECL_PERSISTENT_P(DECL) \
3000 && (lookup_attribute ("persistent", DECL_ATTRIBUTES (DECL)) != NULL_TREE))
3008#define DECL_NOT_GIMPLE_REG_P(DECL) \
3009 DECL_COMMON_CHECK (DECL)->decl_common.not_gimple_reg_flag
3017#define DECL_HAS_VALUE_EXPR_P(NODE) \
3018 (TREE_CHECK3 (NODE, VAR_DECL, PARM_DECL, RESULT_DECL) \
3019 ->decl_common.decl_flag_2)
3020#define DECL_VALUE_EXPR(NODE) \
3021 (decl_value_expr_lookup (DECL_WRTL_CHECK (NODE)))
3022#define SET_DECL_VALUE_EXPR(NODE, VAL) \
3023 (decl_value_expr_insert (DECL_WRTL_CHECK (NODE), VAL))
3028#define DECL_RTL(NODE) \
3029 (DECL_WRTL_CHECK (NODE)->decl_with_rtl.rtl \
3030 ? (NODE)->decl_with_rtl.rtl \
3031 : (make_decl_rtl (NODE), (NODE)->decl_with_rtl.rtl))
3034#define SET_DECL_RTL(NODE, RTL) set_decl_rtl (NODE, RTL)
3037#define HAS_RTL_P(NODE) (CODE_CONTAINS_STRUCT (TREE_CODE (NODE), TS_DECL_WRTL))
3040#define DECL_RTL_SET_P(NODE) \
3041 (HAS_RTL_P (NODE) && DECL_WRTL_CHECK (NODE)->decl_with_rtl.rtl != NULL)
3045#define COPY_DECL_RTL(SRC_DECL, DST_DECL) \
3046 (DECL_WRTL_CHECK (DST_DECL)->decl_with_rtl.rtl \
3047 = DECL_WRTL_CHECK (SRC_DECL)->decl_with_rtl.rtl)
3050#define DECL_RTL_IF_SET(NODE) (DECL_RTL_SET_P (NODE) ? DECL_RTL (NODE) : NULL)
3052#if (GCC_VERSION >= 2007)
3053#define DECL_RTL_KNOWN_SET(decl) __extension__ \
3054({ tree const __d = (decl); \
3055 gcc_checking_assert (DECL_RTL_SET_P (__d)); \
3058 &*DECL_RTL_IF_SET (__d); })
3060#define DECL_RTL_KNOWN_SET(decl) (&*DECL_RTL_IF_SET (decl))
3064#define DECL_REGISTER(NODE) (DECL_WRTL_CHECK (NODE)->decl_common.decl_flag_0)
3069#define DECL_FIELD_OFFSET(NODE) (FIELD_DECL_CHECK (NODE)->field_decl.offset)
3075#define DECL_FIELD_BIT_OFFSET(NODE) \
3076 (FIELD_DECL_CHECK (NODE)->field_decl.bit_offset)
3081#define DECL_BIT_FIELD_TYPE(NODE) \
3082 (FIELD_DECL_CHECK (NODE)->field_decl.bit_field_type)
3086#define DECL_BIT_FIELD_REPRESENTATIVE(NODE) \
3087 (FIELD_DECL_CHECK (NODE)->field_decl.qualifier)
3091#define DECL_QUALIFIER(NODE) (FIELD_DECL_CHECK (NODE)->field_decl.qualifier)
3097#define DECL_OFFSET_ALIGN(NODE) \
3098 (HOST_WIDE_INT_1U << FIELD_DECL_CHECK (NODE)->decl_common.off_align)
3101#define SET_DECL_OFFSET_ALIGN(NODE, X) \
3102 (FIELD_DECL_CHECK (NODE)->decl_common.off_align = ffs_hwi (X) - 1)
3107#define DECL_FCONTEXT(NODE) (FIELD_DECL_CHECK (NODE)->field_decl.fcontext)
3110#define DECL_PACKED(NODE) (FIELD_DECL_CHECK (NODE)->base.u.bits.packed_flag)
3114#define DECL_BIT_FIELD(NODE) (FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_1)
3120#define DECL_FIELD_ABI_IGNORED(NODE) \
3121 (!DECL_BIT_FIELD (NODE) && (NODE)->decl_common.decl_flag_0)
3122#define SET_DECL_FIELD_ABI_IGNORED(NODE, VAL) \
3124 gcc_checking_assert (!DECL_BIT_FIELD (NODE)); \
3125 FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_0 = (VAL); \
3133#define DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD(NODE) \
3134 (DECL_BIT_FIELD (NODE) && (NODE)->decl_common.decl_flag_0)
3135#define SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD(NODE, VAL) \
3137 gcc_checking_assert (DECL_BIT_FIELD (NODE)); \
3138 FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_0 = (VAL); \
3156#define DECL_NONADDRESSABLE_P(NODE) \
3157 (FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_2)
3160#define DECL_PADDING_P(NODE) \
3161 (FIELD_DECL_CHECK (NODE)->decl_common.decl_flag_3)
3166#define DECL_NOT_FLEXARRAY(NODE) \
3167 (FIELD_DECL_CHECK (NODE)->decl_common.decl_not_flexarray)
3172#define LABEL_DECL_UID(NODE) \
3173 (LABEL_DECL_CHECK (NODE)->label_decl.label_decl_uid)
3177#define EH_LANDING_PAD_NR(NODE) \
3178 (LABEL_DECL_CHECK (NODE)->label_decl.eh_landing_pad_nr)
3182#define DECL_ARG_TYPE(NODE) (PARM_DECL_CHECK (NODE)->decl_common.initial)
3186#define DECL_INCOMING_RTL(NODE) \
3187 (PARM_DECL_CHECK (NODE)->parm_decl.incoming_rtl)
3191#define DECL_IN_SYSTEM_HEADER(NODE) \
3192 (in_system_header_at (DECL_SOURCE_LOCATION (NODE)))
3196#define DECL_DEFER_OUTPUT(NODE) \
3197 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.defer_output)
3201#define DECL_IN_TEXT_SECTION(NODE) \
3202 (VAR_DECL_CHECK (NODE)->decl_with_vis.in_text_section)
3206#define DECL_IN_CONSTANT_POOL(NODE) \
3207 (VAR_DECL_CHECK (NODE)->decl_with_vis.in_constant_pool)
3212#define DECL_COMMON(NODE) \
3213 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.common_flag)
3217#define DECL_HARD_REGISTER(NODE) \
3218 (VAR_DECL_CHECK (NODE)->decl_with_vis.hard_register)
3221#define DECL_WEAK(NODE) (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.weak_flag)
3224#define DECL_DLLIMPORT_P(NODE) \
3225 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.dllimport_flag)
3236#define DECL_COMDAT(NODE) \
3237 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.comdat_flag)
3239#define DECL_COMDAT_GROUP(NODE) \
3240 decl_comdat_group (NODE)
3244#define DECL_ONE_ONLY(NODE) (DECL_COMDAT_GROUP (NODE) != NULL_TREE \
3245 && (TREE_PUBLIC (NODE) || DECL_EXTERNAL (NODE)))
3254#define DECL_ASSEMBLER_NAME(NODE) decl_assembler_name (NODE)
3257#define DECL_ASSEMBLER_NAME_RAW(NODE) \
3258 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.assembler_name)
3262#define HAS_DECL_ASSEMBLER_NAME_P(NODE) \
3263 (CODE_CONTAINS_STRUCT (TREE_CODE (NODE), TS_DECL_WITH_VIS))
3268#define DECL_ASSEMBLER_NAME_SET_P(NODE) \
3269 (DECL_ASSEMBLER_NAME_RAW (NODE) != NULL_TREE)
3272#define SET_DECL_ASSEMBLER_NAME(NODE, NAME) \
3273 overwrite_decl_assembler_name (NODE, NAME)
3286#define COPY_DECL_ASSEMBLER_NAME(SRC_DECL, DST_DECL) \
3287 SET_DECL_ASSEMBLER_NAME (DST_DECL, DECL_ASSEMBLER_NAME_RAW (SRC_DECL))
3291#define DECL_SECTION_NAME(NODE) decl_section_name (NODE)
3295#define DECL_SEEN_IN_BIND_EXPR_P(NODE) \
3296 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.seen_in_bind_expr)
3299#define DECL_VISIBILITY(NODE) \
3300 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.visibility)
3304#define DECL_VISIBILITY_SPECIFIED(NODE) \
3305 (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.visibility_specified)
3309#define DECL_TLS_MODEL(NODE) decl_tls_model (NODE)
3313#define DECL_THREAD_LOCAL_P(NODE) \
3314 ((TREE_STATIC (NODE) || DECL_EXTERNAL (NODE)) && decl_tls_model (NODE) >= TLS_MODEL_REAL)
3319#define DECL_HAS_INIT_PRIORITY_P(NODE) \
3320 (VAR_DECL_CHECK (NODE)->decl_with_vis.init_priority_p)
3326#define DECL_HAS_DEBUG_EXPR_P(NODE) \
3327 (VAR_DECL_CHECK (NODE)->decl_common.debug_expr_is_from)
3328#define DECL_DEBUG_EXPR(NODE) \
3329 (decl_debug_expr_lookup (VAR_DECL_CHECK (NODE)))
3331#define SET_DECL_DEBUG_EXPR(NODE, VAL) \
3332 (decl_debug_expr_insert (VAR_DECL_CHECK (NODE), VAL))
3341#define DECL_INIT_PRIORITY(NODE) \
3342 (decl_init_priority_lookup (NODE))
3344#define SET_DECL_INIT_PRIORITY(NODE, VAL) \
3345 (decl_init_priority_insert (NODE, VAL))
3348#define DECL_FINI_PRIORITY(NODE) \
3349 (decl_fini_priority_lookup (NODE))
3351#define SET_DECL_FINI_PRIORITY(NODE, VAL) \
3352 (decl_fini_priority_insert (NODE, VAL))
3356#define DEFAULT_INIT_PRIORITY 65535
3359#define MAX_INIT_PRIORITY 65535
3363#define MAX_RESERVED_INIT_PRIORITY 100
3366#define VAR_DECL_IS_VIRTUAL_OPERAND(NODE) \
3367 (VAR_DECL_CHECK (NODE)->base.u.bits.saturating_flag)
3370#define DECL_NONLOCAL_FRAME(NODE) \
3371 (VAR_DECL_CHECK (NODE)->base.default_def_flag)
3374#define DECL_NONALIASED(NODE) \
3375 (VAR_DECL_CHECK (NODE)->base.nothrow_flag)
3380#define DECL_MERGEABLE(NODE) \
3381 (VAR_DECL_CHECK (NODE)->decl_common.decl_flag_3)
3385#define DECL_RESULT_FLD(NODE) \
3386 (DECL_NON_COMMON_CHECK (NODE)->decl_non_common.result)
3395#define DECL_VINDEX(NODE) \
3396 (FUNCTION_DECL_CHECK (NODE)->function_decl.vindex)
3399#define DECL_RESULT(NODE) (FUNCTION_DECL_CHECK (NODE)->decl_non_common.result)
3402#define DECL_UNINLINABLE(NODE) \
3403 (FUNCTION_DECL_CHECK (NODE)->function_decl.uninlinable)
3407#define DECL_SAVED_TREE(NODE) \
3408 (FUNCTION_DECL_CHECK (NODE)->function_decl.saved_tree)
3413#define DECL_IS_MALLOC(NODE) \
3414 (FUNCTION_DECL_CHECK (NODE)->function_decl.malloc_flag)
3417#define FUNCTION_DECL_DECL_TYPE(NODE) \
3418 (NODE->function_decl.decl_type)
3438#define DECL_IS_REPLACEABLE_OPERATOR(NODE)\
3439 (FUNCTION_DECL_CHECK (NODE)->function_decl.replaceable_operator)
3444#define DECL_IS_OPERATOR_NEW_P(NODE) \
3445 (FUNCTION_DECL_DECL_TYPE (FUNCTION_DECL_CHECK (NODE)) == OPERATOR_NEW)
3447#define DECL_IS_REPLACEABLE_OPERATOR_NEW_P(NODE) \
3448 (DECL_IS_OPERATOR_NEW_P (NODE) && DECL_IS_REPLACEABLE_OPERATOR (NODE))
3450#define DECL_SET_IS_OPERATOR_NEW(NODE, VAL) \
3451 set_function_decl_type (FUNCTION_DECL_CHECK (NODE), OPERATOR_NEW, VAL)
3455#define DECL_IS_OPERATOR_DELETE_P(NODE) \
3456 (FUNCTION_DECL_DECL_TYPE (FUNCTION_DECL_CHECK (NODE)) == OPERATOR_DELETE)
3458#define DECL_SET_IS_OPERATOR_DELETE(NODE, VAL) \
3459 set_function_decl_type (FUNCTION_DECL_CHECK (NODE), OPERATOR_DELETE, VAL)
3463#define DECL_IS_RETURNS_TWICE(NODE) \
3464 (FUNCTION_DECL_CHECK (NODE)->function_decl.returns_twice_flag)
3471#define DECL_PURE_P(NODE) (FUNCTION_DECL_CHECK (NODE)->function_decl.pure_flag)
3479#define DECL_LOOPING_CONST_OR_PURE_P(NODE) \
3480 (FUNCTION_DECL_CHECK (NODE)->function_decl.looping_const_or_pure_flag)
3485#define DECL_IS_NOVOPS(NODE) \
3486 (FUNCTION_DECL_CHECK (NODE)->function_decl.novops_flag)
3490#define DECL_STATIC_CONSTRUCTOR(NODE) \
3491 (FUNCTION_DECL_CHECK (NODE)->function_decl.static_ctor_flag)
3493#define DECL_STATIC_DESTRUCTOR(NODE) \
3494(FUNCTION_DECL_CHECK (NODE)->function_decl.static_dtor_flag)
3498#define DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT(NODE) \
3499 (FUNCTION_DECL_CHECK (NODE)->function_decl.no_instrument_function_entry_exit)
3503#define DECL_NO_LIMIT_STACK(NODE) \
3504 (FUNCTION_DECL_CHECK (NODE)->function_decl.no_limit_stack)
3507#define DECL_STATIC_CHAIN(NODE) \
3508 (FUNCTION_DECL_CHECK (NODE)->decl_with_vis.regdecl_flag)
3513#define DECL_POSSIBLY_INLINED(DECL) \
3514 FUNCTION_DECL_CHECK (DECL)->function_decl.possibly_inlined
3519#define DECL_DECLARED_INLINE_P(NODE) \
3520 (FUNCTION_DECL_CHECK (NODE)->function_decl.declared_inline_flag)
3524#define DECL_NO_INLINE_WARNING_P(NODE) \
3525 (FUNCTION_DECL_CHECK (NODE)->function_decl.no_inline_warning_flag)
3528#define BUILTIN_TM_LOAD_STORE_P(FN) \
3529 ((FN) >= BUILT_IN_TM_STORE_1 && (FN) <= BUILT_IN_TM_LOAD_RFW_LDOUBLE)
3532#define BUILTIN_TM_LOAD_P(FN) \
3533 ((FN) >= BUILT_IN_TM_LOAD_1 && (FN) <= BUILT_IN_TM_LOAD_RFW_LDOUBLE)
3536#define BUILTIN_TM_STORE_P(FN) \
3537 ((FN) >= BUILT_IN_TM_STORE_1 && (FN) <= BUILT_IN_TM_STORE_WAW_LDOUBLE)
3539#define CASE_BUILT_IN_TM_LOAD(FN) \
3540 case BUILT_IN_TM_LOAD_##FN: \
3541 case BUILT_IN_TM_LOAD_RAR_##FN: \
3542 case BUILT_IN_TM_LOAD_RAW_##FN: \
3543 case BUILT_IN_TM_LOAD_RFW_##FN
3545#define CASE_BUILT_IN_TM_STORE(FN) \
3546 case BUILT_IN_TM_STORE_##FN: \
3547 case BUILT_IN_TM_STORE_WAR_##FN: \
3548 case BUILT_IN_TM_STORE_WAW_##FN
3554#define DECL_DISREGARD_INLINE_LIMITS(NODE) \
3555 (FUNCTION_DECL_CHECK (NODE)->function_decl.disregard_inline_limits)
3561#define DECL_HAS_DEBUG_ARGS_P(NODE) \
3562 (FUNCTION_DECL_CHECK (NODE)->function_decl.has_debug_args_flag)
3566#define DECL_STRUCT_FUNCTION(NODE) \
3567 (FUNCTION_DECL_CHECK (NODE)->function_decl.f)
3570#define DECL_BUILT_IN_CLASS(NODE) \
3571 ((built_in_class) FUNCTION_DECL_CHECK (NODE)->function_decl.built_in_class)
3574#define DECL_ARGUMENTS(NODE) \
3575 (FUNCTION_DECL_CHECK (NODE)->function_decl.arguments)
3579#define DECL_FUNCTION_SPECIFIC_TARGET(NODE) \
3580 (FUNCTION_DECL_CHECK (NODE)->function_decl.function_specific_target)
3584#define DECL_FUNCTION_SPECIFIC_OPTIMIZATION(NODE) \
3585 (FUNCTION_DECL_CHECK (NODE)->function_decl.function_specific_optimization)
3590#define DECL_FUNCTION_VERSIONED(NODE)\
3591 (FUNCTION_DECL_CHECK (NODE)->function_decl.versioned_function)
3597#define DECL_CXX_CONSTRUCTOR_P(NODE)\
3598 (FUNCTION_DECL_CHECK (NODE)->decl_with_vis.cxx_constructor)
3602#define DECL_CXX_DESTRUCTOR_P(NODE)\
3603 (FUNCTION_DECL_CHECK (NODE)->decl_with_vis.cxx_destructor)
3606#define DECL_LAMBDA_FUNCTION_P(NODE) \
3607 (FUNCTION_DECL_DECL_TYPE (FUNCTION_DECL_CHECK (NODE)) == LAMBDA_FUNCTION)
3609#define DECL_SET_LAMBDA_FUNCTION(NODE, VAL) \
3610 set_function_decl_type (FUNCTION_DECL_CHECK (NODE), LAMBDA_FUNCTION, VAL)
3614#define DECL_FINAL_P(NODE)\
3615 (FUNCTION_DECL_CHECK (NODE)->decl_with_vis.final)
3618#define TRANSLATION_UNIT_LANGUAGE(NODE) \
3619 (TRANSLATION_UNIT_DECL_CHECK (NODE)->translation_unit_decl.language)
3624#define DECL_ORIGINAL_TYPE(NODE) \
3625 (TYPE_DECL_CHECK (NODE)->decl_non_common.result)
3630#define TYPE_DECL_SUPPRESS_DEBUG(NODE) \
3631 (TYPE_DECL_CHECK (NODE)->decl_common.decl_flag_1)
3635#define IMPORTED_DECL_ASSOCIATED_DECL(NODE) \
3636(DECL_INITIAL (IMPORTED_DECL_CHECK (NODE)))
3640#define NAMELIST_DECL_ASSOCIATED_DECL(NODE) \
3641 (DECL_INITIAL (NODE))
3649#define STATEMENT_LIST_HEAD(NODE) \
3650 (STATEMENT_LIST_CHECK (NODE)->stmt_list.head)
3651#define STATEMENT_LIST_TAIL(NODE) \
3652 (STATEMENT_LIST_CHECK (NODE)->stmt_list.tail)
3654#define TREE_OPTIMIZATION(NODE) \
3655 (OPTIMIZATION_NODE_CHECK (NODE)->optimization.opts)
3657#define TREE_OPTIMIZATION_OPTABS(NODE) \
3658 (OPTIMIZATION_NODE_CHECK (NODE)->optimization.optabs)
3660#define TREE_OPTIMIZATION_BASE_OPTABS(NODE) \
3661 (OPTIMIZATION_NODE_CHECK (NODE)->optimization.base_optabs)
3666 struct gcc_options *opts_set);
3668#define TREE_TARGET_OPTION(NODE) \
3669 (TARGET_OPTION_NODE_CHECK (NODE)->target_option.opts)
3671#define TREE_TARGET_GLOBALS(NODE) \
3672 (TARGET_OPTION_NODE_CHECK (NODE)->target_option.globals)
3677 struct gcc_options *opts_set);
3681#if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007)
3684tree_check (
tree __t,
const char *__f,
int __l,
const char *__g,
tree_code __c)
3687 tree_check_failed (__t, __f, __l, __g, __c, 0);
3692tree_not_check (
tree __t,
const char *__f,
int __l,
const char *__g,
3696 tree_not_check_failed (__t, __f, __l, __g, __c, 0);
3701tree_check2 (
tree __t,
const char *__f,
int __l,
const char *__g,
3706 tree_check_failed (__t, __f, __l, __g, __c1, __c2, 0);
3711tree_not_check2 (
tree __t,
const char *__f,
int __l,
const char *__g,
3716 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, 0);
3721tree_check3 (
tree __t,
const char *__f,
int __l,
const char *__g,
3727 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, 0);
3732tree_not_check3 (
tree __t,
const char *__f,
int __l,
const char *__g,
3738 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, 0);
3743tree_check4 (
tree __t,
const char *__f,
int __l,
const char *__g,
3751 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, 0);
3756tree_not_check4 (
tree __t,
const char *__f,
int __l,
const char *__g,
3764 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, 0);
3769tree_check5 (
tree __t,
const char *__f,
int __l,
const char *__g,
3778 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, 0);
3783tree_not_check5 (
tree __t,
const char *__f,
int __l,
const char *__g,
3792 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, 0);
3797tree_check6 (
tree __t,
const char *__f,
int __l,
const char *__g,
3807 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6,
3813tree_not_check6 (
tree __t,
const char *__f,
int __l,
const char *__g,
3823 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5,
3830 const char *__f,
int __l,
const char *__g)
3833 tree_contains_struct_check_failed (__t, __s, __f, __l, __g);
3839 const char *__f,
int __l,
const char *__g)
3842 tree_class_check_failed (__t, __class, __f, __l, __g);
3847tree_range_check (
tree __t,
3849 const char *__f,
int __l,
const char *__g)
3852 tree_range_check_failed (__t, __f, __l, __g, __code1, __code2);
3858 const char *__f,
int __l,
const char *__g)
3861 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
3862 if (__t->omp_clause.code != __code)
3863 omp_clause_check_failed (__t, __f, __l, __g, __code);
3868omp_clause_range_check (
tree __t,
3871 const char *__f,
int __l,
const char *__g)
3874 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
3875 if ((
int) __t->omp_clause.code < (
int) __code1
3876 || (
int) __t->omp_clause.code > (
int) __code2)
3877 omp_clause_range_check_failed (__t, __f, __l, __g, __code1, __code2);
3884expr_check (
tree __t,
const char *__f,
int __l,
const char *__g)
3895non_type_check (
tree __t,
const char *__f,
int __l,
const char *__g)
3898 tree_not_class_check_failed (__t,
tcc_type, __f, __l, __g);
3902inline const HOST_WIDE_INT *
3903tree_int_cst_elt_check (
const_tree __t,
int __i,
3904 const char *__f,
int __l,
const char *__g)
3907 tree_check_failed (__t, __f, __l, __g, INTEGER_CST, 0);
3908 if (__i < 0 || __i >= __t->base.u.int_length.extended)
3909 tree_int_cst_elt_check_failed (__i, __t->base.u.int_length.extended,
3914inline HOST_WIDE_INT *
3915tree_int_cst_elt_check (
tree __t,
int __i,
3916 const char *__f,
int __l,
const char *__g)
3919 tree_check_failed (__t, __f, __l, __g, INTEGER_CST, 0);
3920 if (__i < 0 || __i >= __t->base.u.int_length.extended)
3921 tree_int_cst_elt_check_failed (__i, __t->base.u.int_length.extended,
3928# if GCC_VERSION >= 4006
3929#pragma GCC diagnostic push
3930#pragma GCC diagnostic ignored "-Wstrict-overflow"
3934tree_vec_elt_check (
tree __t,
int __i,
3935 const char *__f,
int __l,
const char *__g)
3938 tree_check_failed (__t, __f, __l, __g, TREE_VEC, 0);
3939 if (__i < 0 || __i >= __t->base.u.length)
3940 tree_vec_elt_check_failed (__i, __t->base.u.length, __f, __l, __g);
3944# if GCC_VERSION >= 4006
3945#pragma GCC diagnostic pop
3949omp_clause_elt_check (
tree __t,
int __i,
3950 const char *__f,
int __l,
const char *__g)
3953 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
3955 omp_clause_operand_check_failed (__i, __t, __f, __l, __g);
3956 return &__t->omp_clause.ops[__i];
3962any_integral_type_check (
tree __t,
const char *__f,
int __l,
const char *__g)
3965 tree_check_failed (__t, __f, __l, __g, BOOLEAN_TYPE, ENUMERAL_TYPE,
3966 INTEGER_TYPE, BITINT_TYPE, 0);
3971tree_check (
const_tree __t,
const char *__f,
int __l,
const char *__g,
3975 tree_check_failed (__t, __f, __l, __g, __c, 0);
3980tree_not_check (
const_tree __t,
const char *__f,
int __l,
const char *__g,
3984 tree_not_check_failed (__t, __f, __l, __g, __c, 0);
3989tree_check2 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
3994 tree_check_failed (__t, __f, __l, __g, __c1, __c2, 0);
3999tree_not_check2 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4004 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, 0);
4009tree_check3 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4015 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, 0);
4020tree_not_check3 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4026 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, 0);
4031tree_check4 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4039 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, 0);
4044tree_not_check4 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4052 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, 0);
4057tree_check5 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4066 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, 0);
4071tree_not_check5 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4080 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, 0);
4085tree_check6 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4095 tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6,
4101tree_not_check6 (
const_tree __t,
const char *__f,
int __l,
const char *__g,
4111 tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5,
4118 const char *__f,
int __l,
const char *__g)
4121 tree_contains_struct_check_failed (__t, __s, __f, __l, __g);
4127 const char *__f,
int __l,
const char *__g)
4130 tree_class_check_failed (__t, __class, __f, __l, __g);
4137 const char *__f,
int __l,
const char *__g)
4140 tree_range_check_failed (__t, __f, __l, __g, __code1, __code2);
4146 const char *__f,
int __l,
const char *__g)
4149 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
4150 if (__t->omp_clause.code != __code)
4151 omp_clause_check_failed (__t, __f, __l, __g, __code);
4159 const char *__f,
int __l,
const char *__g)
4162 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
4163 if ((
int) __t->omp_clause.code < (
int) __code1
4164 || (
int) __t->omp_clause.code > (
int) __code2)
4165 omp_clause_range_check_failed (__t, __f, __l, __g, __code1, __code2);
4170expr_check (
const_tree __t,
const char *__f,
int __l,
const char *__g)
4179non_type_check (
const_tree __t,
const char *__f,
int __l,
const char *__g)
4182 tree_not_class_check_failed (__t,
tcc_type, __f, __l, __g);
4186# if GCC_VERSION >= 4006
4187#pragma GCC diagnostic push
4188#pragma GCC diagnostic ignored "-Wstrict-overflow"
4193 const char *__f,
int __l,
const char *__g)
4196 tree_check_failed (__t, __f, __l, __g, TREE_VEC, 0);
4197 if (__i < 0 || __i >= __t->base.u.length)
4198 tree_vec_elt_check_failed (__i, __t->base.u.length, __f, __l, __g);
4203# if GCC_VERSION >= 4006
4204#pragma GCC diagnostic pop
4208omp_clause_elt_check (
const_tree __t,
int __i,
4209 const char *__f,
int __l,
const char *__g)
4212 tree_check_failed (__t, __f, __l, __g, OMP_CLAUSE, 0);
4214 omp_clause_operand_check_failed (__i, __t, __f, __l, __g);
4219any_integral_type_check (
const_tree __t,
const char *__f,
int __l,
4223 tree_check_failed (__t, __f, __l, __g, BOOLEAN_TYPE, ENUMERAL_TYPE,
4224 INTEGER_TYPE, BITINT_TYPE, 0);
4242#if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007)
4246tree_operand_check (
tree __t,
int __i,
4247 const char *__f,
int __l,
const char *__g)
4251 tree_operand_check_failed (__i, __u, __f, __l, __g);
4256tree_operand_check_code (
tree __t,
enum tree_code __code,
int __i,
4257 const char *__f,
int __l,
const char *__g)
4260 tree_check_failed (__t, __f, __l, __g, __code, 0);
4262 tree_operand_check_failed (__i, __t, __f, __l, __g);
4263 return &__t->exp.operands[__i];
4268 const char *__f,
int __l,
const char *__g)
4272 tree_operand_check_failed (__i, __u, __f, __l, __g);
4278 const char *__f,
int __l,
const char *__g)
4281 tree_check_failed (__t, __f, __l, __g, __code, 0);
4283 tree_operand_check_failed (__i, __t, __f, __l, __g);
4309 unsigned int precision = VECTOR_TYPE_CHECK (node)->type_common.precision;
4316 if (precision & 0x100)
4331 unsigned HOST_WIDE_INT coeff0 = subparts.
coeffs[0];
4351 unsigned HOST_WIDE_INT coeff1 = subparts.
coeffs[1];
4352 gcc_assert (coeff1 == 0 || coeff1 == coeff0);
4353 VECTOR_TYPE_CHECK (node)->type_common.precision
4354 = index + (coeff1 != 0 ? 0x100 : 0);
4357 VECTOR_TYPE_CHECK (node)->type_common.precision = index;
4366 unsigned HOST_WIDE_INT coeff0 = subparts.
coeffs[0];
4371 unsigned HOST_WIDE_INT coeff1 = subparts.
coeffs[1];
4372 if (coeff1 != 0 && coeff1 != coeff0)
4383 const tree_function_decl &fndecl = FUNCTION_DECL_CHECK (
decl)->function_decl;
4394 const tree_function_decl &fndecl = FUNCTION_DECL_CHECK (
decl)->function_decl;
4396 return fndecl.function_code;
4405 const tree_function_decl &fndecl = FUNCTION_DECL_CHECK (
decl)->function_decl;
4407 return fndecl.function_code;
4416 tree_function_decl &fndecl = FUNCTION_DECL_CHECK (
decl)->function_decl;
4417 fndecl.built_in_class = fclass;
4418 fndecl.function_code = fcode;
4426 tree_function_decl &newfndecl = FUNCTION_DECL_CHECK (newdecl)->function_decl;
4427 const tree_function_decl &oldfndecl
4428 = FUNCTION_DECL_CHECK (olddecl)->function_decl;
4429 newfndecl.built_in_class = oldfndecl.built_in_class;
4430 newfndecl.function_code = oldfndecl.function_code;
4437#define EXPR_LOCATION_WRAPPER_P(NODE) \
4438 (TREE_CHECK2(NODE, NON_LVALUE_EXPR, VIEW_CONVERT_EXPR)->base.public_flag)
4472#define error_mark_node global_trees[TI_ERROR_MARK]
4474#define intQI_type_node global_trees[TI_INTQI_TYPE]
4475#define intHI_type_node global_trees[TI_INTHI_TYPE]
4476#define intSI_type_node global_trees[TI_INTSI_TYPE]
4477#define intDI_type_node global_trees[TI_INTDI_TYPE]
4478#define intTI_type_node global_trees[TI_INTTI_TYPE]
4480#define unsigned_intQI_type_node global_trees[TI_UINTQI_TYPE]
4481#define unsigned_intHI_type_node global_trees[TI_UINTHI_TYPE]
4482#define unsigned_intSI_type_node global_trees[TI_UINTSI_TYPE]
4483#define unsigned_intDI_type_node global_trees[TI_UINTDI_TYPE]
4484#define unsigned_intTI_type_node global_trees[TI_UINTTI_TYPE]
4486#define atomicQI_type_node global_trees[TI_ATOMICQI_TYPE]
4487#define atomicHI_type_node global_trees[TI_ATOMICHI_TYPE]
4488#define atomicSI_type_node global_trees[TI_ATOMICSI_TYPE]
4489#define atomicDI_type_node global_trees[TI_ATOMICDI_TYPE]
4490#define atomicTI_type_node global_trees[TI_ATOMICTI_TYPE]
4492#define uint16_type_node global_trees[TI_UINT16_TYPE]
4493#define uint32_type_node global_trees[TI_UINT32_TYPE]
4494#define uint64_type_node global_trees[TI_UINT64_TYPE]
4495#define uint128_type_node global_trees[TI_UINT128_TYPE]
4497#define void_node global_trees[TI_VOID]
4499#define integer_zero_node global_trees[TI_INTEGER_ZERO]
4500#define integer_one_node global_trees[TI_INTEGER_ONE]
4501#define integer_minus_one_node global_trees[TI_INTEGER_MINUS_ONE]
4502#define size_zero_node global_trees[TI_SIZE_ZERO]
4503#define size_one_node global_trees[TI_SIZE_ONE]
4504#define bitsize_zero_node global_trees[TI_BITSIZE_ZERO]
4505#define bitsize_one_node global_trees[TI_BITSIZE_ONE]
4506#define bitsize_unit_node global_trees[TI_BITSIZE_UNIT]
4509#define access_public_node global_trees[TI_PUBLIC]
4510#define access_protected_node global_trees[TI_PROTECTED]
4511#define access_private_node global_trees[TI_PRIVATE]
4513#define null_pointer_node global_trees[TI_NULL_POINTER]
4515#define float_type_node global_trees[TI_FLOAT_TYPE]
4516#define double_type_node global_trees[TI_DOUBLE_TYPE]
4517#define long_double_type_node global_trees[TI_LONG_DOUBLE_TYPE]
4518#define bfloat16_type_node global_trees[TI_BFLOAT16_TYPE]
4521#define FLOATN_TYPE_NODE(IDX) global_trees[TI_FLOATN_TYPE_FIRST + (IDX)]
4522#define FLOATN_NX_TYPE_NODE(IDX) global_trees[TI_FLOATN_NX_TYPE_FIRST + (IDX)]
4523#define FLOATNX_TYPE_NODE(IDX) global_trees[TI_FLOATNX_TYPE_FIRST + (IDX)]
4528#define float16_type_node global_trees[TI_FLOAT16_TYPE]
4529#define float32_type_node global_trees[TI_FLOAT32_TYPE]
4530#define float64_type_node global_trees[TI_FLOAT64_TYPE]
4531#define float128_type_node global_trees[TI_FLOAT128_TYPE]
4532#define float32x_type_node global_trees[TI_FLOAT32X_TYPE]
4533#define float64x_type_node global_trees[TI_FLOAT64X_TYPE]
4534#define float128x_type_node global_trees[TI_FLOAT128X_TYPE]
4538#define float128t_type_node global_trees[TI_FLOAT128T_TYPE]
4540#define float_ptr_type_node global_trees[TI_FLOAT_PTR_TYPE]
4541#define double_ptr_type_node global_trees[TI_DOUBLE_PTR_TYPE]
4542#define long_double_ptr_type_node global_trees[TI_LONG_DOUBLE_PTR_TYPE]
4543#define integer_ptr_type_node global_trees[TI_INTEGER_PTR_TYPE]
4545#define complex_integer_type_node global_trees[TI_COMPLEX_INTEGER_TYPE]
4546#define complex_float_type_node global_trees[TI_COMPLEX_FLOAT_TYPE]
4547#define complex_double_type_node global_trees[TI_COMPLEX_DOUBLE_TYPE]
4548#define complex_long_double_type_node global_trees[TI_COMPLEX_LONG_DOUBLE_TYPE]
4550#define COMPLEX_FLOATN_NX_TYPE_NODE(IDX) global_trees[TI_COMPLEX_FLOATN_NX_TYPE_FIRST + (IDX)]
4552#define void_type_node global_trees[TI_VOID_TYPE]
4554#define ptr_type_node global_trees[TI_PTR_TYPE]
4556#define const_ptr_type_node global_trees[TI_CONST_PTR_TYPE]
4558#define size_type_node global_trees[TI_SIZE_TYPE]
4559#define pid_type_node global_trees[TI_PID_TYPE]
4560#define ptrdiff_type_node global_trees[TI_PTRDIFF_TYPE]
4561#define va_list_type_node global_trees[TI_VA_LIST_TYPE]
4562#define va_list_gpr_counter_field global_trees[TI_VA_LIST_GPR_COUNTER_FIELD]
4563#define va_list_fpr_counter_field global_trees[TI_VA_LIST_FPR_COUNTER_FIELD]
4565#define fileptr_type_node global_trees[TI_FILEPTR_TYPE]
4567#define const_tm_ptr_type_node global_trees[TI_CONST_TM_PTR_TYPE]
4569#define fenv_t_ptr_type_node global_trees[TI_FENV_T_PTR_TYPE]
4570#define const_fenv_t_ptr_type_node global_trees[TI_CONST_FENV_T_PTR_TYPE]
4572#define fexcept_t_ptr_type_node global_trees[TI_FEXCEPT_T_PTR_TYPE]
4573#define const_fexcept_t_ptr_type_node global_trees[TI_CONST_FEXCEPT_T_PTR_TYPE]
4574#define pointer_sized_int_node global_trees[TI_POINTER_SIZED_TYPE]
4576#define boolean_type_node global_trees[TI_BOOLEAN_TYPE]
4577#define boolean_false_node global_trees[TI_BOOLEAN_FALSE]
4578#define boolean_true_node global_trees[TI_BOOLEAN_TRUE]
4581#define dfloat32_type_node global_trees[TI_DFLOAT32_TYPE]
4582#define dfloat64_type_node global_trees[TI_DFLOAT64_TYPE]
4583#define dfloat128_type_node global_trees[TI_DFLOAT128_TYPE]
4584#define dfloat64x_type_node global_trees[TI_DFLOAT64X_TYPE]
4587#define sat_short_fract_type_node global_trees[TI_SAT_SFRACT_TYPE]
4588#define sat_fract_type_node global_trees[TI_SAT_FRACT_TYPE]
4589#define sat_long_fract_type_node global_trees[TI_SAT_LFRACT_TYPE]
4590#define sat_long_long_fract_type_node global_trees[TI_SAT_LLFRACT_TYPE]
4591#define sat_unsigned_short_fract_type_node \
4592 global_trees[TI_SAT_USFRACT_TYPE]
4593#define sat_unsigned_fract_type_node global_trees[TI_SAT_UFRACT_TYPE]
4594#define sat_unsigned_long_fract_type_node \
4595 global_trees[TI_SAT_ULFRACT_TYPE]
4596#define sat_unsigned_long_long_fract_type_node \
4597 global_trees[TI_SAT_ULLFRACT_TYPE]
4598#define short_fract_type_node global_trees[TI_SFRACT_TYPE]
4599#define fract_type_node global_trees[TI_FRACT_TYPE]
4600#define long_fract_type_node global_trees[TI_LFRACT_TYPE]
4601#define long_long_fract_type_node global_trees[TI_LLFRACT_TYPE]
4602#define unsigned_short_fract_type_node global_trees[TI_USFRACT_TYPE]
4603#define unsigned_fract_type_node global_trees[TI_UFRACT_TYPE]
4604#define unsigned_long_fract_type_node global_trees[TI_ULFRACT_TYPE]
4605#define unsigned_long_long_fract_type_node \
4606 global_trees[TI_ULLFRACT_TYPE]
4607#define sat_short_accum_type_node global_trees[TI_SAT_SACCUM_TYPE]
4608#define sat_accum_type_node global_trees[TI_SAT_ACCUM_TYPE]
4609#define sat_long_accum_type_node global_trees[TI_SAT_LACCUM_TYPE]
4610#define sat_long_long_accum_type_node global_trees[TI_SAT_LLACCUM_TYPE]
4611#define sat_unsigned_short_accum_type_node \
4612 global_trees[TI_SAT_USACCUM_TYPE]
4613#define sat_unsigned_accum_type_node global_trees[TI_SAT_UACCUM_TYPE]
4614#define sat_unsigned_long_accum_type_node \
4615 global_trees[TI_SAT_ULACCUM_TYPE]
4616#define sat_unsigned_long_long_accum_type_node \
4617 global_trees[TI_SAT_ULLACCUM_TYPE]
4618#define short_accum_type_node global_trees[TI_SACCUM_TYPE]
4619#define accum_type_node global_trees[TI_ACCUM_TYPE]
4620#define long_accum_type_node global_trees[TI_LACCUM_TYPE]
4621#define long_long_accum_type_node global_trees[TI_LLACCUM_TYPE]
4622#define unsigned_short_accum_type_node global_trees[TI_USACCUM_TYPE]
4623#define unsigned_accum_type_node global_trees[TI_UACCUM_TYPE]
4624#define unsigned_long_accum_type_node global_trees[TI_ULACCUM_TYPE]
4625#define unsigned_long_long_accum_type_node \
4626 global_trees[TI_ULLACCUM_TYPE]
4627#define qq_type_node global_trees[TI_QQ_TYPE]
4628#define hq_type_node global_trees[TI_HQ_TYPE]
4629#define sq_type_node global_trees[TI_SQ_TYPE]
4630#define dq_type_node global_trees[TI_DQ_TYPE]
4631#define tq_type_node global_trees[TI_TQ_TYPE]
4632#define uqq_type_node global_trees[TI_UQQ_TYPE]
4633#define uhq_type_node global_trees[TI_UHQ_TYPE]
4634#define usq_type_node global_trees[TI_USQ_TYPE]
4635#define udq_type_node global_trees[TI_UDQ_TYPE]
4636#define utq_type_node global_trees[TI_UTQ_TYPE]
4637#define sat_qq_type_node global_trees[TI_SAT_QQ_TYPE]
4638#define sat_hq_type_node global_trees[TI_SAT_HQ_TYPE]
4639#define sat_sq_type_node global_trees[TI_SAT_SQ_TYPE]
4640#define sat_dq_type_node global_trees[TI_SAT_DQ_TYPE]
4641#define sat_tq_type_node global_trees[TI_SAT_TQ_TYPE]
4642#define sat_uqq_type_node global_trees[TI_SAT_UQQ_TYPE]
4643#define sat_uhq_type_node global_trees[TI_SAT_UHQ_TYPE]
4644#define sat_usq_type_node global_trees[TI_SAT_USQ_TYPE]
4645#define sat_udq_type_node global_trees[TI_SAT_UDQ_TYPE]
4646#define sat_utq_type_node global_trees[TI_SAT_UTQ_TYPE]
4647#define ha_type_node global_trees[TI_HA_TYPE]
4648#define sa_type_node global_trees[TI_SA_TYPE]
4649#define da_type_node global_trees[TI_DA_TYPE]
4650#define ta_type_node global_trees[TI_TA_TYPE]
4651#define uha_type_node global_trees[TI_UHA_TYPE]
4652#define usa_type_node global_trees[TI_USA_TYPE]
4653#define uda_type_node global_trees[TI_UDA_TYPE]
4654#define uta_type_node global_trees[TI_UTA_TYPE]
4655#define sat_ha_type_node global_trees[TI_SAT_HA_TYPE]
4656#define sat_sa_type_node global_trees[TI_SAT_SA_TYPE]
4657#define sat_da_type_node global_trees[TI_SAT_DA_TYPE]
4658#define sat_ta_type_node global_trees[TI_SAT_TA_TYPE]
4659#define sat_uha_type_node global_trees[TI_SAT_UHA_TYPE]
4660#define sat_usa_type_node global_trees[TI_SAT_USA_TYPE]
4661#define sat_uda_type_node global_trees[TI_SAT_UDA_TYPE]
4662#define sat_uta_type_node global_trees[TI_SAT_UTA_TYPE]
4669#define void_list_node global_trees[TI_VOID_LIST_NODE]
4671#define main_identifier_node global_trees[TI_MAIN_IDENTIFIER]
4672#define MAIN_NAME_P(NODE) \
4673 (IDENTIFIER_NODE_CHECK (NODE) == main_identifier_node)
4677#define optimization_default_node global_trees[TI_OPTIMIZATION_DEFAULT]
4678#define optimization_current_node global_trees[TI_OPTIMIZATION_CURRENT]
4681#define target_option_default_node global_trees[TI_TARGET_OPTION_DEFAULT]
4682#define target_option_current_node global_trees[TI_TARGET_OPTION_CURRENT]
4686#define current_target_pragma global_trees[TI_CURRENT_TARGET_PRAGMA]
4687#define current_optimize_pragma global_trees[TI_CURRENT_OPTIMIZE_PRAGMA]
4690#define chrec_not_analyzed_yet NULL_TREE
4691#define chrec_dont_know global_trees[TI_CHREC_DONT_KNOW]
4692#define chrec_known global_trees[TI_CHREC_KNOWN]
4694#define char_type_node integer_types[itk_char]
4695#define signed_char_type_node integer_types[itk_signed_char]
4696#define unsigned_char_type_node integer_types[itk_unsigned_char]
4697#define short_integer_type_node integer_types[itk_short]
4698#define short_unsigned_type_node integer_types[itk_unsigned_short]
4699#define integer_type_node integer_types[itk_int]
4700#define unsigned_type_node integer_types[itk_unsigned_int]
4701#define long_integer_type_node integer_types[itk_long]
4702#define long_unsigned_type_node integer_types[itk_unsigned_long]
4703#define long_long_integer_type_node integer_types[itk_long_long]
4704#define long_long_unsigned_type_node integer_types[itk_unsigned_long_long]
4918#define build_call_array(T1,T2,N,T3)\
4919 build_call_array_loc (UNKNOWN_LOCATION, T1, T2, N, T3)
4970#define build_function_type_vec(RET, V) \
4971 build_function_type_array (RET, vec_safe_length (V), vec_safe_address (V))
4972#define build_varargs_function_type_vec(RET, V) \
4973 build_varargs_function_type_array (RET, vec_safe_length (V), \
4974 vec_safe_address (V))
4997 ATTRIBUTE_NONNULL (1) ATTRIBUTE_PURE;
4999 ATTRIBUTE_NONNULL (1) ATTRIBUTE_PURE;
5001 ATTRIBUTE_NONNULL (1) ATTRIBUTE_PURE;
5003 ATTRIBUTE_NONNULL (1) ATTRIBUTE_PURE;
5004#if !defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 4003)
5005extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
5012extern inline __attribute__ ((__gnu_inline__))
unsigned HOST_WIDE_INT
5018#if NUM_POLY_INT_COEFFS == 1
5019extern inline __attribute__ ((__gnu_inline__))
poly_int64
5026extern inline __attribute__ ((__gnu_inline__))
poly_uint64