Lines Matching refs:NODE

570 #define VAR_OR_FUNCTION_DECL_CHECK(NODE) \  argument
571 TREE_CHECK2(NODE,VAR_DECL,FUNCTION_DECL)
573 #define TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK(NODE) \ argument
574 TREE_CHECK3(NODE,TYPE_DECL,TEMPLATE_DECL,FUNCTION_DECL)
576 #define TYPE_FUNCTION_OR_TEMPLATE_DECL_P(NODE) \ argument
577 (TREE_CODE (NODE) == TYPE_DECL || TREE_CODE (NODE) == TEMPLATE_DECL \
578 || TREE_CODE (NODE) == FUNCTION_DECL)
580 #define VAR_FUNCTION_OR_PARM_DECL_CHECK(NODE) \ argument
581 TREE_CHECK3(NODE,VAR_DECL,FUNCTION_DECL,PARM_DECL)
583 #define VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK(NODE) \ argument
584 TREE_CHECK4(NODE,VAR_DECL,FUNCTION_DECL,TYPE_DECL,TEMPLATE_DECL)
586 #define VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK(NODE) \ argument
587 TREE_CHECK5(NODE,VAR_DECL,FIELD_DECL,FUNCTION_DECL,TYPE_DECL,TEMPLATE_DECL)
589 #define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK(NODE) \ argument
590 TREE_CHECK(NODE,BOUND_TEMPLATE_TEMPLATE_PARM)
593 #define THUNK_FUNCTION_CHECK(NODE) __extension__ \ argument
594 ({ __typeof (NODE) const __t = (NODE); \
600 #define THUNK_FUNCTION_CHECK(NODE) (NODE) argument
620 #define LANG_IDENTIFIER_CAST(NODE) \ argument
621 ((struct lang_identifier*)IDENTIFIER_NODE_CHECK (NODE))
637 #define CLEANUP_P(NODE) TREE_LANG_FLAG_0 (TRY_BLOCK_CHECK (NODE)) argument
639 #define BIND_EXPR_TRY_BLOCK(NODE) \ argument
640 TREE_LANG_FLAG_0 (BIND_EXPR_CHECK (NODE))
643 #define BIND_EXPR_BODY_BLOCK(NODE) \ argument
644 TREE_LANG_FLAG_3 (BIND_EXPR_CHECK (NODE))
645 #define FUNCTION_NEEDS_BODY_BLOCK(NODE) \ argument
646 (DECL_CONSTRUCTOR_P (NODE) || DECL_DESTRUCTOR_P (NODE) \
647 || LAMBDA_FUNCTION_P (NODE))
649 #define STATEMENT_LIST_NO_SCOPE(NODE) \ argument
650 TREE_LANG_FLAG_0 (STATEMENT_LIST_CHECK (NODE))
651 #define STATEMENT_LIST_TRY_BLOCK(NODE) \ argument
652 TREE_LANG_FLAG_2 (STATEMENT_LIST_CHECK (NODE))
655 #define BLOCK_OUTER_CURLY_BRACE_P(NODE) TREE_LANG_FLAG_0 (BLOCK_CHECK (NODE)) argument
660 #define STMT_IS_FULL_EXPR_P(NODE) TREE_LANG_FLAG_1 ((NODE)) argument
663 #define EXPR_STMT_STMT_EXPR_RESULT(NODE) \ argument
664 TREE_LANG_FLAG_0 (EXPR_STMT_CHECK (NODE))
667 #define STMT_EXPR_NO_SCOPE(NODE) \ argument
668 TREE_LANG_FLAG_0 (STMT_EXPR_CHECK (NODE))
670 #define COND_EXPR_IS_VEC_DELETE(NODE) \ argument
671 TREE_LANG_FLAG_0 (COND_EXPR_CHECK (NODE))
675 #define REINTERPRET_CAST_P(NODE) \ argument
676 TREE_LANG_FLAG_0 (NOP_EXPR_CHECK (NODE))
685 #define DECL_MAIN_P(NODE) \ argument
686 (DECL_EXTERN_C_FUNCTION_P (NODE) \
687 && DECL_NAME (NODE) != NULL_TREE \
688 && MAIN_NAME_P (DECL_NAME (NODE)) \
692 #define LOOKUP_SEEN_P(NODE) TREE_VISITED(NODE) argument
693 #define LOOKUP_FOUND_P(NODE) \ argument
694 TREE_LANG_FLAG_4 (TREE_CHECK3(NODE,RECORD_TYPE,UNION_TYPE,NAMESPACE_DECL))
698 #define OVL_FUNCTION(NODE) \ argument
699 (((struct tree_overload*)OVERLOAD_CHECK (NODE))->function)
700 #define OVL_CHAIN(NODE) \ argument
701 (((struct tree_overload*)OVERLOAD_CHECK (NODE))->common.chain)
704 #define OVL_DEDUP_P(NODE) TREE_LANG_FLAG_0 (OVERLOAD_CHECK (NODE)) argument
706 #define OVL_USING_P(NODE) TREE_LANG_FLAG_1 (OVERLOAD_CHECK (NODE)) argument
708 #define OVL_HIDDEN_P(NODE) TREE_LANG_FLAG_2 (OVERLOAD_CHECK (NODE)) argument
710 #define OVL_NESTED_P(NODE) TREE_LANG_FLAG_3 (OVERLOAD_CHECK (NODE)) argument
712 #define OVL_LOOKUP_P(NODE) TREE_LANG_FLAG_4 (OVERLOAD_CHECK (NODE)) argument
715 #define OVL_FIRST(NODE) ovl_first (NODE) argument
717 #define OVL_NAME(NODE) DECL_NAME (OVL_FIRST (NODE)) argument
722 #define OVL_P(NODE) \ argument
723 (TREE_CODE (NODE) == FUNCTION_DECL || TREE_CODE (NODE) == OVERLOAD)
725 #define OVL_SINGLE_P(NODE) \ argument
726 (TREE_CODE (NODE) != OVERLOAD || !OVL_CHAIN (NODE))
910 #define BASELINK_P(NODE) \ argument
911 (TREE_CODE (NODE) == BASELINK)
914 #define BASELINK_BINFO(NODE) \ argument
915 (((struct tree_baselink*) BASELINK_CHECK (NODE))->binfo)
918 #define BASELINK_FUNCTIONS(NODE) \ argument
919 (((struct tree_baselink*) BASELINK_CHECK (NODE))->functions)
927 #define BASELINK_ACCESS_BINFO(NODE) \ argument
928 (((struct tree_baselink*) BASELINK_CHECK (NODE))->access_binfo)
934 #define BASELINK_OPTYPE(NODE) \ argument
935 (TREE_CHAIN (BASELINK_CHECK (NODE)))
937 #define BASELINK_QUALIFIED_P(NODE) \ argument
938 TREE_LANG_FLAG_0 (BASELINK_CHECK (NODE))
1062 #define IDENTIFIER_BINDING(NODE) \ argument
1063 (LANG_IDENTIFIER_CAST (NODE)->bindings)
1069 #define IDENTIFIER_TYPE_VALUE(NODE) identifier_type_value (NODE) argument
1070 #define REAL_IDENTIFIER_TYPE_VALUE(NODE) TREE_TYPE (NODE) argument
1071 #define SET_IDENTIFIER_TYPE_VALUE(NODE,TYPE) (TREE_TYPE (NODE) = (TYPE)) argument
1072 #define IDENTIFIER_HAS_TYPE_VALUE(NODE) (IDENTIFIER_TYPE_VALUE (NODE) ? 1 : 0) argument
1089 #define IDENTIFIER_KIND_BIT_0(NODE) \ argument
1090 TREE_LANG_FLAG_0 (IDENTIFIER_NODE_CHECK (NODE))
1091 #define IDENTIFIER_KIND_BIT_1(NODE) \ argument
1092 TREE_LANG_FLAG_1 (IDENTIFIER_NODE_CHECK (NODE))
1093 #define IDENTIFIER_KIND_BIT_2(NODE) \ argument
1094 TREE_LANG_FLAG_2 (IDENTIFIER_NODE_CHECK (NODE))
1097 #define IDENTIFIER_MARKED(NODE) \ argument
1098 TREE_LANG_FLAG_4 (IDENTIFIER_NODE_CHECK (NODE))
1102 #define IDENTIFIER_VIRTUAL_P(NODE) \ argument
1103 TREE_LANG_FLAG_5 (IDENTIFIER_NODE_CHECK (NODE))
1113 #define IDENTIFIER_KEYWORD_P(NODE) \ argument
1114 ((!IDENTIFIER_KIND_BIT_2 (NODE)) \
1115 & (!IDENTIFIER_KIND_BIT_1 (NODE)) \
1116 & IDENTIFIER_KIND_BIT_0 (NODE))
1120 #define IDENTIFIER_CDTOR_P(NODE) \ argument
1121 ((!IDENTIFIER_KIND_BIT_2 (NODE)) \
1122 & IDENTIFIER_KIND_BIT_1 (NODE))
1125 #define IDENTIFIER_CTOR_P(NODE) \ argument
1126 (IDENTIFIER_CDTOR_P(NODE) \
1127 & (!IDENTIFIER_KIND_BIT_0 (NODE)))
1130 #define IDENTIFIER_DTOR_P(NODE) \ argument
1131 (IDENTIFIER_CDTOR_P(NODE) \
1132 & IDENTIFIER_KIND_BIT_0 (NODE))
1136 #define IDENTIFIER_ANY_OP_P(NODE) \ argument
1137 (IDENTIFIER_KIND_BIT_2 (NODE))
1140 #define IDENTIFIER_OVL_OP_P(NODE) \ argument
1141 (IDENTIFIER_ANY_OP_P (NODE) \
1142 & (!IDENTIFIER_KIND_BIT_1 (NODE)))
1145 #define IDENTIFIER_ASSIGN_OP_P(NODE) \ argument
1146 (IDENTIFIER_OVL_OP_P (NODE) \
1147 & IDENTIFIER_KIND_BIT_0 (NODE))
1151 #define IDENTIFIER_CONV_OP_P(NODE) \ argument
1152 (IDENTIFIER_ANY_OP_P (NODE) \
1153 & IDENTIFIER_KIND_BIT_1 (NODE) \
1154 & (!IDENTIFIER_KIND_BIT_0 (NODE)))
1157 #define IDENTIFIER_NEWDEL_OP_P(NODE) \ argument
1158 (IDENTIFIER_OVL_OP_P (NODE) \
1159 && IDENTIFIER_OVL_OP_FLAGS (NODE) & OVL_OP_FLAG_ALLOC)
1162 #define IDENTIFIER_NEW_OP_P(NODE) \ argument
1163 (IDENTIFIER_OVL_OP_P (NODE) \
1164 && (IDENTIFIER_OVL_OP_FLAGS (NODE) \
1169 #define IDENTIFIER_CP_INDEX(NODE) \ argument
1170 (IDENTIFIER_NODE_CHECK(NODE)->base.u.bits.address_space)
1178 #define DEFARG_TOKENS(NODE) \ argument
1179 (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->tokens)
1180 #define DEFARG_INSTANTIATIONS(NODE) \ argument
1181 (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->instantiations)
1190 #define DEFERRED_NOEXCEPT_PATTERN(NODE) \ argument
1191 (((struct tree_deferred_noexcept *)DEFERRED_NOEXCEPT_CHECK (NODE))->pattern)
1192 #define DEFERRED_NOEXCEPT_ARGS(NODE) \ argument
1193 (((struct tree_deferred_noexcept *)DEFERRED_NOEXCEPT_CHECK (NODE))->args)
1194 #define DEFERRED_NOEXCEPT_SPEC_P(NODE) \ argument
1195 ((NODE) && (TREE_PURPOSE (NODE)) \
1196 && (TREE_CODE (TREE_PURPOSE (NODE)) == DEFERRED_NOEXCEPT))
1197 #define UNEVALUATED_NOEXCEPT_SPEC_P(NODE) \ argument
1198 (DEFERRED_NOEXCEPT_SPEC_P (NODE) \
1199 && DEFERRED_NOEXCEPT_PATTERN (TREE_PURPOSE (NODE)) == NULL_TREE)
1210 #define STATIC_ASSERT_CONDITION(NODE) \ argument
1211 (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->condition)
1216 #define STATIC_ASSERT_MESSAGE(NODE) \ argument
1217 (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->message)
1220 #define STATIC_ASSERT_SOURCE_LOCATION(NODE) \ argument
1221 (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->location)
1274 #define TRAIT_EXPR_TYPE1(NODE) \ argument
1275 (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->type1)
1277 #define TRAIT_EXPR_TYPE2(NODE) \ argument
1278 (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->type2)
1281 #define TRAIT_EXPR_KIND(NODE) \ argument
1282 (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->kind)
1292 #define LAMBDA_TYPE_P(NODE) \ argument
1293 (CLASS_TYPE_P (NODE) && CLASSTYPE_LAMBDA_EXPR (NODE))
1309 #define LAMBDA_EXPR_DEFAULT_CAPTURE_MODE(NODE) \ argument
1310 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->default_capture_mode)
1318 #define LAMBDA_EXPR_CAPTURE_LIST(NODE) \ argument
1319 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->capture_list)
1324 #define LAMBDA_EXPR_THIS_CAPTURE(NODE) \ argument
1325 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->this_capture)
1328 #define LAMBDA_EXPR_CAPTURES_THIS_P(NODE) \ argument
1329 LAMBDA_EXPR_THIS_CAPTURE(NODE)
1332 #define LAMBDA_EXPR_MUTABLE_P(NODE) \ argument
1333 TREE_LANG_FLAG_1 (LAMBDA_EXPR_CHECK (NODE))
1336 #define LAMBDA_EXPR_CAPTURE_OPTIMIZED(NODE) \ argument
1337 TREE_LANG_FLAG_2 (LAMBDA_EXPR_CHECK (NODE))
1340 #define LAMBDA_EXPR_INSTANTIATED(NODE) \ argument
1341 TREE_LANG_FLAG_3 (LAMBDA_EXPR_CHECK (NODE))
1345 #define LAMBDA_CAPTURE_EXPLICIT_P(NODE) \ argument
1346 TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE))
1349 #define LAMBDA_EXPR_LOCATION(NODE) \ argument
1350 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->locus)
1354 #define LAMBDA_EXPR_EXTRA_SCOPE(NODE) \ argument
1355 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->extra_scope)
1358 #define LAMBDA_EXPR_DISCRIMINATOR(NODE) \ argument
1359 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->discriminator)
1363 #define LAMBDA_EXPR_PENDING_PROXIES(NODE) \ argument
1364 (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->pending_proxies)
1368 #define LAMBDA_EXPR_CLOSURE(NODE) \ argument
1369 (TREE_TYPE (LAMBDA_EXPR_CHECK (NODE)))
1407 #define TINFO_HAS_ACCESS_ERRORS(NODE) \ argument
1408 (TREE_LANG_FLAG_0 (TEMPLATE_INFO_CHECK (NODE)))
1409 #define FNDECL_HAS_ACCESS_ERRORS(NODE) \ argument
1410 (TINFO_HAS_ACCESS_ERRORS (DECL_TEMPLATE_INFO (NODE)))
1415 #define TINFO_USED_TEMPLATE_ID(NODE) \ argument
1416 (TREE_LANG_FLAG_1 (TEMPLATE_INFO_CHECK (NODE)))
1462 #define CI_TEMPLATE_REQS(NODE) \ argument
1463 check_constraint_info (check_nonnull(NODE))->template_reqs
1469 #define CI_DECLARATOR_REQS(NODE) \ argument
1470 check_constraint_info (check_nonnull(NODE))->declarator_reqs
1473 #define CI_ASSOCIATED_CONSTRAINTS(NODE) \ argument
1474 check_constraint_info (check_nonnull(NODE))->associated_constr
1478 #define TEMPLATE_PARMS_CONSTRAINTS(NODE) \ argument
1479 TREE_TYPE (TREE_LIST_CHECK (NODE))
1483 #define TEMPLATE_PARM_CONSTRAINTS(NODE) \ argument
1484 TREE_TYPE (TREE_LIST_CHECK (NODE))
1487 #define COMPOUND_REQ_NOEXCEPT_P(NODE) \ argument
1488 TREE_LANG_FLAG_0 (TREE_CHECK (NODE, COMPOUND_REQ))
1492 #define PLACEHOLDER_TYPE_CONSTRAINTS(NODE) \ argument
1493 DECL_SIZE_UNIT (TYPE_NAME (NODE))
1496 #define PRED_CONSTR_EXPR(NODE) \ argument
1497 TREE_OPERAND (TREE_CHECK (NODE, PRED_CONSTR), 0)
1500 #define CHECK_CONSTR_CONCEPT(NODE) \ argument
1501 TREE_OPERAND (TREE_CHECK (NODE, CHECK_CONSTR), 0)
1504 #define CHECK_CONSTR_ARGS(NODE) \ argument
1505 TREE_OPERAND (TREE_CHECK (NODE, CHECK_CONSTR), 1)
1508 #define EXPR_CONSTR_EXPR(NODE) \ argument
1509 TREE_OPERAND (TREE_CHECK (NODE, EXPR_CONSTR), 0)
1512 #define TYPE_CONSTR_TYPE(NODE) \ argument
1513 TREE_OPERAND (TREE_CHECK (NODE, TYPE_CONSTR), 0)
1516 #define ICONV_CONSTR_EXPR(NODE) \ argument
1517 TREE_OPERAND (TREE_CHECK (NODE, ICONV_CONSTR), 0)
1520 #define ICONV_CONSTR_TYPE(NODE) \ argument
1521 TREE_OPERAND (TREE_CHECK (NODE, ICONV_CONSTR), 1)
1524 #define DEDUCT_CONSTR_EXPR(NODE) \ argument
1525 TREE_OPERAND (TREE_CHECK (NODE, DEDUCT_CONSTR), 0)
1528 #define DEDUCT_CONSTR_PATTERN(NODE) \ argument
1529 TREE_OPERAND (TREE_CHECK (NODE, DEDUCT_CONSTR), 1)
1532 #define DEDUCT_CONSTR_PLACEHOLDER(NODE) \ argument
1533 TREE_OPERAND (TREE_CHECK (NODE, DEDUCT_CONSTR), 2)
1536 #define EXCEPT_CONSTR_EXPR(NODE) \ argument
1537 TREE_OPERAND (TREE_CHECK (NODE, EXCEPT_CONSTR), 0)
1540 #define PARM_CONSTR_PARMS(NODE) \ argument
1541 TREE_OPERAND (TREE_CHECK (NODE, PARM_CONSTR), 0)
1544 #define PARM_CONSTR_OPERAND(NODE) \ argument
1545 TREE_OPERAND (TREE_CHECK (NODE, PARM_CONSTR), 1)
1549 #define CONSTRAINT_VAR_P(NODE) \ argument
1550 DECL_LANG_FLAG_2 (TREE_CHECK (NODE, PARM_DECL))
1553 #define CONSTRAINED_PARM_CONCEPT(NODE) \ argument
1554 DECL_SIZE_UNIT (TYPE_DECL_CHECK (NODE))
1557 #define CONSTRAINED_PARM_EXTRA_ARGS(NODE) \ argument
1558 DECL_SIZE (TYPE_DECL_CHECK (NODE))
1562 #define CONSTRAINED_PARM_PROTOTYPE(NODE) \ argument
1563 DECL_INITIAL (TYPE_DECL_CHECK (NODE))
1920 #define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE)) argument
1930 #define TYPE_LINKAGE_IDENTIFIER(NODE) \ argument
1931 (TYPE_IDENTIFIER (TYPE_MAIN_VARIANT (NODE)))
1932 #define TYPE_NAME_STRING(NODE) (IDENTIFIER_POINTER (TYPE_IDENTIFIER (NODE))) argument
1933 #define TYPE_NAME_LENGTH(NODE) (IDENTIFIER_LENGTH (TYPE_IDENTIFIER (NODE))) argument
1936 #define TYPE_UNNAMED_P(NODE) \ argument
1937 (OVERLOAD_TYPE_P (NODE) && anon_aggrname_p (TYPE_LINKAGE_IDENTIFIER (NODE)))
1940 #define TYPE_MAIN_DECL(NODE) (TYPE_STUB_DECL (TYPE_MAIN_VARIANT (NODE))) argument
1979 #define TYPE_DEPENDENT_P(NODE) TYPE_LANG_FLAG_0 (NODE) argument
1983 #define TYPE_DEPENDENT_P_VALID(NODE) TYPE_LANG_FLAG_6(NODE) argument
1986 #define CP_TYPE_CONST_P(NODE) \ argument
1987 ((cp_type_quals (NODE) & TYPE_QUAL_CONST) != 0)
1990 #define CP_TYPE_VOLATILE_P(NODE) \ argument
1991 ((cp_type_quals (NODE) & TYPE_QUAL_VOLATILE) != 0)
1994 #define CP_TYPE_RESTRICT_P(NODE) \ argument
1995 ((cp_type_quals (NODE) & TYPE_QUAL_RESTRICT) != 0)
2001 #define CP_TYPE_CONST_NON_VOLATILE_P(NODE) \ argument
2002 ((cp_type_quals (NODE) & (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE)) \
2005 #define FUNCTION_ARG_CHAIN(NODE) \ argument
2006 TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (NODE)))
2010 #define FUNCTION_FIRST_USER_PARMTYPE(NODE) \ argument
2011 skip_artificial_parms_for ((NODE), TYPE_ARG_TYPES (TREE_TYPE (NODE)))
2014 #define FUNCTION_FIRST_USER_PARM(NODE) \ argument
2015 skip_artificial_parms_for ((NODE), DECL_ARGUMENTS (NODE))
2140 #define LANG_TYPE_CLASS_CHECK(NODE) (TYPE_LANG_SPECIFIC (NODE)) argument
2143 #define TYPE_GETS_DELETE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->gets_delete) argument
2144 #define TYPE_GETS_REG_DELETE(NODE) (TYPE_GETS_DELETE (NODE) & 1) argument
2148 #define TYPE_VEC_NEW_USES_COOKIE(NODE) \ argument
2149 (CLASS_TYPE_P (NODE) \
2150 && LANG_TYPE_CLASS_CHECK (NODE)->vec_new_uses_cookie)
2154 #define TYPE_HAS_CONVERSION(NODE) \ argument
2155 (LANG_TYPE_CLASS_CHECK (NODE)->has_type_conversion)
2159 #define CLASSTYPE_LAZY_DEFAULT_CTOR(NODE) \ argument
2160 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_default_ctor)
2164 #define CLASSTYPE_LAZY_COPY_CTOR(NODE) \ argument
2165 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_ctor)
2169 #define CLASSTYPE_LAZY_MOVE_CTOR(NODE) \ argument
2170 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_move_ctor)
2174 #define CLASSTYPE_LAZY_COPY_ASSIGN(NODE) \ argument
2175 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_assign)
2179 #define CLASSTYPE_LAZY_MOVE_ASSIGN(NODE) \ argument
2180 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_move_assign)
2184 #define CLASSTYPE_LAZY_DESTRUCTOR(NODE) \ argument
2185 (LANG_TYPE_CLASS_CHECK (NODE)->lazy_destructor)
2188 #define CLASSTYPE_FINAL(NODE) \ argument
2189 TYPE_FINAL_P (NODE)
2193 #define TYPE_HAS_COPY_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_copy_assign) argument
2197 #define TYPE_HAS_CONST_COPY_ASSIGN(NODE) \ argument
2198 (LANG_TYPE_CLASS_CHECK (NODE)->has_const_copy_assign)
2201 #define TYPE_HAS_COPY_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_copy_ctor) argument
2202 #define TYPE_HAS_CONST_COPY_CTOR(NODE) \ argument
2203 (LANG_TYPE_CLASS_CHECK (NODE)->has_const_copy_ctor)
2206 #define TYPE_HAS_LIST_CTOR(NODE) \ argument
2207 (LANG_TYPE_CLASS_CHECK (NODE)->has_list_ctor)
2212 #define TYPE_HAS_CONSTEXPR_CTOR(NODE) \ argument
2213 (LANG_TYPE_CLASS_CHECK (NODE)->has_constexpr_ctor)
2217 #define TYPE_HAS_NEW_OPERATOR(NODE) \ argument
2218 (LANG_TYPE_CLASS_CHECK (NODE)->has_new)
2221 #define TYPE_HAS_ARRAY_NEW_OPERATOR(NODE) \ argument
2222 (LANG_TYPE_CLASS_CHECK (NODE)->has_array_new)
2226 #define TYPE_BEING_DEFINED(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->being_defined) argument
2230 #define COMPLETE_OR_OPEN_TYPE_P(NODE) \ argument
2231 (COMPLETE_TYPE_P (NODE) || (CLASS_TYPE_P (NODE) && TYPE_BEING_DEFINED (NODE)))
2234 #define TYPE_MARKED_P(NODE) TREE_LANG_FLAG_6 (TYPE_CHECK (NODE)) argument
2238 #define CLASSTYPE_DIAMOND_SHAPED_P(NODE) \ argument
2239 (LANG_TYPE_CLASS_CHECK(NODE)->diamond_shaped)
2243 #define CLASSTYPE_REPEATED_BASE_P(NODE) \ argument
2244 (LANG_TYPE_CLASS_CHECK(NODE)->repeated_base)
2249 #define CLASSTYPE_KEY_METHOD(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->key_method) argument
2255 #define CLASSTYPE_MEMBER_VEC(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->members) argument
2261 #define CLASSTYPE_DECL_LIST(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->decl_list) argument
2265 #define CLASSTYPE_CONSTRUCTORS(NODE) \ argument
2266 (get_class_binding_direct (NODE, ctor_identifier))
2272 #define CLASSTYPE_DESTRUCTOR(NODE) \ argument
2273 (get_class_binding_direct (NODE, dtor_identifier))
2278 #define CLASSTYPE_NESTED_UTDS(NODE) \ argument
2279 (LANG_TYPE_CLASS_CHECK (NODE)->nested_udts)
2283 #define CLASSTYPE_HAS_PRIMARY_BASE_P(NODE) \ argument
2284 (CLASSTYPE_PRIMARY_BINFO (NODE) != NULL_TREE)
2289 #define CLASSTYPE_PRIMARY_BINFO(NODE) \ argument
2290 (LANG_TYPE_CLASS_CHECK (NODE)->primary_base)
2296 #define CLASSTYPE_VBASECLASSES(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->vbases) argument
2300 #define CLASSTYPE_AS_BASE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->as_base) argument
2303 #define IS_FAKE_BASE_TYPE(NODE) \ argument
2304 (TREE_CODE (NODE) == RECORD_TYPE \
2305 && TYPE_CONTEXT (NODE) && CLASS_TYPE_P (TYPE_CONTEXT (NODE)) \
2306 && CLASSTYPE_AS_BASE (TYPE_CONTEXT (NODE)) == (NODE))
2310 #define CLASSTYPE_SIZE(NODE) TYPE_SIZE (CLASSTYPE_AS_BASE (NODE)) argument
2311 #define CLASSTYPE_SIZE_UNIT(NODE) TYPE_SIZE_UNIT (CLASSTYPE_AS_BASE (NODE)) argument
2312 #define CLASSTYPE_ALIGN(NODE) TYPE_ALIGN (CLASSTYPE_AS_BASE (NODE)) argument
2313 #define CLASSTYPE_USER_ALIGN(NODE) TYPE_USER_ALIGN (CLASSTYPE_AS_BASE (NODE)) argument
2316 #define CLASSTYPE_ALIGN_UNIT(NODE) \ argument
2317 (CLASSTYPE_ALIGN (NODE) / BITS_PER_UNIT)
2322 #define CLASSTYPE_PURE_VIRTUALS(NODE) \ argument
2323 (LANG_TYPE_CLASS_CHECK (NODE)->pure_virtuals)
2326 #define ABSTRACT_CLASS_TYPE_P(NODE) \ argument
2327 (CLASS_TYPE_P (NODE) && CLASSTYPE_PURE_VIRTUALS(NODE))
2330 #define TYPE_HAS_DEFAULT_CONSTRUCTOR(NODE) \ argument
2331 (LANG_TYPE_CLASS_CHECK (NODE)->has_default_ctor)
2334 #define CLASSTYPE_HAS_MUTABLE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_mutable) argument
2335 #define TYPE_HAS_MUTABLE_P(NODE) (cp_has_mutable_p (NODE)) argument
2339 #define CLASSTYPE_NON_LAYOUT_POD_P(NODE) \ argument
2340 (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_class)
2343 #define CLASSTYPE_NON_STD_LAYOUT(NODE) \ argument
2344 (LANG_TYPE_CLASS_CHECK (NODE)->non_std_layout)
2348 #define CLASSTYPE_UNIQUE_OBJ_REPRESENTATIONS(NODE) \ argument
2349 (LANG_TYPE_CLASS_CHECK (NODE)->unique_obj_representations)
2353 #define CLASSTYPE_UNIQUE_OBJ_REPRESENTATIONS_SET(NODE) \ argument
2354 (LANG_TYPE_CLASS_CHECK (NODE)->unique_obj_representations_set)
2359 #define CLASSTYPE_NON_ZERO_INIT_P(NODE) \ argument
2360 (LANG_TYPE_CLASS_CHECK (NODE)->non_zero_init)
2363 #define CLASSTYPE_EMPTY_P(NODE) \ argument
2364 (LANG_TYPE_CLASS_CHECK (NODE)->empty_p)
2368 #define CLASSTYPE_NEARLY_EMPTY_P(NODE) \ argument
2369 (LANG_TYPE_CLASS_CHECK (NODE)->nearly_empty_p)
2372 #define CLASSTYPE_CONTAINS_EMPTY_CLASS_P(NODE) \ argument
2373 (LANG_TYPE_CLASS_CHECK (NODE)->contains_empty_class_p)
2378 #define CLASSTYPE_FRIEND_CLASSES(NODE) \ argument
2379 (LANG_TYPE_CLASS_CHECK (NODE)->friend_classes)
2382 #define CLASSTYPE_BEFRIENDING_CLASSES(NODE) \ argument
2383 (LANG_TYPE_CLASS_CHECK (NODE)->befriending_classes)
2386 #define CLASSTYPE_LAMBDA_EXPR(NODE) \ argument
2387 (LANG_TYPE_CLASS_CHECK (NODE)->lambda_expr)
2389 #define LAMBDA_TYPE_EXTRA_SCOPE(NODE) \ argument
2390 (LAMBDA_EXPR_EXTRA_SCOPE (CLASSTYPE_LAMBDA_EXPR (NODE)))
2393 #define CLASSTYPE_DECLARED_CLASS(NODE) \ argument
2394 (LANG_TYPE_CLASS_CHECK (NODE)->declared_class)
2398 #define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \ argument
2399 (TYPE_LANG_SPECIFIC (NODE) \
2400 ? LANG_TYPE_CLASS_CHECK (NODE)->const_needs_init : 0)
2401 #define SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE, VALUE) \ argument
2402 (LANG_TYPE_CLASS_CHECK (NODE)->const_needs_init = (VALUE))
2406 #define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \ argument
2407 (TYPE_LANG_SPECIFIC (NODE) \
2408 ? LANG_TYPE_CLASS_CHECK (NODE)->ref_needs_init : 0)
2409 #define SET_CLASSTYPE_REF_FIELDS_NEED_INIT(NODE, VALUE) \ argument
2410 (LANG_TYPE_CLASS_CHECK (NODE)->ref_needs_init = (VALUE))
2414 #define CLASSTYPE_INTERFACE_ONLY(NODE) \ argument
2415 (LANG_TYPE_CLASS_CHECK (NODE)->interface_only)
2422 #define CLASSTYPE_INTERFACE_KNOWN(NODE) \ argument
2423 (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown == 0)
2425 #define CLASSTYPE_INTERFACE_UNKNOWN(NODE) \ argument
2426 (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown)
2428 #define SET_CLASSTYPE_INTERFACE_UNKNOWN_X(NODE,X) \ argument
2429 (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = !!(X))
2430 #define SET_CLASSTYPE_INTERFACE_UNKNOWN(NODE) \ argument
2431 (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 1)
2432 #define SET_CLASSTYPE_INTERFACE_KNOWN(NODE) \ argument
2433 (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 0)
2436 #define CLASSTYPE_DEBUG_REQUESTED(NODE) \ argument
2437 (LANG_TYPE_CLASS_CHECK (NODE)->debug_requested)
2442 #define BINFO_VTABLE_PATH_MARKED(NODE) BINFO_FLAG_1 (NODE) argument
2466 #define BINFO_DEPENDENT_BASE_P(NODE) BINFO_FLAG_3 (NODE) argument
2471 #define BINFO_LOST_PRIMARY_P(NODE) BINFO_FLAG_4 (NODE) argument
2474 #define BINFO_PRIMARY_P(NODE) BINFO_FLAG_5(NODE) argument
2481 #define CLASSTYPE_VCALL_INDICES(NODE) \ argument
2482 (LANG_TYPE_CLASS_CHECK (NODE)->vcall_indices)
2486 #define CLASSTYPE_VTABLES(NODE) \ argument
2487 (LANG_TYPE_CLASS_CHECK (NODE)->vtables)
2492 #define CLASSTYPE_TYPEINFO_VAR(NODE) \ argument
2493 (LANG_TYPE_CLASS_CHECK (NODE)->typeinfo_var)
2500 #define BV_DELTA(NODE) (TREE_PURPOSE (NODE)) argument
2505 #define BV_VCALL_INDEX(NODE) (TREE_TYPE (NODE)) argument
2508 #define BV_FN(NODE) (TREE_VALUE (NODE)) argument
2511 #define BV_LOST_PRIMARY(NODE) (TREE_LANG_FLAG_0 (NODE)) argument
2521 #define TYPE_RAISES_EXCEPTIONS(NODE) \ argument
2522 TYPE_LANG_SLOT_1 (FUNC_OR_METHOD_CHECK (NODE))
2526 #define TYPE_NOTHROW_P(NODE) nothrow_spec_p (TYPE_RAISES_EXCEPTIONS (NODE)) argument
2531 #define TYPE_NOEXCEPT_P(NODE) type_noexcept_p (NODE) argument
2534 #define NAMESPACE_LEVEL(NODE) \ argument
2535 (LANG_DECL_NS_CHECK (NODE)->level)
2575 #define LANG_DECL_HAS_MIN(NODE) \ argument
2576 (VAR_OR_FUNCTION_DECL_P (NODE) \
2577 || TREE_CODE (NODE) == FIELD_DECL \
2578 || TREE_CODE (NODE) == CONST_DECL \
2579 || TREE_CODE (NODE) == TYPE_DECL \
2580 || TREE_CODE (NODE) == TEMPLATE_DECL \
2581 || TREE_CODE (NODE) == USING_DECL)
2714 #define STRIP_TEMPLATE(NODE) \ argument
2715 (TREE_CODE (NODE) == TEMPLATE_DECL ? DECL_TEMPLATE_RESULT (NODE) : NODE)
2719 #define LANG_DECL_MIN_CHECK(NODE) __extension__ \ argument
2720 ({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \
2721 if (!LANG_DECL_HAS_MIN (NODE)) \
2728 #define LANG_DECL_FN_CHECK(NODE) __extension__ \ argument
2729 ({ struct lang_decl *lt = DECL_LANG_SPECIFIC (STRIP_TEMPLATE (NODE)); \
2730 if (!DECL_DECLARES_FUNCTION_P (NODE) \
2735 #define LANG_DECL_NS_CHECK(NODE) __extension__ \ argument
2736 ({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \
2737 if (TREE_CODE (NODE) != NAMESPACE_DECL \
2742 #define LANG_DECL_PARM_CHECK(NODE) __extension__ \ argument
2743 ({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \
2744 if (TREE_CODE (NODE) != PARM_DECL \
2749 #define LANG_DECL_DECOMP_CHECK(NODE) __extension__ \ argument
2750 ({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \
2751 if (!VAR_P (NODE) \
2758 #define LANG_DECL_MIN_CHECK(NODE) \ argument
2759 (&DECL_LANG_SPECIFIC (NODE)->u.min)
2761 #define LANG_DECL_FN_CHECK(NODE) \ argument
2762 (&DECL_LANG_SPECIFIC (STRIP_TEMPLATE (NODE))->u.fn)
2764 #define LANG_DECL_NS_CHECK(NODE) \ argument
2765 (&DECL_LANG_SPECIFIC (NODE)->u.ns)
2767 #define LANG_DECL_PARM_CHECK(NODE) \ argument
2768 (&DECL_LANG_SPECIFIC (NODE)->u.parm)
2770 #define LANG_DECL_DECOMP_CHECK(NODE) \ argument
2771 (&DECL_LANG_SPECIFIC (NODE)->u.decomp)
2784 #define DECL_LANGUAGE(NODE) \ argument
2785 (DECL_LANG_SPECIFIC (NODE) \
2786 ? DECL_LANG_SPECIFIC (NODE)->u.base.language \
2787 : (TREE_CODE (NODE) == FUNCTION_DECL \
2791 #define SET_DECL_LANGUAGE(NODE, LANGUAGE) \ argument
2792 (DECL_LANG_SPECIFIC (NODE)->u.base.language = (LANGUAGE))
2796 #define DECL_CONSTRUCTOR_P(NODE) \ argument
2797 DECL_CXX_CONSTRUCTOR_P (STRIP_TEMPLATE (NODE))
2801 #define DECL_COMPLETE_CONSTRUCTOR_P(NODE) \ argument
2802 (DECL_NAME (NODE) == complete_ctor_identifier)
2806 #define DECL_BASE_CONSTRUCTOR_P(NODE) \ argument
2807 (DECL_NAME (NODE) == base_ctor_identifier)
2812 #define DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P(NODE) \ argument
2813 (DECL_NAME (NODE) == ctor_identifier)
2816 #define DECL_COPY_CONSTRUCTOR_P(NODE) \ argument
2817 (DECL_CONSTRUCTOR_P (NODE) && copy_fn_p (NODE) > 0)
2820 #define DECL_MOVE_CONSTRUCTOR_P(NODE) \ argument
2821 (DECL_CONSTRUCTOR_P (NODE) && move_fn_p (NODE))
2825 #define DECL_DESTRUCTOR_P(NODE) \ argument
2826 DECL_CXX_DESTRUCTOR_P (STRIP_TEMPLATE (NODE))
2831 #define DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P(NODE) \ argument
2832 (DECL_NAME (NODE) == dtor_identifier)
2836 #define DECL_COMPLETE_DESTRUCTOR_P(NODE) \ argument
2837 (DECL_NAME (NODE) == complete_dtor_identifier)
2841 #define DECL_BASE_DESTRUCTOR_P(NODE) \ argument
2842 (DECL_NAME (NODE) == base_dtor_identifier)
2846 #define DECL_DELETING_DESTRUCTOR_P(NODE) \ argument
2847 (DECL_NAME (NODE) == deleting_dtor_identifier)
2851 #define DECL_MAYBE_IN_CHARGE_CDTOR_P(NODE) \ argument
2852 (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (NODE) \
2853 || DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (NODE))
2857 #define DECL_CLONED_FUNCTION_P(NODE) (!!decl_cloned_function_p (NODE, true)) argument
2861 #define DECL_CLONED_FUNCTION(NODE) (*decl_cloned_function_p (NODE, false)) argument
2880 #define DECL_DISCRIMINATOR_P(NODE) \ argument
2881 (((TREE_CODE (NODE) == VAR_DECL && TREE_STATIC (NODE)) \
2882 || DECL_IMPLICIT_TYPEDEF_P (NODE)) \
2883 && DECL_FUNCTION_SCOPE_P (NODE))
2886 #define DECL_DISCRIMINATOR(NODE) (LANG_DECL_MIN_CHECK (NODE)->access) argument
2890 #define DECL_PARM_INDEX(NODE) \ argument
2891 (LANG_DECL_PARM_CHECK (NODE)->index)
2897 #define DECL_PARM_LEVEL(NODE) \ argument
2898 (LANG_DECL_PARM_CHECK (NODE)->level)
2901 #define DECL_HAS_VTT_PARM_P(NODE) \ argument
2902 (LANG_DECL_FN_CHECK (NODE)->has_vtt_parm_p)
2906 #define DECL_NEEDS_VTT_PARM_P(NODE) \ argument
2907 (CLASSTYPE_VBASECLASSES (DECL_CONTEXT (NODE)) \
2908 && (DECL_BASE_CONSTRUCTOR_P (NODE) \
2909 || DECL_BASE_DESTRUCTOR_P (NODE)))
2912 #define DECL_CONV_FN_P(NODE) IDENTIFIER_CONV_OP_P (DECL_NAME (NODE)) argument
2920 #define VAR_HAD_UNKNOWN_BOUND(NODE) \ argument
2921 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \
2922 ? DECL_LANG_SPECIFIC (NODE)->u.base.unknown_bound_p \
2924 #define SET_VAR_HAD_UNKNOWN_BOUND(NODE) \ argument
2925 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.unknown_bound_p = true)
2928 #define DECL_OVERLOADED_OPERATOR_P(NODE) \ argument
2929 IDENTIFIER_ANY_OP_P (DECL_NAME (NODE))
2932 #define DECL_ASSIGNMENT_OPERATOR_P(NODE) \ argument
2933 IDENTIFIER_ASSIGN_OP_P (DECL_NAME (NODE))
2937 #define DECL_OVERLOADED_OPERATOR_CODE_RAW(NODE) \ argument
2938 (LANG_DECL_FN_CHECK (NODE)->ovl_op_code)
2948 #define DECL_HAS_IN_CHARGE_PARM_P(NODE) \ argument
2949 (LANG_DECL_FN_CHECK (NODE)->has_in_charge_parm_p)
2952 #define DECL_IS_BUILTIN_CONSTANT_P(NODE) \ argument
2953 (TREE_CODE (NODE) == FUNCTION_DECL \
2954 && DECL_BUILT_IN_CLASS (NODE) == BUILT_IN_NORMAL \
2955 && DECL_FUNCTION_CODE (NODE) == BUILT_IN_CONSTANT_P)
2962 #define DECL_IN_AGGR_P(NODE) (DECL_LANG_FLAG_3 (NODE)) argument
2968 #define DECL_INITIALIZED_P(NODE) \ argument
2969 (TREE_LANG_FLAG_1 (VAR_DECL_CHECK (NODE)))
2973 #define DECL_NONTRIVIALLY_INITIALIZED_P(NODE) \ argument
2974 (TREE_LANG_FLAG_3 (VAR_DECL_CHECK (NODE)))
2978 #define DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P(NODE) \ argument
2979 (TREE_LANG_FLAG_2 (VAR_DECL_CHECK (NODE)))
2996 #define DECL_FRIEND_P(NODE) \ argument
2997 (DECL_LANG_SPECIFIC (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK (NODE)) \
3002 #define DECL_GNU_TLS_P(NODE) \ argument
3003 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \
3004 && DECL_LANG_SPECIFIC (NODE)->u.base.friend_or_tls)
3005 #define SET_DECL_GNU_TLS_P(NODE) \ argument
3006 (retrofit_lang_decl (VAR_DECL_CHECK (NODE)), \
3007 DECL_LANG_SPECIFIC (NODE)->u.base.friend_or_tls = true)
3010 #define DECL_BEFRIENDING_CLASSES(NODE) \ argument
3011 (LANG_DECL_FN_CHECK (NODE)->befriending_classes)
3015 #define DECL_STATIC_FUNCTION_P(NODE) \ argument
3016 (LANG_DECL_FN_CHECK (NODE)->static_function)
3020 #define DECL_NONSTATIC_MEMBER_FUNCTION_P(NODE) \ argument
3021 (TREE_CODE (TREE_TYPE (NODE)) == METHOD_TYPE)
3025 #define DECL_FUNCTION_MEMBER_P(NODE) \ argument
3026 (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) || DECL_STATIC_FUNCTION_P (NODE))
3030 #define DECL_CONST_MEMFUNC_P(NODE) \ argument
3031 (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \
3033 (TYPE_ARG_TYPES (TREE_TYPE (NODE))))))
3037 #define DECL_VOLATILE_MEMFUNC_P(NODE) \ argument
3038 (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \
3040 (TYPE_ARG_TYPES (TREE_TYPE (NODE))))))
3043 #define DECL_NONSTATIC_MEMBER_P(NODE) \ argument
3044 (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \
3045 || TREE_CODE (NODE) == FIELD_DECL)
3049 #define DECL_MUTABLE_P(NODE) (DECL_LANG_FLAG_0 (NODE)) argument
3053 #define DECL_NONCONVERTING_P(NODE) \ argument
3054 (LANG_DECL_FN_CHECK (NODE)->nonconverting)
3058 #define DECL_PURE_VIRTUAL_P(NODE) \ argument
3059 (LANG_DECL_FN_CHECK (NODE)->pure_virtual)
3064 #define DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P(NODE) \ argument
3065 (LANG_DECL_FN_CHECK (NODE)->has_dependent_explicit_spec_p)
3071 #define DECL_INVALID_OVERRIDER_P(NODE) \ argument
3072 (DECL_LANG_FLAG_4 (NODE))
3076 #define DECL_OVERRIDE_P(NODE) (TREE_LANG_FLAG_0 (NODE)) argument
3079 #define DECL_THUNKS(NODE) \ argument
3080 (DECL_VIRTUAL_P (NODE) ? LANG_DECL_FN_CHECK (NODE)->context : NULL_TREE)
3083 #define SET_DECL_THUNKS(NODE,THUNKS) \ argument
3084 (LANG_DECL_FN_CHECK (NODE)->context = (THUNKS))
3088 #define DECL_INHERITED_CTOR(NODE) \ argument
3089 (DECL_DECLARES_FUNCTION_P (NODE) && DECL_CONSTRUCTOR_P (NODE) \
3090 ? LANG_DECL_FN_CHECK (NODE)->context : NULL_TREE)
3093 #define DECL_INHERITED_CTOR_BASE(NODE) \ argument
3094 (DECL_INHERITED_CTOR (NODE) \
3096 ? strip_inheriting_ctors (NODE) \
3097 : DECL_INHERITED_CTOR (NODE)) \
3101 #define SET_DECL_INHERITED_CTOR(NODE,INH) \ argument
3102 (LANG_DECL_FN_CHECK (NODE)->context = (INH))
3105 #define DECL_THUNK_P(NODE) \ argument
3106 (TREE_CODE (NODE) == FUNCTION_DECL \
3107 && DECL_LANG_SPECIFIC (NODE) \
3108 && LANG_DECL_FN_CHECK (NODE)->thunk_p)
3111 #define SET_DECL_THUNK_P(NODE, THIS_ADJUSTING) \ argument
3112 (LANG_DECL_FN_CHECK (NODE)->thunk_p = 1, \
3113 LANG_DECL_FN_CHECK (NODE)->this_thunk_p = (THIS_ADJUSTING))
3116 #define DECL_THIS_THUNK_P(NODE) \ argument
3117 (DECL_THUNK_P (NODE) && LANG_DECL_FN_CHECK (NODE)->this_thunk_p)
3120 #define DECL_RESULT_THUNK_P(NODE) \ argument
3121 (DECL_THUNK_P (NODE) && !LANG_DECL_FN_CHECK (NODE)->this_thunk_p)
3124 #define DECL_NON_THUNK_FUNCTION_P(NODE) \ argument
3125 (TREE_CODE (NODE) == FUNCTION_DECL && !DECL_THUNK_P (NODE))
3128 #define DECL_EXTERN_C_P(NODE) \ argument
3129 (DECL_LANGUAGE (NODE) == lang_c)
3132 #define DECL_EXTERN_C_FUNCTION_P(NODE) \ argument
3133 (DECL_NON_THUNK_FUNCTION_P (NODE) && DECL_EXTERN_C_P (NODE))
3137 #define DECL_REPO_AVAILABLE_P(NODE) \ argument
3138 (DECL_LANG_SPECIFIC (NODE)->u.base.repo_available_p)
3147 #define DECL_DECLARED_CONCEPT_P(NODE) \ argument
3148 (DECL_LANG_SPECIFIC (NODE)->u.base.concept_p)
3152 #define DECL_PRETTY_FUNCTION_P(NODE) \ argument
3153 (DECL_NAME (NODE) \
3154 && id_equal (DECL_NAME (NODE), "__PRETTY_FUNCTION__"))
3157 #define DECL_FNAME_P(NODE) \ argument
3158 (VAR_P (NODE) && DECL_NAME (NODE) && DECL_ARTIFICIAL (NODE) \
3159 && DECL_HAS_VALUE_EXPR_P (NODE) \
3160 && (id_equal (DECL_NAME (NODE), "__PRETTY_FUNCTION__") \
3161 || id_equal (DECL_NAME (NODE), "__FUNCTION__") \
3162 || id_equal (DECL_NAME (NODE), "__func__")))
3168 #define CP_DECL_THREAD_LOCAL_P(NODE) \ argument
3169 (TREE_LANG_FLAG_0 (VAR_DECL_CHECK (NODE)))
3173 #define DECL_CLASS_CONTEXT(NODE) \ argument
3174 (DECL_CLASS_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : NULL_TREE)
3182 #define DECL_FRIEND_CONTEXT(NODE) \ argument
3183 ((DECL_DECLARES_FUNCTION_P (NODE) \
3184 && DECL_FRIEND_P (NODE) && !DECL_FUNCTION_MEMBER_P (NODE)) \
3185 ? LANG_DECL_FN_CHECK (NODE)->context \
3189 #define SET_DECL_FRIEND_CONTEXT(NODE, CONTEXT) \ argument
3190 (LANG_DECL_FN_CHECK (NODE)->context = (CONTEXT))
3192 #define CP_DECL_CONTEXT(NODE) \ argument
3193 (!DECL_FILE_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : global_namespace)
3194 #define CP_TYPE_CONTEXT(NODE) \ argument
3195 (!TYPE_FILE_SCOPE_P (NODE) ? TYPE_CONTEXT (NODE) : global_namespace)
3196 #define FROB_CONTEXT(NODE) \ argument
3197 ((NODE) == global_namespace ? DECL_CONTEXT (NODE) : (NODE))
3200 #define DECL_NAMESPACE_SCOPE_P(NODE) \ argument
3201 (!DECL_TEMPLATE_PARM_P (NODE) \
3202 && TREE_CODE (CP_DECL_CONTEXT (NODE)) == NAMESPACE_DECL)
3204 #define TYPE_NAMESPACE_SCOPE_P(NODE) \ argument
3205 (TREE_CODE (CP_TYPE_CONTEXT (NODE)) == NAMESPACE_DECL)
3207 #define NAMESPACE_SCOPE_P(NODE) \ argument
3208 ((DECL_P (NODE) && DECL_NAMESPACE_SCOPE_P (NODE)) \
3209 || (TYPE_P (NODE) && TYPE_NAMESPACE_SCOPE_P (NODE)))
3212 #define DECL_CLASS_SCOPE_P(NODE) \ argument
3213 (DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE)))
3215 #define TYPE_CLASS_SCOPE_P(NODE) \ argument
3216 (TYPE_CONTEXT (NODE) && TYPE_P (TYPE_CONTEXT (NODE)))
3219 #define DECL_FUNCTION_SCOPE_P(NODE) \ argument
3220 (DECL_CONTEXT (NODE) \
3221 && TREE_CODE (DECL_CONTEXT (NODE)) == FUNCTION_DECL)
3223 #define TYPE_FUNCTION_SCOPE_P(NODE) \ argument
3224 (TYPE_CONTEXT (NODE) && TREE_CODE (TYPE_CONTEXT (NODE)) == FUNCTION_DECL)
3228 #define DECL_TINFO_P(NODE) TREE_LANG_FLAG_4 (VAR_DECL_CHECK (NODE)) argument
3231 #define DECL_VTABLE_OR_VTT_P(NODE) TREE_LANG_FLAG_5 (VAR_DECL_CHECK (NODE)) argument
3234 #define FUNCTION_REF_QUALIFIED(NODE) \ argument
3235 TREE_LANG_FLAG_4 (FUNC_OR_METHOD_CHECK (NODE))
3238 #define FUNCTION_RVALUE_QUALIFIED(NODE) \ argument
3239 TREE_LANG_FLAG_5 (FUNC_OR_METHOD_CHECK (NODE))
3244 #define DECL_CONSTRUCTION_VTABLE_P(NODE) \ argument
3245 TREE_LANG_FLAG_6 (VAR_DECL_CHECK (NODE))
3248 #define LOCAL_CLASS_P(NODE) \ argument
3249 (decl_function_context (TYPE_MAIN_DECL (NODE)) != NULL_TREE)
3253 #define SCOPE_DEPTH(NODE) \ argument
3254 (NAMESPACE_DECL_CHECK (NODE)->base.u.bits.address_space)
3257 #define DECL_NAMESPACE_INLINE_P(NODE) \ argument
3258 TREE_LANG_FLAG_0 (NAMESPACE_DECL_CHECK (NODE))
3261 #define DECL_NAMESPACE_USING(NODE) \ argument
3262 (LANG_DECL_NS_CHECK (NODE)->usings)
3265 #define DECL_NAMESPACE_INLINEES(NODE) \ argument
3266 (LANG_DECL_NS_CHECK (NODE)->inlinees)
3269 #define DECL_NAMESPACE_BINDINGS(NODE) \ argument
3270 (LANG_DECL_NS_CHECK (NODE)->bindings)
3274 #define DECL_NAMESPACE_ALIAS(NODE) \ argument
3275 DECL_ABSTRACT_ORIGIN (NAMESPACE_DECL_CHECK (NODE))
3276 #define ORIGINAL_NAMESPACE(NODE) \ argument
3277 (DECL_NAMESPACE_ALIAS (NODE) ? DECL_NAMESPACE_ALIAS (NODE) : (NODE))
3280 #define DECL_NAMESPACE_STD_P(NODE) \ argument
3281 (TREE_CODE (NODE) == NAMESPACE_DECL \
3282 && CP_DECL_CONTEXT (NODE) == global_namespace \
3283 && DECL_NAME (NODE) == std_identifier)
3287 #define ATTR_IS_DEPENDENT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) argument
3291 #define ABI_TAG_IMPLICIT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) argument
3294 #define DECL_DEPENDENT_P(NODE) DECL_LANG_FLAG_0 (USING_DECL_CHECK (NODE)) argument
3297 #define USING_DECL_SCOPE(NODE) DECL_RESULT_FLD (USING_DECL_CHECK (NODE)) argument
3300 #define USING_DECL_DECLS(NODE) DECL_INITIAL (USING_DECL_CHECK (NODE)) argument
3303 #define USING_DECL_TYPENAME_P(NODE) DECL_LANG_FLAG_1 (USING_DECL_CHECK (NODE)) argument
3308 #define DECL_PENDING_INLINE_P(NODE) \ argument
3309 (LANG_DECL_FN_CHECK (NODE)->pending_inline_p)
3313 #define DECL_PENDING_INLINE_INFO(NODE) \ argument
3314 (LANG_DECL_FN_CHECK (NODE)->u.pending_inline_info)
3317 #define TYPE_DECL_ALIAS_P(NODE) \ argument
3318 DECL_LANG_FLAG_6 (TYPE_DECL_CHECK (NODE))
3321 #define TEMPLATE_DECL_COMPLEX_ALIAS_P(NODE) \ argument
3322 DECL_LANG_FLAG_2 (TEMPLATE_DECL_CHECK (NODE))
3327 #define TYPE_ALIAS_P(NODE) \ argument
3328 (TYPE_P (NODE) \
3329 && TYPE_NAME (NODE) \
3330 && TREE_CODE (TYPE_NAME (NODE)) == TYPE_DECL \
3331 && TYPE_DECL_ALIAS_P (TYPE_NAME (NODE)))
3352 #define DECL_TEMPLATE_INFO(NODE) \ argument
3353 (DECL_LANG_SPECIFIC (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK (NODE)) \
3357 #define DECL_CAPTURED_VARIABLE(NODE) \ argument
3358 (LANG_DECL_MIN_CHECK (NODE)->access)
3363 #define DECL_ANON_UNION_VAR_P(NODE) \ argument
3364 (DECL_LANG_FLAG_4 (VAR_DECL_CHECK (NODE)))
3367 #define CLASSTYPE_TEMPLATE_INFO(NODE) \ argument
3368 (TYPE_LANG_SLOT_1 (RECORD_OR_UNION_CHECK (NODE)))
3371 #define TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO(NODE) \ argument
3372 (TYPE_LANG_SLOT_1 (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK (NODE)))
3379 #define TYPE_TEMPLATE_INFO(NODE) \ argument
3380 (TREE_CODE (NODE) == ENUMERAL_TYPE \
3381 || TREE_CODE (NODE) == BOUND_TEMPLATE_TEMPLATE_PARM \
3382 || RECORD_OR_UNION_TYPE_P (NODE) \
3383 ? TYPE_LANG_SLOT_1 (NODE) : NULL_TREE)
3386 #define TYPE_ALIAS_TEMPLATE_INFO(NODE) \ argument
3387 (DECL_LANG_SPECIFIC (TYPE_NAME (NODE)) \
3388 ? DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) \
3394 #define TYPE_TEMPLATE_INFO_MAYBE_ALIAS(NODE) \ argument
3395 (TYPE_ALIAS_P (NODE) \
3396 ? TYPE_ALIAS_TEMPLATE_INFO (NODE) \
3397 : TYPE_TEMPLATE_INFO (NODE))
3401 #define SET_TYPE_TEMPLATE_INFO(NODE, VAL) \ argument
3402 (TREE_CODE (NODE) == ENUMERAL_TYPE \
3403 || (CLASS_TYPE_P (NODE) && !TYPE_ALIAS_P (NODE)) \
3404 ? (TYPE_LANG_SLOT_1 (NODE) = (VAL)) \
3405 : (DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) = (VAL)))
3407 #define TI_TEMPLATE(NODE) TREE_TYPE (TEMPLATE_INFO_CHECK (NODE)) argument
3408 #define TI_ARGS(NODE) TREE_CHAIN (TEMPLATE_INFO_CHECK (NODE)) argument
3409 #define TI_PENDING_TEMPLATE_FLAG(NODE) \ argument
3410 TREE_LANG_FLAG_1 (TEMPLATE_INFO_CHECK (NODE))
3414 #define NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ argument
3415 TREE_CHAIN (TREE_VEC_CHECK (NODE))
3419 #define SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE, INT_VALUE) \ argument
3420 NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) = build_int_cst (NULL_TREE, INT_VALUE)
3422 #define GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ argument
3423 int_cst_value (NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE))
3425 #define GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ argument
3426 NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE) \
3427 ? int_cst_value (NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE)) \
3428 : TREE_VEC_LENGTH (INNERMOST_TEMPLATE_ARGS (NODE))
3435 #define TI_TYPEDEFS_NEEDING_ACCESS_CHECKING(NODE) \ argument
3437 (NODE))->typedefs_needing_access_checking
3459 #define TMPL_ARGS_HAVE_MULTIPLE_LEVELS(NODE) \ argument
3460 (NODE && TREE_VEC_LENGTH (NODE) && TREE_VEC_ELT (NODE, 0) \
3461 && TREE_CODE (TREE_VEC_ELT (NODE, 0)) == TREE_VEC)
3468 #define TMPL_ARGS_DEPTH(NODE) \ argument
3469 (TMPL_ARGS_HAVE_MULTIPLE_LEVELS (NODE) ? TREE_VEC_LENGTH (NODE) : 1)
3488 #define NUM_TMPL_ARGS(NODE) \ argument
3489 (TREE_VEC_LENGTH (NODE))
3492 #define INNERMOST_TEMPLATE_ARGS(NODE) \ argument
3493 (get_innermost_template_args ((NODE), 1))
3496 #define TMPL_PARMS_DEPTH(NODE) \ argument
3497 ((HOST_WIDE_INT) TREE_INT_CST_LOW (TREE_PURPOSE (NODE)))
3520 #define DECL_TI_TEMPLATE(NODE) TI_TEMPLATE (DECL_TEMPLATE_INFO (NODE)) argument
3527 #define DECL_TI_ARGS(NODE) TI_ARGS (DECL_TEMPLATE_INFO (NODE)) argument
3546 #define CLASSTYPE_TI_TEMPLATE(NODE) TI_TEMPLATE (CLASSTYPE_TEMPLATE_INFO (NODE)) argument
3547 #define CLASSTYPE_TI_ARGS(NODE) TI_ARGS (CLASSTYPE_TEMPLATE_INFO (NODE)) argument
3559 #define TYPE_TI_TEMPLATE(NODE) \ argument
3560 (TI_TEMPLATE (TYPE_TEMPLATE_INFO (NODE)))
3563 #define TYPE_TI_ARGS(NODE) \ argument
3564 (TI_ARGS (TYPE_TEMPLATE_INFO (NODE)))
3566 #define INNERMOST_TEMPLATE_PARMS(NODE) TREE_VALUE (NODE) argument
3570 #define DECL_MEMBER_TEMPLATE_P(NODE) \ argument
3571 (DECL_LANG_FLAG_1 (TEMPLATE_DECL_CHECK (NODE)))
3576 #define TEMPLATE_PARMS_FOR_INLINE(NODE) TREE_LANG_FLAG_1 (NODE) argument
3579 #define DECL_PACK_P(NODE) \ argument
3580 (DECL_P (NODE) && PACK_EXPANSION_P (TREE_TYPE (NODE)))
3584 #define PACK_EXPANSION_P(NODE) \ argument
3585 (TREE_CODE (NODE) == TYPE_PACK_EXPANSION \
3586 || TREE_CODE (NODE) == EXPR_PACK_EXPANSION)
3590 #define PACK_EXPANSION_PATTERN(NODE) \ argument
3591 (TREE_CODE (NODE) == TYPE_PACK_EXPANSION ? TREE_TYPE (NODE) \
3592 : TREE_OPERAND (NODE, 0))
3596 #define SET_PACK_EXPANSION_PATTERN(NODE,VALUE) \ argument
3597 if (TREE_CODE (NODE) == TYPE_PACK_EXPANSION) \
3598 TREE_TYPE (NODE) = VALUE; \
3600 TREE_OPERAND (NODE, 0) = VALUE
3604 #define PACK_EXPANSION_PARAMETER_PACKS(NODE) \ argument
3605 *(TREE_CODE (NODE) == EXPR_PACK_EXPANSION \
3606 ? &TREE_OPERAND (NODE, 1) \
3607 : &TYPE_MIN_VALUE_RAW (TYPE_PACK_EXPANSION_CHECK (NODE)))
3615 #define PACK_EXPANSION_EXTRA_ARGS(NODE) \ argument
3616 *(TREE_CODE (NODE) == TYPE_PACK_EXPANSION \
3617 ? &TYPE_MAX_VALUE_RAW (NODE) \
3618 : &TREE_OPERAND ((NODE), 2))
3621 #define PACK_EXPANSION_LOCAL_P(NODE) TREE_LANG_FLAG_0 (NODE) argument
3624 #define PACK_EXPANSION_SIZEOF_P(NODE) TREE_LANG_FLAG_1 (NODE) argument
3627 #define WILDCARD_PACK_P(NODE) TREE_LANG_FLAG_0 (NODE) argument
3630 #define ARGUMENT_PACK_P(NODE) \ argument
3631 (TREE_CODE (NODE) == TYPE_ARGUMENT_PACK \
3632 || TREE_CODE (NODE) == NONTYPE_ARGUMENT_PACK)
3636 #define ARGUMENT_PACK_ARGS(NODE) \ argument
3637 (TREE_CODE (NODE) == TYPE_ARGUMENT_PACK? TREE_TYPE (NODE) \
3638 : TREE_OPERAND (NODE, 0))
3642 #define SET_ARGUMENT_PACK_ARGS(NODE,VALUE) \ argument
3643 if (TREE_CODE (NODE) == TYPE_ARGUMENT_PACK) \
3644 TREE_TYPE (NODE) = VALUE; \
3646 TREE_OPERAND (NODE, 0) = VALUE
3654 #define ARGUMENT_PACK_INCOMPLETE_P(NODE) \ argument
3655 TREE_ADDRESSABLE (ARGUMENT_PACK_ARGS (NODE))
3659 #define ARGUMENT_PACK_EXPLICIT_ARGS(NODE) \ argument
3660 TREE_TYPE (ARGUMENT_PACK_ARGS (NODE))
3664 #define ARGUMENT_PACK_SELECT_FROM_PACK(NODE) \ argument
3665 (((struct tree_argument_pack_select *)ARGUMENT_PACK_SELECT_CHECK (NODE))->argument_pack)
3669 #define ARGUMENT_PACK_SELECT_INDEX(NODE) \ argument
3670 (((struct tree_argument_pack_select *)ARGUMENT_PACK_SELECT_CHECK (NODE))->index)
3672 #define FOLD_EXPR_CHECK(NODE) \ argument
3673 TREE_CHECK4 (NODE, UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, \
3676 #define BINARY_FOLD_EXPR_CHECK(NODE) \ argument
3677 TREE_CHECK2 (NODE, BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR)
3680 #define FOLD_EXPR_P(NODE) \ argument
3681 (TREE_CODE (NODE) == UNARY_LEFT_FOLD_EXPR \
3682 || TREE_CODE (NODE) == UNARY_RIGHT_FOLD_EXPR \
3683 || TREE_CODE (NODE) == BINARY_LEFT_FOLD_EXPR \
3684 || TREE_CODE (NODE) == BINARY_RIGHT_FOLD_EXPR)
3687 #define FOLD_EXPR_MODIFY_P(NODE) \ argument
3688 TREE_LANG_FLAG_0 (FOLD_EXPR_CHECK (NODE))
3691 #define FOLD_EXPR_OP(NODE) \ argument
3692 TREE_OPERAND (FOLD_EXPR_CHECK (NODE), 0)
3695 #define FOLD_EXPR_PACK(NODE) \ argument
3696 TREE_OPERAND (FOLD_EXPR_CHECK (NODE), 1)
3700 #define FOLD_EXPR_INIT(NODE) \ argument
3701 TREE_OPERAND (BINARY_FOLD_EXPR_CHECK (NODE), 2)
3704 #define DECL_SAVED_FUNCTION_DATA(NODE) \ argument
3705 (LANG_DECL_FN_CHECK (FUNCTION_DECL_CHECK (NODE)) \
3709 #define REFERENCE_REF_P(NODE) \ argument
3710 (INDIRECT_REF_P (NODE) \
3711 && TREE_TYPE (TREE_OPERAND (NODE, 0)) \
3712 && TYPE_REF_P (TREE_TYPE (TREE_OPERAND ((NODE), 0))))
3716 #define REFERENCE_VLA_OK(NODE) \ argument
3717 (TYPE_LANG_FLAG_5 (REFERENCE_TYPE_CHECK (NODE)))
3719 #define NEW_EXPR_USE_GLOBAL(NODE) \ argument
3720 TREE_LANG_FLAG_0 (NEW_EXPR_CHECK (NODE))
3721 #define DELETE_EXPR_USE_GLOBAL(NODE) \ argument
3722 TREE_LANG_FLAG_0 (DELETE_EXPR_CHECK (NODE))
3723 #define DELETE_EXPR_USE_VEC(NODE) \ argument
3724 TREE_LANG_FLAG_1 (DELETE_EXPR_CHECK (NODE))
3726 #define CALL_OR_AGGR_INIT_CHECK(NODE) \ argument
3727 TREE_CHECK2 ((NODE), CALL_EXPR, AGGR_INIT_EXPR)
3731 #define COMPOUND_EXPR_OVERLOADED(NODE) \ argument
3732 TREE_LANG_FLAG_0 (COMPOUND_EXPR_CHECK (NODE))
3736 #define KOENIG_LOOKUP_P(NODE) TREE_LANG_FLAG_0 (CALL_EXPR_CHECK (NODE)) argument
3740 #define CALL_EXPR_ORDERED_ARGS(NODE) \ argument
3741 TREE_LANG_FLAG_3 (CALL_OR_AGGR_INIT_CHECK (NODE))
3745 #define CALL_EXPR_REVERSE_ARGS(NODE) \ argument
3746 TREE_LANG_FLAG_5 (CALL_OR_AGGR_INIT_CHECK (NODE))
3750 #define CALL_EXPR_OPERATOR_SYNTAX(NODE) \ argument
3751 TREE_LANG_FLAG_6 (CALL_OR_AGGR_INIT_CHECK (NODE))
3756 #define PAREN_STRING_LITERAL_P(NODE) \ argument
3757 TREE_LANG_FLAG_0 (STRING_CST_CHECK (NODE))
3763 #define REF_PARENTHESIZED_P(NODE) \ argument
3764 TREE_LANG_FLAG_2 (TREE_CHECK4 ((NODE), COMPONENT_REF, INDIRECT_REF, SCOPE_REF, VIEW_CONVERT_EXPR))
3768 #define AGGR_INIT_VIA_CTOR_P(NODE) \ argument
3769 TREE_LANG_FLAG_0 (AGGR_INIT_EXPR_CHECK (NODE))
3773 #define AGGR_INIT_ZERO_FIRST(NODE) \ argument
3774 TREE_LANG_FLAG_2 (AGGR_INIT_EXPR_CHECK (NODE))
3778 #define AGGR_INIT_FROM_THUNK_P(NODE) \ argument
3779 (AGGR_INIT_EXPR_CHECK (NODE)->base.protected_flag)
3785 #define AGGR_INIT_EXPR_FN(NODE) TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 1) argument
3786 #define AGGR_INIT_EXPR_SLOT(NODE) \ argument
3787 TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 2)
3788 #define AGGR_INIT_EXPR_ARG(NODE, I) \ argument
3789 TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), (I) + 3)
3790 #define aggr_init_expr_nargs(NODE) (VL_EXP_OPERAND_LENGTH(NODE) - 3) argument
3798 #define AGGR_INIT_EXPR_ARGP(NODE) \ argument
3799 (&(TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 0)) + 3)
3860 #define VEC_INIT_EXPR_SLOT(NODE) TREE_OPERAND (VEC_INIT_EXPR_CHECK (NODE), 0) argument
3861 #define VEC_INIT_EXPR_INIT(NODE) TREE_OPERAND (VEC_INIT_EXPR_CHECK (NODE), 1) argument
3865 #define VEC_INIT_EXPR_IS_CONSTEXPR(NODE) \ argument
3866 TREE_LANG_FLAG_0 (VEC_INIT_EXPR_CHECK (NODE))
3869 #define VEC_INIT_EXPR_VALUE_INIT(NODE) \ argument
3870 TREE_LANG_FLAG_1 (VEC_INIT_EXPR_CHECK (NODE))
3874 #define MUST_NOT_THROW_COND(NODE) \ argument
3875 TREE_OPERAND (MUST_NOT_THROW_EXPR_CHECK (NODE), 1)
3881 #define CLASSTYPE_IS_TEMPLATE(NODE) \ argument
3882 (CLASSTYPE_TEMPLATE_INFO (NODE) \
3883 && !CLASSTYPE_USE_TEMPLATE (NODE) \
3884 && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (NODE)))
3890 #define TYPENAME_TYPE_FULLNAME(NODE) \ argument
3891 (TYPE_VALUES_RAW (TYPENAME_TYPE_CHECK (NODE)))
3894 #define TYPENAME_IS_ENUM_P(NODE) \ argument
3895 (TREE_LANG_FLAG_0 (TYPENAME_TYPE_CHECK (NODE)))
3899 #define TYPENAME_IS_CLASS_P(NODE) \ argument
3900 (TREE_LANG_FLAG_1 (TYPENAME_TYPE_CHECK (NODE)))
3903 #define TYPENAME_IS_RESOLVING_P(NODE) \ argument
3904 (TREE_LANG_FLAG_2 (TYPENAME_TYPE_CHECK (NODE)))
3910 #define TYPE_POLYMORPHIC_P(NODE) (TREE_LANG_FLAG_2 (NODE)) argument
3913 #define TYPE_CONTAINS_VPTR_P(NODE) \ argument
3914 (TYPE_POLYMORPHIC_P (NODE) || CLASSTYPE_VBASECLASSES (NODE))
3918 #define DECL_LOCAL_FUNCTION_P(NODE) \ argument
3919 DECL_LANG_FLAG_0 (FUNCTION_DECL_CHECK (NODE))
3922 #define LABEL_DECL_BREAK(NODE) \ argument
3923 DECL_LANG_FLAG_0 (LABEL_DECL_CHECK (NODE))
3926 #define LABEL_DECL_CONTINUE(NODE) \ argument
3927 DECL_LANG_FLAG_1 (LABEL_DECL_CHECK (NODE))
3931 #define LABEL_DECL_CDTOR(NODE) \ argument
3932 DECL_LANG_FLAG_2 (LABEL_DECL_CHECK (NODE))
3938 #define FNDECL_USED_AUTO(NODE) \ argument
3939 TREE_LANG_FLAG_2 (FUNCTION_DECL_CHECK (NODE))
3945 #define DECL_ANTICIPATED(NODE) \ argument
3946 (DECL_LANG_SPECIFIC (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK (NODE)) \
3950 #define DECL_HIDDEN_P(NODE) \ argument
3951 (DECL_LANG_SPECIFIC (NODE) && TYPE_FUNCTION_OR_TEMPLATE_DECL_P (NODE) \
3952 && DECL_ANTICIPATED (NODE))
3955 #define TYPE_HIDDEN_P(NODE) \ argument
3956 (DECL_LANG_SPECIFIC (TYPE_NAME (NODE)) \
3957 && DECL_ANTICIPATED (TYPE_NAME (NODE)))
3961 #define DECL_OMP_PRIVATIZED_MEMBER(NODE) \ argument
3962 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.anticipated_p)
3967 #define DECL_HIDDEN_FRIEND_P(NODE) \ argument
3968 (LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->hidden_friend_p)
3972 #define DECL_OMP_DECLARE_REDUCTION_P(NODE) \ argument
3973 (LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->omp_declare_reduction_p)
3981 #define DECL_VAR_DECLARED_INLINE_P(NODE) \ argument
3982 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \
3983 ? DECL_LANG_SPECIFIC (NODE)->u.base.var_declared_inline_p \
3985 #define SET_DECL_VAR_DECLARED_INLINE_P(NODE) \ argument
3986 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.var_declared_inline_p \
3990 #define DECL_DEPENDENT_INIT_P(NODE) \ argument
3991 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \
3992 && DECL_LANG_SPECIFIC (NODE)->u.base.dependent_init_p)
3993 #define SET_DECL_DEPENDENT_INIT_P(NODE, X) \ argument
3994 (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.dependent_init_p = (X))
3998 #define DECL_DECOMPOSITION_P(NODE) \ argument
3999 (VAR_P (NODE) && DECL_LANG_SPECIFIC (NODE) \
4000 ? DECL_LANG_SPECIFIC (NODE)->u.base.selector == lds_decomp \
4004 #define DECL_DECOMP_BASE(NODE) \ argument
4005 (LANG_DECL_DECOMP_CHECK (NODE)->base)
4009 #define DECL_INLINE_VAR_P(NODE) \ argument
4010 (DECL_VAR_DECLARED_INLINE_P (NODE) \
4012 && DECL_DECLARED_CONSTEXPR_P (NODE) \
4013 && DECL_CLASS_SCOPE_P (NODE)))
4145 #define ENUM_FIXED_UNDERLYING_TYPE_P(NODE) (TYPE_LANG_FLAG_5 (NODE)) argument
4183 #define TYPE_HAS_USER_CONSTRUCTOR(NODE) (TYPE_LANG_FLAG_1 (NODE)) argument
4187 #define TYPE_HAS_LATE_RETURN_TYPE(NODE) \ argument
4188 (TYPE_LANG_FLAG_2 (FUNC_OR_METHOD_CHECK (NODE)))
4204 #define TREE_HAS_CONSTRUCTOR(NODE) (TREE_LANG_FLAG_4 (NODE)) argument
4207 #define BRACE_ENCLOSED_INITIALIZER_P(NODE) \ argument
4208 (TREE_CODE (NODE) == CONSTRUCTOR && TREE_TYPE (NODE) == init_list_type_node)
4212 #define COMPOUND_LITERAL_P(NODE) \ argument
4213 (TREE_CODE (NODE) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (NODE))
4215 #define EMPTY_CONSTRUCTOR_P(NODE) (TREE_CODE (NODE) == CONSTRUCTOR \ argument
4216 && vec_safe_is_empty(CONSTRUCTOR_ELTS(NODE))\
4217 && !TREE_HAS_CONSTRUCTOR (NODE))
4221 #define CONSTRUCTOR_IS_DIRECT_INIT(NODE) (TREE_LANG_FLAG_0 (CONSTRUCTOR_CHECK (NODE))) argument
4225 #define CONSTRUCTOR_IS_DEPENDENT(NODE) \ argument
4226 (TREE_LANG_FLAG_1 (CONSTRUCTOR_CHECK (NODE)))
4230 #define CONSTRUCTOR_MUTABLE_POISON(NODE) \ argument
4231 (TREE_LANG_FLAG_2 (CONSTRUCTOR_CHECK (NODE)))
4235 #define CONSTRUCTOR_C99_COMPOUND_LITERAL(NODE) \ argument
4236 (TREE_LANG_FLAG_3 (CONSTRUCTOR_CHECK (NODE)))
4241 #define CONSTRUCTOR_PLACEHOLDER_BOUNDARY(NODE) \ argument
4242 (TREE_LANG_FLAG_5 (CONSTRUCTOR_CHECK (NODE)))
4244 #define DIRECT_LIST_INIT_P(NODE) \ argument
4245 (BRACE_ENCLOSED_INITIALIZER_P (NODE) && CONSTRUCTOR_IS_DIRECT_INIT (NODE))
4250 #define CONSTRUCTOR_IS_DESIGNATED_INIT(NODE) \ argument
4251 (TREE_LANG_FLAG_6 (CONSTRUCTOR_CHECK (NODE)))
4255 #define IMPLICIT_CONV_EXPR_DIRECT_INIT(NODE) \ argument
4256 (TREE_LANG_FLAG_0 (IMPLICIT_CONV_EXPR_CHECK (NODE)))
4260 #define IMPLICIT_CONV_EXPR_NONTYPE_ARG(NODE) \ argument
4261 (TREE_LANG_FLAG_1 (IMPLICIT_CONV_EXPR_CHECK (NODE)))
4265 #define IMPLICIT_CONV_EXPR_BRACED_INIT(NODE) \ argument
4266 (TREE_LANG_FLAG_2 (IMPLICIT_CONV_EXPR_CHECK (NODE)))
4270 #define CLASSTYPE_NON_AGGREGATE(NODE) \ argument
4271 (LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate)
4272 #define TYPE_NON_AGGREGATE_CLASS(NODE) \ argument
4273 (CLASS_TYPE_P (NODE) && CLASSTYPE_NON_AGGREGATE (NODE))
4276 #define TYPE_HAS_COMPLEX_COPY_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_copy_assign) argument
4279 #define TYPE_HAS_COMPLEX_COPY_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_copy_ctor) argument
4282 #define TYPE_HAS_COMPLEX_MOVE_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_move_assign) argument
4285 #define TYPE_HAS_COMPLEX_MOVE_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_move_ctor) argument
4288 #define TYPE_HAS_COMPLEX_DFLT(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_dflt) argument
4301 #define TYPE_HAS_TRIVIAL_DESTRUCTOR(NODE) \ argument
4302 (!TYPE_HAS_NONTRIVIAL_DESTRUCTOR (NODE))
4308 #define TYPE_HAS_NONTRIVIAL_DESTRUCTOR(NODE) \ argument
4309 (TYPE_LANG_FLAG_4 (NODE))
4312 #define TYPE_HAS_TRIVIAL_DFLT(NODE) \ argument
4313 (TYPE_HAS_DEFAULT_CONSTRUCTOR (NODE) && ! TYPE_HAS_COMPLEX_DFLT (NODE))
4317 #define TYPE_HAS_TRIVIAL_COPY_CTOR(NODE) \ argument
4318 (TYPE_HAS_COPY_CTOR (NODE) && ! TYPE_HAS_COMPLEX_COPY_CTOR (NODE))
4322 #define TYPE_HAS_TRIVIAL_COPY_ASSIGN(NODE) \ argument
4323 (TYPE_HAS_COPY_ASSIGN (NODE) && ! TYPE_HAS_COMPLEX_COPY_ASSIGN (NODE))
4326 #define TYPE_PTRDATAMEM_P(NODE) \ argument
4327 (TREE_CODE (NODE) == OFFSET_TYPE)
4330 #define TYPE_PTR_P(NODE) \ argument
4331 (TREE_CODE (NODE) == POINTER_TYPE)
4334 #define TYPE_REF_P(NODE) \ argument
4335 (TREE_CODE (NODE) == REFERENCE_TYPE)
4338 #define INDIRECT_TYPE_P(NODE) \ argument
4339 (TYPE_PTR_P (NODE) || TYPE_REF_P (NODE))
4349 #define TYPE_OBJ_P(NODE) \ argument
4350 (!TYPE_REF_P (NODE) \
4351 && !VOID_TYPE_P (NODE) \
4352 && TREE_CODE (NODE) != FUNCTION_TYPE \
4353 && TREE_CODE (NODE) != METHOD_TYPE)
4357 #define TYPE_PTROB_P(NODE) \ argument
4358 (TYPE_PTR_P (NODE) && TYPE_OBJ_P (TREE_TYPE (NODE)))
4362 #define TYPE_REF_OBJ_P(NODE) \ argument
4363 (TYPE_REF_P (NODE) && TYPE_OBJ_P (TREE_TYPE (NODE)))
4367 #define TYPE_PTROBV_P(NODE) \ argument
4368 (TYPE_PTR_P (NODE) \
4369 && !(TREE_CODE (TREE_TYPE (NODE)) == FUNCTION_TYPE \
4370 || TREE_CODE (TREE_TYPE (NODE)) == METHOD_TYPE))
4373 #define TYPE_PTRFN_P(NODE) \ argument
4374 (TYPE_PTR_P (NODE) \
4375 && TREE_CODE (TREE_TYPE (NODE)) == FUNCTION_TYPE)
4378 #define TYPE_REFFN_P(NODE) \ argument
4379 (TYPE_REF_P (NODE) \
4380 && TREE_CODE (TREE_TYPE (NODE)) == FUNCTION_TYPE)
4383 #define TYPE_PTRMEMFUNC_P(NODE) \ argument
4384 (TREE_CODE (NODE) == RECORD_TYPE \
4385 && TYPE_PTRMEMFUNC_FLAG (NODE))
4387 #define TYPE_PTRMEMFUNC_FLAG(NODE) \ argument
4388 (TYPE_LANG_FLAG_2 (RECORD_TYPE_CHECK (NODE)))
4391 #define TYPE_PTRMEM_P(NODE) \ argument
4392 (TYPE_PTRDATAMEM_P (NODE) || TYPE_PTRMEMFUNC_P (NODE))
4395 #define TYPE_PTR_OR_PTRMEM_P(NODE) \ argument
4396 (TYPE_PTR_P (NODE) || TYPE_PTRMEM_P (NODE))
4400 #define PTRMEM_OK_P(NODE) \ argument
4401 TREE_LANG_FLAG_0 (TREE_CHECK3 ((NODE), ADDR_EXPR, OFFSET_REF, SCOPE_REF))
4406 #define TYPE_PTRMEMFUNC_FN_TYPE(NODE) \ argument
4407 (cp_build_qualified_type (TREE_TYPE (TYPE_FIELDS (NODE)),\
4408 cp_type_quals (NODE)))
4412 #define TYPE_PTRMEMFUNC_FN_TYPE_RAW(NODE) \ argument
4413 (TREE_TYPE (TYPE_FIELDS (NODE)))
4416 #define TYPE_PTRMEMFUNC_OBJECT_TYPE(NODE) \ argument
4417 TYPE_METHOD_BASETYPE (TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (NODE)))
4421 #define TYPE_PTRMEMFUNC_TYPE(NODE) \ argument
4422 TYPE_LANG_SLOT_1 (NODE)
4429 #define TYPE_PTRMEM_CLASS_TYPE(NODE) \ argument
4430 (TYPE_PTRDATAMEM_P (NODE) \
4431 ? TYPE_OFFSET_BASETYPE (NODE) \
4432 : TYPE_PTRMEMFUNC_OBJECT_TYPE (NODE))
4435 #define TYPE_PTRMEM_POINTED_TO_TYPE(NODE) \ argument
4436 (TYPE_PTRDATAMEM_P (NODE) \
4437 ? TREE_TYPE (NODE) \
4438 : TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (NODE)))
4442 #define PTRMEM_CST_CLASS(NODE) \ argument
4443 TYPE_PTRMEM_CLASS_TYPE (TREE_TYPE (PTRMEM_CST_CHECK (NODE)))
4447 #define PTRMEM_CST_MEMBER(NODE) \ argument
4448 (((ptrmem_cst_t)PTRMEM_CST_CHECK (NODE))->member)
4451 #define TYPEOF_TYPE_EXPR(NODE) (TYPE_VALUES_RAW (TYPEOF_TYPE_CHECK (NODE))) argument
4454 #define UNDERLYING_TYPE_TYPE(NODE) \ argument
4455 (TYPE_VALUES_RAW (UNDERLYING_TYPE_CHECK (NODE)))
4458 #define BASES_TYPE(NODE) \ argument
4459 (TYPE_VALUES_RAW (BASES_CHECK (NODE)))
4461 #define BASES_DIRECT(NODE) \ argument
4462 TREE_LANG_FLAG_0 (BASES_CHECK (NODE))
4465 #define DECLTYPE_TYPE_EXPR(NODE) (TYPE_VALUES_RAW (DECLTYPE_TYPE_CHECK (NODE))) argument
4470 #define DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P(NODE) \ argument
4471 (DECLTYPE_TYPE_CHECK (NODE))->type_common.string_flag
4476 #define DECLTYPE_FOR_LAMBDA_CAPTURE(NODE) \ argument
4477 TREE_LANG_FLAG_0 (DECLTYPE_TYPE_CHECK (NODE))
4478 #define DECLTYPE_FOR_INIT_CAPTURE(NODE) \ argument
4479 TREE_LANG_FLAG_1 (DECLTYPE_TYPE_CHECK (NODE))
4480 #define DECLTYPE_FOR_LAMBDA_PROXY(NODE) \ argument
4481 TREE_LANG_FLAG_2 (DECLTYPE_TYPE_CHECK (NODE))
4482 #define DECLTYPE_FOR_REF_CAPTURE(NODE) \ argument
4483 TREE_LANG_FLAG_3 (DECLTYPE_TYPE_CHECK (NODE))
4488 #define DECL_THIS_EXTERN(NODE) \ argument
4489 DECL_LANG_FLAG_2 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))
4494 #define DECL_THIS_STATIC(NODE) \ argument
4495 DECL_LANG_FLAG_6 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))
4499 #define DECL_VLA_CAPTURE_P(NODE) \ argument
4500 DECL_LANG_FLAG_1 (FIELD_DECL_CHECK (NODE))
4504 #define DECL_ARRAY_PARAMETER_P(NODE) \ argument
4505 DECL_LANG_FLAG_1 (PARM_DECL_CHECK (NODE))
4509 #define DECL_INSTANTIATING_NSDMI_P(NODE) \ argument
4510 DECL_LANG_FLAG_2 (FIELD_DECL_CHECK (NODE))
4514 #define DECL_FIELD_IS_BASE(NODE) \ argument
4515 DECL_LANG_FLAG_6 (FIELD_DECL_CHECK (NODE))
4520 #define DECL_NORMAL_CAPTURE_P(NODE) \ argument
4521 DECL_LANG_FLAG_7 (FIELD_DECL_CHECK (NODE))
4526 #define ANON_AGGR_TYPE_P(NODE) \ argument
4527 (CLASS_TYPE_P (NODE) && LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr)
4528 #define SET_ANON_AGGR_TYPE_P(NODE) \ argument
4529 (LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr = 1)
4532 #define ANON_UNION_TYPE_P(NODE) \ argument
4533 (TREE_CODE (NODE) == UNION_TYPE && ANON_AGGR_TYPE_P (NODE))
4538 #define TYPE_WAS_UNNAMED(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->was_anonymous) argument
4547 #define DECL_FRIENDLIST(NODE) (DECL_INITIAL (NODE)) argument
4557 #define DECL_ACCESS(NODE) (LANG_DECL_MIN_CHECK (NODE)->access) argument
4560 #define DECL_GLOBAL_CTOR_P(NODE) \ argument
4561 (LANG_DECL_FN_CHECK (NODE)->global_ctor_p)
4564 #define DECL_GLOBAL_DTOR_P(NODE) \ argument
4565 (LANG_DECL_FN_CHECK (NODE)->global_dtor_p)
4583 #define DECL_TEMPLATE_PARMS(NODE) \ argument
4584 ((struct tree_template_decl *)CONST_CAST_TREE (TEMPLATE_DECL_CHECK (NODE)))->arguments
4585 #define DECL_INNERMOST_TEMPLATE_PARMS(NODE) \ argument
4586 INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (NODE))
4587 #define DECL_NTPARMS(NODE) \ argument
4588 TREE_VEC_LENGTH (DECL_INNERMOST_TEMPLATE_PARMS (NODE))
4593 #define DECL_TEMPLATE_RESULT(NODE) \ argument
4594 ((struct tree_template_decl *)CONST_CAST_TREE(TEMPLATE_DECL_CHECK (NODE)))->result
4623 #define DECL_TEMPLATE_INSTANTIATIONS(NODE) \ argument
4624 DECL_SIZE_UNIT (TEMPLATE_DECL_CHECK (NODE))
4636 #define DECL_TEMPLATE_SPECIALIZATIONS(NODE) \ argument
4637 DECL_SIZE (TEMPLATE_DECL_CHECK (NODE))
4641 #define DECL_TEMPLATE_PARM_P(NODE) \ argument
4642 (DECL_LANG_FLAG_0 (NODE) \
4643 && (TREE_CODE (NODE) == CONST_DECL \
4644 || TREE_CODE (NODE) == PARM_DECL \
4645 || TREE_CODE (NODE) == TYPE_DECL \
4646 || TREE_CODE (NODE) == TEMPLATE_DECL))
4649 #define TEMPLATE_PARM_P(NODE) \ argument
4650 (TREE_CODE (NODE) == TEMPLATE_TYPE_PARM \
4651 || TREE_CODE (NODE) == TEMPLATE_TEMPLATE_PARM \
4652 || TREE_CODE (NODE) == TEMPLATE_PARM_INDEX)
4655 #define SET_DECL_TEMPLATE_PARM_P(NODE) \ argument
4656 (DECL_LANG_FLAG_0 (NODE) = 1)
4659 #define DECL_TEMPLATE_TEMPLATE_PARM_P(NODE) \ argument
4660 (TREE_CODE (NODE) == TEMPLATE_DECL && DECL_TEMPLATE_PARM_P (NODE))
4663 #define DECL_FUNCTION_TEMPLATE_P(NODE) \ argument
4664 (TREE_CODE (NODE) == TEMPLATE_DECL \
4665 && DECL_TEMPLATE_RESULT (NODE) != NULL_TREE \
4666 && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == FUNCTION_DECL)
4670 #define DECL_TYPE_TEMPLATE_P(NODE) \ argument
4671 (TREE_CODE (NODE) == TEMPLATE_DECL \
4672 && DECL_TEMPLATE_RESULT (NODE) != NULL_TREE \
4673 && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == TYPE_DECL)
4676 #define DECL_CLASS_TEMPLATE_P(NODE) \ argument
4677 (DECL_TYPE_TEMPLATE_P (NODE) \
4678 && DECL_IMPLICIT_TYPEDEF_P (DECL_TEMPLATE_RESULT (NODE)))
4681 #define DECL_ALIAS_TEMPLATE_P(NODE) \ argument
4682 (DECL_TYPE_TEMPLATE_P (NODE) \
4683 && !DECL_ARTIFICIAL (DECL_TEMPLATE_RESULT (NODE)))
4686 #define DECL_DECLARES_TYPE_P(NODE) \ argument
4687 (TREE_CODE (NODE) == TYPE_DECL || DECL_TYPE_TEMPLATE_P (NODE))
4690 #define DECL_DECLARES_FUNCTION_P(NODE) \ argument
4691 (TREE_CODE (NODE) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (NODE))
4700 #define DECL_IMPLICIT_TYPEDEF_P(NODE) \ argument
4701 (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_2 (NODE))
4702 #define SET_DECL_IMPLICIT_TYPEDEF_P(NODE) \ argument
4703 (DECL_LANG_FLAG_2 (NODE) = 1)
4704 #define DECL_SELF_REFERENCE_P(NODE) \ argument
4705 (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_4 (NODE))
4706 #define SET_DECL_SELF_REFERENCE_P(NODE) \ argument
4707 (DECL_LANG_FLAG_4 (NODE) = 1)
4715 #define DECL_PRIMARY_TEMPLATE(NODE) \ argument
4716 (TREE_TYPE (DECL_INNERMOST_TEMPLATE_PARMS (NODE)))
4719 #define PRIMARY_TEMPLATE_P(NODE) (DECL_PRIMARY_TEMPLATE (NODE) == (NODE)) argument
4747 #define DECL_USE_TEMPLATE(NODE) (DECL_LANG_SPECIFIC (NODE)->u.base.use_template) argument
4750 #define CLASSTYPE_USE_TEMPLATE(NODE) \ argument
4751 (LANG_TYPE_CLASS_CHECK (NODE)->use_template)
4754 #define CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P(NODE) \ argument
4755 (CLASS_TYPE_P (NODE) \
4756 && CLASSTYPE_USE_TEMPLATE (NODE) \
4757 && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (NODE)))
4759 #define DECL_TEMPLATE_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) & 1) argument
4760 #define CLASSTYPE_TEMPLATE_INSTANTIATION(NODE) \ argument
4761 (CLASSTYPE_USE_TEMPLATE (NODE) & 1)
4763 #define DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) == 2) argument
4764 #define SET_DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) = 2) argument
4768 #define CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \ argument
4769 (CLASSTYPE_USE_TEMPLATE (NODE) == 2)
4770 #define SET_CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \ argument
4771 (CLASSTYPE_USE_TEMPLATE (NODE) = 2)
4773 #define DECL_IMPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) == 1) argument
4774 #define SET_DECL_IMPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) = 1) argument
4775 #define CLASSTYPE_IMPLICIT_INSTANTIATION(NODE) \ argument
4776 (CLASSTYPE_USE_TEMPLATE (NODE) == 1)
4777 #define SET_CLASSTYPE_IMPLICIT_INSTANTIATION(NODE) \ argument
4778 (CLASSTYPE_USE_TEMPLATE (NODE) = 1)
4780 #define DECL_EXPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) == 3) argument
4781 #define SET_DECL_EXPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) = 3) argument
4782 #define CLASSTYPE_EXPLICIT_INSTANTIATION(NODE) \ argument
4783 (CLASSTYPE_USE_TEMPLATE (NODE) == 3)
4784 #define SET_CLASSTYPE_EXPLICIT_INSTANTIATION(NODE) \ argument
4785 (CLASSTYPE_USE_TEMPLATE (NODE) = 3)
4819 #define DECL_TEMPLATE_INSTANTIATED(NODE) \ argument
4820 DECL_LANG_FLAG_1 (VAR_OR_FUNCTION_DECL_CHECK (NODE))
4823 #define DECL_INTERFACE_KNOWN(NODE) DECL_LANG_FLAG_5 (NODE) argument
4832 #define DECL_NOT_REALLY_EXTERN(NODE) \ argument
4833 (DECL_LANG_SPECIFIC (NODE)->u.base.not_really_extern)
4835 #define DECL_REALLY_EXTERN(NODE) \ argument
4836 (DECL_EXTERNAL (NODE) \
4837 && (!DECL_LANG_SPECIFIC (NODE) || !DECL_NOT_REALLY_EXTERN (NODE)))
4902 #define THUNK_TARGET(NODE) \ argument
4903 (LANG_DECL_FN_CHECK (NODE)->befriending_classes)
4907 #define QUALIFIED_NAME_IS_TEMPLATE(NODE) \ argument
4908 (TREE_LANG_FLAG_1 (SCOPE_REF_CHECK (NODE)))
4912 #define OMP_ATOMIC_DEPENDENT_P(NODE) \ argument
4913 (TREE_CODE (TREE_OPERAND (OMP_ATOMIC_CHECK (NODE), 0)) == INTEGER_CST \
4914 || TREE_CODE (TREE_OPERAND (OMP_ATOMIC_CHECK (NODE), 0)) == OMP_CLAUSE)
4917 #define OMP_FOR_GIMPLIFYING_P(NODE) \ argument
4918 (TREE_LANG_FLAG_0 (OMP_LOOP_CHECK (NODE)))
4923 #define CP_OMP_CLAUSE_INFO(NODE) \ argument
4924 TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \
4928 #define TRANSACTION_EXPR_IS_STMT(NODE) \ argument
4929 TREE_LANG_FLAG_0 (TRANSACTION_EXPR_CHECK (NODE))
4933 #define TRY_STMTS(NODE) TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 0) argument
4934 #define TRY_HANDLERS(NODE) TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 1) argument
4936 #define EH_SPEC_STMTS(NODE) TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 0) argument
4937 #define EH_SPEC_RAISES(NODE) TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 1) argument
4939 #define USING_STMT_NAMESPACE(NODE) TREE_OPERAND (USING_STMT_CHECK (NODE), 0) argument
4942 #define FN_TRY_BLOCK_P(NODE) TREE_LANG_FLAG_3 (TRY_BLOCK_CHECK (NODE)) argument
4943 #define HANDLER_PARMS(NODE) TREE_OPERAND (HANDLER_CHECK (NODE), 0) argument
4944 #define HANDLER_BODY(NODE) TREE_OPERAND (HANDLER_CHECK (NODE), 1) argument
4945 #define HANDLER_TYPE(NODE) TREE_TYPE (HANDLER_CHECK (NODE)) argument
4949 #define CLEANUP_BODY(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 0) argument
4950 #define CLEANUP_EXPR(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 1) argument
4951 #define CLEANUP_DECL(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 2) argument
4956 #define IF_COND(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 0) argument
4957 #define THEN_CLAUSE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 1) argument
4958 #define ELSE_CLAUSE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 2) argument
4959 #define IF_SCOPE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 3) argument
4960 #define IF_STMT_CONSTEXPR_P(NODE) TREE_LANG_FLAG_0 (IF_STMT_CHECK (NODE)) argument
4964 #define IF_STMT_EXTRA_ARGS(NODE) IF_SCOPE (NODE) argument
4968 #define WHILE_COND(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 0) argument
4969 #define WHILE_BODY(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 1) argument
4973 #define DO_COND(NODE) TREE_OPERAND (DO_STMT_CHECK (NODE), 0) argument
4974 #define DO_BODY(NODE) TREE_OPERAND (DO_STMT_CHECK (NODE), 1) argument
4979 #define FOR_INIT_STMT(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 0) argument
4980 #define FOR_COND(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 1) argument
4981 #define FOR_EXPR(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 2) argument
4982 #define FOR_BODY(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 3) argument
4983 #define FOR_SCOPE(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 4) argument
4987 #define RANGE_FOR_DECL(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 0) argument
4988 #define RANGE_FOR_EXPR(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 1) argument
4989 #define RANGE_FOR_BODY(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 2) argument
4990 #define RANGE_FOR_SCOPE(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 3) argument
4991 #define RANGE_FOR_UNROLL(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 4) argument
4992 #define RANGE_FOR_INIT_STMT(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 5) argument
4993 #define RANGE_FOR_IVDEP(NODE) TREE_LANG_FLAG_6 (RANGE_FOR_STMT_CHECK (NODE)) argument
4995 #define SWITCH_STMT_COND(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 0) argument
4996 #define SWITCH_STMT_BODY(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 1) argument
4997 #define SWITCH_STMT_TYPE(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 2) argument
4998 #define SWITCH_STMT_SCOPE(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 3) argument
5002 #define SWITCH_STMT_ALL_CASES_P(NODE) \ argument
5003 TREE_LANG_FLAG_0 (SWITCH_STMT_CHECK (NODE))
5005 #define SWITCH_STMT_NO_BREAK_P(NODE) \ argument
5006 TREE_LANG_FLAG_2 (SWITCH_STMT_CHECK (NODE))
5009 #define STMT_EXPR_STMT(NODE) TREE_OPERAND (STMT_EXPR_CHECK (NODE), 0) argument
5013 #define EXPR_STMT_EXPR(NODE) TREE_OPERAND (EXPR_STMT_CHECK (NODE), 0) argument
5017 #define TARGET_EXPR_IMPLICIT_P(NODE) \ argument
5018 TREE_LANG_FLAG_0 (TARGET_EXPR_CHECK (NODE))
5022 #define TARGET_EXPR_LIST_INIT_P(NODE) \ argument
5023 TREE_LANG_FLAG_1 (TARGET_EXPR_CHECK (NODE))
5027 #define TARGET_EXPR_DIRECT_INIT_P(NODE) \ argument
5028 TREE_LANG_FLAG_2 (TARGET_EXPR_CHECK (NODE))
5032 #define SIMPLE_TARGET_EXPR_P(NODE) \ argument
5033 (TREE_CODE (NODE) == TARGET_EXPR \
5034 && !VOID_TYPE_P (TREE_TYPE (TARGET_EXPR_INITIAL (NODE))))
5043 #define CONVERT_EXPR_VBASE_PATH(NODE) \ argument
5044 TREE_LANG_FLAG_0 (CONVERT_EXPR_CHECK (NODE))
5047 #define SIZEOF_EXPR_TYPE_P(NODE) \ argument
5048 TREE_LANG_FLAG_0 (SIZEOF_EXPR_CHECK (NODE))
5051 #define ALIGNOF_EXPR_STD_P(NODE) \ argument
5052 TREE_LANG_FLAG_0 (ALIGNOF_EXPR_CHECK (NODE))
5058 #define OMP_DEPOBJ_DEPOBJ(NODE) TREE_OPERAND (OMP_DEPOBJ_CHECK (NODE), 0) argument
5059 #define OMP_DEPOBJ_CLAUSES(NODE) TREE_OPERAND (OMP_DEPOBJ_CHECK (NODE), 1) argument
5574 #define TEMPLATE_PARM_INDEX_CAST(NODE) \ argument
5575 ((template_parm_index*)TEMPLATE_PARM_INDEX_CHECK (NODE))
5576 #define TEMPLATE_PARM_IDX(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->index) argument
5577 #define TEMPLATE_PARM_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->level) argument
5578 #define TEMPLATE_PARM_DESCENDANTS(NODE) (TREE_CHAIN (NODE)) argument
5579 #define TEMPLATE_PARM_ORIG_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->orig_level) argument
5580 #define TEMPLATE_PARM_DECL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->decl) argument
5581 #define TEMPLATE_PARM_PARAMETER_PACK(NODE) \ argument
5582 (TREE_LANG_FLAG_0 (TEMPLATE_PARM_INDEX_CHECK (NODE)))
5586 #define TEMPLATE_TYPE_PARM_INDEX(NODE) \ argument
5587 (TYPE_VALUES_RAW (TREE_CHECK3 ((NODE), TEMPLATE_TYPE_PARM, \
5590 #define TEMPLATE_TYPE_IDX(NODE) \ argument
5591 (TEMPLATE_PARM_IDX (TEMPLATE_TYPE_PARM_INDEX (NODE)))
5592 #define TEMPLATE_TYPE_LEVEL(NODE) \ argument
5593 (TEMPLATE_PARM_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
5594 #define TEMPLATE_TYPE_ORIG_LEVEL(NODE) \ argument
5595 (TEMPLATE_PARM_ORIG_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
5596 #define TEMPLATE_TYPE_DECL(NODE) \ argument
5597 (TEMPLATE_PARM_DECL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
5598 #define TEMPLATE_TYPE_PARAMETER_PACK(NODE) \ argument
5599 (TEMPLATE_PARM_PARAMETER_PACK (TEMPLATE_TYPE_PARM_INDEX (NODE)))
5602 #define CLASS_PLACEHOLDER_TEMPLATE(NODE) \ argument
5603 (DECL_INITIAL (TYPE_NAME (TEMPLATE_TYPE_PARM_CHECK (NODE))))
5620 #define TEMPLATE_TYPE_PARM_FOR_CLASS(NODE) \ argument
5621 (TREE_LANG_FLAG_0 (TEMPLATE_TYPE_PARM_CHECK (NODE)))
5624 #define AUTO_IS_DECLTYPE(NODE) \ argument
5625 (TYPE_LANG_FLAG_5 (TEMPLATE_TYPE_PARM_CHECK (NODE)))
5670 #define TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL(NODE) \ argument
5671 ((TREE_CODE (NODE) == BOUND_TEMPLATE_TEMPLATE_PARM) \
5672 ? TYPE_TI_TEMPLATE (NODE) \
5673 : TYPE_NAME (NODE))
5732 #define IDENTIFIER_OVL_OP_INFO(NODE) \ argument
5733 (&ovl_op_info[IDENTIFIER_KIND_BIT_0 (NODE)][IDENTIFIER_CP_INDEX (NODE)])
5734 #define IDENTIFIER_OVL_OP_FLAGS(NODE) \ argument
5735 (IDENTIFIER_OVL_OP_INFO (NODE)->flags)