osprey-gcc-4.2.0/gcc/cp/cp-tree.h File Reference

#include "ggc.h"
#include "function.h"
#include "hashtab.h"
#include "splay-tree.h"
#include "vec.h"
#include "varray.h"
#include "c-common.h"
#include "name-lookup.h"
#include "cp-tree.def"

Include dependency graph for cp-tree.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  cp_decl_specifier_seq
type  cp_parameter_declarator
type  cp_declarator

Defines

#define VAR_OR_FUNCTION_DECL_CHECK(NODE)   TREE_CHECK2(NODE,VAR_DECL,FUNCTION_DECL)
#define VAR_FUNCTION_OR_PARM_DECL_CHECK(NODE)   TREE_CHECK3(NODE,VAR_DECL,FUNCTION_DECL,PARM_DECL)
#define VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK(NODE)   TREE_CHECK4(NODE,VAR_DECL,FUNCTION_DECL,TYPE_DECL,TEMPLATE_DECL)
#define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK(NODE)   TREE_CHECK(NODE,BOUND_TEMPLATE_TEMPLATE_PARM)
#define NON_THUNK_FUNCTION_CHECK(NODE)   (NODE)
#define THUNK_FUNCTION_CHECK(NODE)   (NODE)
#define C_IS_RESERVED_WORD(ID)   TREE_LANG_FLAG_5 (ID)
#define LANG_IDENTIFIER_CAST(NODE)   ((struct lang_identifier*)IDENTIFIER_NODE_CHECK (NODE))
#define IDENTIFIER_GLOBAL_VALUE(NODE)   namespace_binding ((NODE), global_namespace)
#define SET_IDENTIFIER_GLOBAL_VALUE(NODE, VAL)   set_namespace_binding ((NODE), global_namespace, (VAL))
#define IDENTIFIER_NAMESPACE_VALUE(NODE)   namespace_binding ((NODE), current_namespace)
#define SET_IDENTIFIER_NAMESPACE_VALUE(NODE, VAL)   set_namespace_binding ((NODE), current_namespace, (VAL))
#define CLEANUP_P(NODE)   TREE_LANG_FLAG_0 (TRY_BLOCK_CHECK (NODE))
#define BIND_EXPR_TRY_BLOCK(NODE)   TREE_LANG_FLAG_0 (BIND_EXPR_CHECK (NODE))
#define BIND_EXPR_BODY_BLOCK(NODE)   TREE_LANG_FLAG_3 (BIND_EXPR_CHECK (NODE))
#define FUNCTION_NEEDS_BODY_BLOCK(NODE)   (DECL_CONSTRUCTOR_P (NODE) || DECL_DESTRUCTOR_P (NODE))
#define STATEMENT_LIST_NO_SCOPE(NODE)   TREE_LANG_FLAG_0 (STATEMENT_LIST_CHECK (NODE))
#define STATEMENT_LIST_TRY_BLOCK(NODE)   TREE_LANG_FLAG_2 (STATEMENT_LIST_CHECK (NODE))
#define STMT_IS_FULL_EXPR_P(NODE)   TREE_LANG_FLAG_1 ((NODE))
#define EXPR_STMT_STMT_EXPR_RESULT(NODE)   TREE_LANG_FLAG_0 (EXPR_STMT_CHECK (NODE))
#define STMT_EXPR_NO_SCOPE(NODE)   TREE_LANG_FLAG_0 (STMT_EXPR_CHECK (NODE))
#define same_type_p(TYPE1, TYPE2)   comptypes ((TYPE1), (TYPE2), COMPARE_STRICT)
#define same_type_ignoring_top_level_qualifiers_p(TYPE1, TYPE2)   same_type_p (TYPE_MAIN_VARIANT (TYPE1), TYPE_MAIN_VARIANT (TYPE2))
#define building_stmt_tree()   (cur_stmt_list != NULL_TREE)
#define DECL_MAIN_P(NODE)
#define OVL_FUNCTION(NODE)   (((struct tree_overload*)OVERLOAD_CHECK (NODE))->function)
#define OVL_CHAIN(NODE)   TREE_CHAIN (NODE)
#define OVL_CURRENT(NODE)   ((TREE_CODE (NODE) == OVERLOAD) ? OVL_FUNCTION (NODE) : (NODE))
#define OVL_NEXT(NODE)   ((TREE_CODE (NODE) == OVERLOAD) ? TREE_CHAIN (NODE) : NULL_TREE)
#define OVL_USED(NODE)   TREE_USED (NODE)
#define BASELINK_P(NODE)   (TREE_CODE (NODE) == BASELINK)
#define BASELINK_BINFO(NODE)   (((struct tree_baselink*) BASELINK_CHECK (NODE))->binfo)
#define BASELINK_FUNCTIONS(NODE)   (((struct tree_baselink*) BASELINK_CHECK (NODE))->functions)
#define BASELINK_ACCESS_BINFO(NODE)   (((struct tree_baselink*) BASELINK_CHECK (NODE))->access_binfo)
#define BASELINK_OPTYPE(NODE)   (TREE_CHAIN (BASELINK_CHECK (NODE)))
#define BASELINK_QUALIFIED_P(NODE)   TREE_LANG_FLAG_0 (BASELINK_CHECK (NODE))
#define IDENTIFIER_NAMESPACE_BINDINGS(NODE)   (LANG_IDENTIFIER_CAST (NODE)->namespace_bindings)
#define IDENTIFIER_TEMPLATE(NODE)   (LANG_IDENTIFIER_CAST (NODE)->class_template_info)
#define IDENTIFIER_BINDING(NODE)   (LANG_IDENTIFIER_CAST (NODE)->bindings)
#define IDENTIFIER_TYPE_VALUE(NODE)   identifier_type_value (NODE)
#define REAL_IDENTIFIER_TYPE_VALUE(NODE)   TREE_TYPE (NODE)
#define SET_IDENTIFIER_TYPE_VALUE(NODE, TYPE)   (TREE_TYPE (NODE) = (TYPE))
#define IDENTIFIER_HAS_TYPE_VALUE(NODE)   (IDENTIFIER_TYPE_VALUE (NODE) ? 1 : 0)
#define IDENTIFIER_LABEL_VALUE(NODE)   (LANG_IDENTIFIER_CAST (NODE)->label_value)
#define SET_IDENTIFIER_LABEL_VALUE(NODE, VALUE)   IDENTIFIER_LABEL_VALUE (NODE) = (VALUE)
#define IDENTIFIER_VIRTUAL_P(NODE)   TREE_LANG_FLAG_1 (NODE)
#define IDENTIFIER_OPNAME_P(NODE)   TREE_LANG_FLAG_2 (NODE)
#define IDENTIFIER_TYPENAME_P(NODE)   TREE_LANG_FLAG_4 (NODE)
#define IDENTIFIER_CTOR_OR_DTOR_P(NODE)   TREE_LANG_FLAG_3 (NODE)
#define IDENTIFIER_REPO_CHOSEN(NAME)   (TREE_LANG_FLAG_6 (NAME))
#define C_TYPE_FIELDS_READONLY(TYPE)   (LANG_TYPE_CLASS_CHECK (TYPE)->fields_readonly)
#define DEFARG_TOKENS(NODE)   (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->tokens)
#define DEFARG_INSTANTIATIONS(NODE)   (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->instantiations)
#define java_byte_type_node   cp_global_trees[CPTI_JAVA_BYTE_TYPE]
#define java_short_type_node   cp_global_trees[CPTI_JAVA_SHORT_TYPE]
#define java_int_type_node   cp_global_trees[CPTI_JAVA_INT_TYPE]
#define java_long_type_node   cp_global_trees[CPTI_JAVA_LONG_TYPE]
#define java_float_type_node   cp_global_trees[CPTI_JAVA_FLOAT_TYPE]
#define java_double_type_node   cp_global_trees[CPTI_JAVA_DOUBLE_TYPE]
#define java_char_type_node   cp_global_trees[CPTI_JAVA_CHAR_TYPE]
#define java_boolean_type_node   cp_global_trees[CPTI_JAVA_BOOLEAN_TYPE]
#define wchar_decl_node   cp_global_trees[CPTI_WCHAR_DECL]
#define vtable_entry_type   cp_global_trees[CPTI_VTABLE_ENTRY_TYPE]
#define delta_type_node   cp_global_trees[CPTI_DELTA_TYPE]
#define vtable_index_type   cp_global_trees[CPTI_VTABLE_INDEX_TYPE]
#define class_type_node   cp_global_trees[CPTI_CLASS_TYPE]
#define unknown_type_node   cp_global_trees[CPTI_UNKNOWN_TYPE]
#define vtbl_type_node   cp_global_trees[CPTI_VTBL_TYPE]
#define vtbl_ptr_type_node   cp_global_trees[CPTI_VTBL_PTR_TYPE]
#define std_node   cp_global_trees[CPTI_STD]
#define abi_node   cp_global_trees[CPTI_ABI]
#define const_type_info_type_node   cp_global_trees[CPTI_CONST_TYPE_INFO_TYPE]
#define type_info_ptr_type   cp_global_trees[CPTI_TYPE_INFO_PTR_TYPE]
#define abort_fndecl   cp_global_trees[CPTI_ABORT_FNDECL]
#define global_delete_fndecl   cp_global_trees[CPTI_GLOBAL_DELETE_FNDECL]
#define current_aggr   cp_global_trees[CPTI_AGGR_TAG]
#define ctor_identifier   cp_global_trees[CPTI_CTOR_IDENTIFIER]
#define complete_ctor_identifier   cp_global_trees[CPTI_COMPLETE_CTOR_IDENTIFIER]
#define base_ctor_identifier   cp_global_trees[CPTI_BASE_CTOR_IDENTIFIER]
#define dtor_identifier   cp_global_trees[CPTI_DTOR_IDENTIFIER]
#define complete_dtor_identifier   cp_global_trees[CPTI_COMPLETE_DTOR_IDENTIFIER]
#define base_dtor_identifier   cp_global_trees[CPTI_BASE_DTOR_IDENTIFIER]
#define deleting_dtor_identifier   cp_global_trees[CPTI_DELETING_DTOR_IDENTIFIER]
#define delta_identifier   cp_global_trees[CPTI_DELTA_IDENTIFIER]
#define in_charge_identifier   cp_global_trees[CPTI_IN_CHARGE_IDENTIFIER]
#define vtt_parm_identifier   cp_global_trees[CPTI_VTT_PARM_IDENTIFIER]
#define nelts_identifier   cp_global_trees[CPTI_NELTS_IDENTIFIER]
#define this_identifier   cp_global_trees[CPTI_THIS_IDENTIFIER]
#define pfn_identifier   cp_global_trees[CPTI_PFN_IDENTIFIER]
#define vptr_identifier   cp_global_trees[CPTI_VPTR_IDENTIFIER]
#define std_identifier   cp_global_trees[CPTI_STD_IDENTIFIER]
#define lang_name_c   cp_global_trees[CPTI_LANG_NAME_C]
#define lang_name_cplusplus   cp_global_trees[CPTI_LANG_NAME_CPLUSPLUS]
#define lang_name_java   cp_global_trees[CPTI_LANG_NAME_JAVA]
#define empty_except_spec   cp_global_trees[CPTI_EMPTY_EXCEPT_SPEC]
#define jclass_node   cp_global_trees[CPTI_JCLASS]
#define terminate_node   cp_global_trees[CPTI_TERMINATE]
#define call_unexpected_node   cp_global_trees[CPTI_CALL_UNEXPECTED]
#define atexit_node   cp_global_trees[CPTI_ATEXIT]
#define dso_handle_node   cp_global_trees[CPTI_DSO_HANDLE]
#define dynamic_cast_node   cp_global_trees[CPTI_DCAST]
#define cleanup_type   cp_global_trees[CPTI_CLEANUP_TYPE]
#define vtt_parm_type   cp_global_trees[CPTI_VTT_PARM_TYPE]
#define keyed_classes   cp_global_trees[CPTI_KEYED_CLASSES]
#define access_default_node   null_node
#define current_namespace   scope_chain->old_namespace
#define decl_namespace_list   scope_chain->decl_ns_list
#define current_class_name   scope_chain->class_name
#define current_class_type   scope_chain->class_type
#define current_access_specifier   scope_chain->access_specifier
#define current_lang_base   scope_chain->lang_base
#define current_lang_name   scope_chain->lang_name
#define current_template_parms   scope_chain->template_parms
#define processing_template_decl   scope_chain->x_processing_template_decl
#define processing_specialization   scope_chain->x_processing_specialization
#define processing_explicit_instantiation   scope_chain->x_processing_explicit_instantiation
#define previous_class_level   scope_chain->x_previous_class_level
#define cp_function_chain   (cfun->language)
#define cdtor_label   cp_function_chain->x_cdtor_label
#define current_class_ptr   (cfun ? cp_function_chain->x_current_class_ptr : NULL_TREE)
#define current_class_ref   (cfun ? cp_function_chain->x_current_class_ref : NULL_TREE)
#define current_eh_spec_block   cp_function_chain->x_eh_spec_block
#define current_in_charge_parm   cp_function_chain->x_in_charge_parm
#define current_vtt_parm   cp_function_chain->x_vtt_parm
#define current_function_returns_value   cp_function_chain->returns_value
#define current_function_returns_null   cp_function_chain->returns_null
#define current_function_returns_abnormally   cp_function_chain->returns_abnormally
#define in_base_initializer   cp_function_chain->in_base_initializer
#define in_function_try_handler   cp_function_chain->in_function_try_handler
#define current_function_return_value   (cp_function_chain->x_return_value)
#define NEW_DELETE_OPNAME_P(NAME)
#define ansi_opname(CODE)   (operator_name_info[(int) (CODE)].identifier)
#define ansi_assopname(CODE)   (assignment_operator_name_info[(int) (CODE)].identifier)
#define error_operand_p(NODE)
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH)   SYM,
#define STATEMENT_CODE_P(CODE)   statement_code_p[(int) (CODE)]
#define TYPE_IDENTIFIER(NODE)   (DECL_NAME (TYPE_NAME (NODE)))
#define TYPE_LINKAGE_IDENTIFIER(NODE)   (TYPE_IDENTIFIER (TYPE_MAIN_VARIANT (NODE)))
#define TYPE_NAME_STRING(NODE)   (IDENTIFIER_POINTER (TYPE_IDENTIFIER (NODE)))
#define TYPE_NAME_LENGTH(NODE)   (IDENTIFIER_LENGTH (TYPE_IDENTIFIER (NODE)))
#define TYPE_ANONYMOUS_P(NODE)   (TAGGED_TYPE_P (NODE) && ANON_AGGRNAME_P (TYPE_LINKAGE_IDENTIFIER (NODE)))
#define TYPE_MAIN_DECL(NODE)   (TYPE_STUB_DECL (TYPE_MAIN_VARIANT (NODE)))
#define IS_AGGR_TYPE(T)
#define SET_IS_AGGR_TYPE(T, VAL)   (TYPE_LANG_FLAG_5 (T) = (VAL))
#define CLASS_TYPE_P(T)   (IS_AGGR_TYPE_CODE (TREE_CODE (T)) && TYPE_LANG_FLAG_5 (T))
#define IS_AGGR_TYPE_CODE(T)   ((T) == RECORD_TYPE || (T) == UNION_TYPE)
#define TAGGED_TYPE_P(T)   (CLASS_TYPE_P (T) || TREE_CODE (T) == ENUMERAL_TYPE)
#define IS_OVERLOAD_TYPE(T)   TAGGED_TYPE_P (T)
#define TYPE_FOR_JAVA(NODE)   TYPE_LANG_FLAG_3 (NODE)
#define TYPE_DEPENDENT_P(NODE)   TYPE_LANG_FLAG_0 (NODE)
#define TYPE_DEPENDENT_P_VALID(NODE)   TYPE_LANG_FLAG_6(NODE)
#define CP_TYPE_CONST_P(NODE)   ((cp_type_quals (NODE) & TYPE_QUAL_CONST) != 0)
#define CP_TYPE_VOLATILE_P(NODE)   ((cp_type_quals (NODE) & TYPE_QUAL_VOLATILE) != 0)
#define CP_TYPE_RESTRICT_P(NODE)   ((cp_type_quals (NODE) & TYPE_QUAL_RESTRICT) != 0)
#define CP_TYPE_CONST_NON_VOLATILE_P(NODE)
#define FUNCTION_ARG_CHAIN(NODE)   TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (NODE)))
#define FUNCTION_FIRST_USER_PARMTYPE(NODE)   skip_artificial_parms_for ((NODE), TYPE_ARG_TYPES (TREE_TYPE (NODE)))
#define FUNCTION_FIRST_USER_PARM(NODE)   skip_artificial_parms_for ((NODE), DECL_ARGUMENTS (NODE))
#define PROMOTES_TO_AGGR_TYPE(NODE, CODE)
#define DERIVED_FROM_P(PARENT, TYPE)   (lookup_base ((TYPE), (PARENT), ba_any, NULL) != NULL_TREE)
#define UNIQUELY_DERIVED_FROM_P(PARENT, TYPE)   (lookup_base ((TYPE), (PARENT), ba_unique | ba_quiet, NULL) != NULL_TREE)
#define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, TYPE)
#define CLASSTYPE_VISIBILITY(TYPE)   DECL_VISIBILITY (TYPE_NAME (TYPE))
#define CLASSTYPE_VISIBILITY_SPECIFIED(TYPE)   DECL_VISIBILITY_SPECIFIED (TYPE_NAME (TYPE))
#define LANG_TYPE_CLASS_CHECK(NODE)   (&TYPE_LANG_SPECIFIC (NODE)->u.c)
#define LANG_TYPE_PTRMEM_CHECK(NODE)   (&TYPE_LANG_SPECIFIC (NODE)->u.ptrmem)
#define CLASSTYPE_INLINE_FRIENDS(NODE)   CLASSTYPE_PURE_VIRTUALS (NODE)
#define TYPE_GETS_DELETE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->gets_delete)
#define TYPE_GETS_REG_DELETE(NODE)   (TYPE_GETS_DELETE (NODE) & 1)
#define TYPE_VEC_NEW_USES_COOKIE(NODE)
#define TYPE_HAS_CONVERSION(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.has_type_conversion)
#define CLASSTYPE_LAZY_DEFAULT_CTOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->lazy_default_ctor)
#define CLASSTYPE_LAZY_COPY_CTOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_ctor)
#define CLASSTYPE_LAZY_ASSIGNMENT_OP(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->lazy_assignment_op)
#define CLASSTYPE_LAZY_DESTRUCTOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->lazy_destructor)
#define TYPE_HAS_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_assign_ref)
#define TYPE_HAS_CONST_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.has_const_assign_ref)
#define TYPE_HAS_INIT_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.has_init_ref)
#define TYPE_HAS_CONST_INIT_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_const_init_ref)
#define TYPE_HAS_NEW_OPERATOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_new)
#define TYPE_HAS_ARRAY_NEW_OPERATOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_array_new)
#define TYPE_BEING_DEFINED(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->being_defined)
#define TYPE_MARKED_P(NODE)   TREE_LANG_FLAG_6 (TYPE_CHECK (NODE))
#define CLASSTYPE_DIAMOND_SHAPED_P(NODE)   (LANG_TYPE_CLASS_CHECK(NODE)->diamond_shaped)
#define CLASSTYPE_REPEATED_BASE_P(NODE)   (LANG_TYPE_CLASS_CHECK(NODE)->repeated_base)
#define CLASSTYPE_KEY_METHOD(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->key_method)
#define CLASSTYPE_METHOD_VEC(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->methods)
#define CLASSTYPE_DECL_LIST(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->decl_list)
#define CLASSTYPE_CONSTRUCTOR_SLOT   0
#define CLASSTYPE_DESTRUCTOR_SLOT   1
#define CLASSTYPE_FIRST_CONVERSION_SLOT   2
#define CLASSTYPE_CONSTRUCTORS(NODE)   (VEC_index (tree, CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_CONSTRUCTOR_SLOT))
#define CLASSTYPE_DESTRUCTORS(NODE)
#define CLASSTYPE_NESTED_UTDS(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->nested_udts)
#define CLASSTYPE_HAS_PRIMARY_BASE_P(NODE)   (CLASSTYPE_PRIMARY_BINFO (NODE) != NULL_TREE)
#define CLASSTYPE_PRIMARY_BINFO(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->primary_base)
#define CLASSTYPE_VBASECLASSES(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->vbases)
#define CLASSTYPE_AS_BASE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->as_base)
#define IS_FAKE_BASE_TYPE(NODE)
#define CLASSTYPE_SIZE(NODE)   TYPE_SIZE (CLASSTYPE_AS_BASE (NODE))
#define CLASSTYPE_SIZE_UNIT(NODE)   TYPE_SIZE_UNIT (CLASSTYPE_AS_BASE (NODE))
#define CLASSTYPE_ALIGN(NODE)   TYPE_ALIGN (CLASSTYPE_AS_BASE (NODE))
#define CLASSTYPE_USER_ALIGN(NODE)   TYPE_USER_ALIGN (CLASSTYPE_AS_BASE (NODE))
#define CLASSTYPE_ALIGN_UNIT(NODE)   (CLASSTYPE_ALIGN (NODE) / BITS_PER_UNIT)
#define TYPE_JAVA_INTERFACE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->java_interface)
#define CLASSTYPE_PURE_VIRTUALS(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->pure_virtuals)
#define TYPE_HAS_DEFAULT_CONSTRUCTOR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.has_default_ctor)
#define CLASSTYPE_HAS_MUTABLE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_mutable)
#define TYPE_HAS_MUTABLE_P(NODE)   (cp_has_mutable_p (NODE))
#define CLASSTYPE_NON_POD_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_class)
#define CLASSTYPE_NON_ZERO_INIT_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->non_zero_init)
#define CLASSTYPE_EMPTY_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->empty_p)
#define CLASSTYPE_NEARLY_EMPTY_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->nearly_empty_p)
#define CLASSTYPE_CONTAINS_EMPTY_CLASS_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->contains_empty_class_p)
#define CLASSTYPE_FRIEND_CLASSES(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->friend_classes)
#define CLASSTYPE_BEFRIENDING_CLASSES(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->befriending_classes)
#define CLASSTYPE_DECLARED_CLASS(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->declared_class)
#define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE)
#define SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE, VALUE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.const_needs_init = (VALUE))
#define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE)
#define SET_CLASSTYPE_REF_FIELDS_NEED_INIT(NODE, VALUE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.ref_needs_init = (VALUE))
#define CLASSTYPE_INTERFACE_ONLY(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_only)
#define CLASSTYPE_INTERFACE_KNOWN(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown == 0)
#define CLASSTYPE_INTERFACE_UNKNOWN(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown)
#define SET_CLASSTYPE_INTERFACE_UNKNOWN_X(NODE, X)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = !!(X))
#define SET_CLASSTYPE_INTERFACE_UNKNOWN(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 1)
#define SET_CLASSTYPE_INTERFACE_KNOWN(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 0)
#define CLASSTYPE_DEBUG_REQUESTED(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->debug_requested)
#define BINFO_VTABLE_PATH_MARKED(NODE)   BINFO_FLAG_1 (NODE)
#define BINFO_NEW_VTABLE_MARKED(B)   (BINFO_FLAG_2 (B))
#define SAME_BINFO_TYPE_P(A, B)   ((A) == (B))
#define SET_BINFO_NEW_VTABLE_MARKED(B)
#define BINFO_DEPENDENT_BASE_P(NODE)   BINFO_FLAG_3 (NODE)
#define BINFO_LOST_PRIMARY_P(NODE)   BINFO_FLAG_4 (NODE)
#define BINFO_PRIMARY_P(NODE)   BINFO_FLAG_5(NODE)
#define IDENTIFIER_MARKED(NODE)   TREE_LANG_FLAG_0 (NODE)
#define CLASSTYPE_VCALL_INDICES(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->vcall_indices)
#define CLASSTYPE_VTABLES(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->vtables)
#define CLASSTYPE_TYPEINFO_VAR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->typeinfo_var)
#define BV_DELTA(NODE)   (TREE_PURPOSE (NODE))
#define BV_VCALL_INDEX(NODE)   (TREE_TYPE (NODE))
#define BV_FN(NODE)   (TREE_VALUE (NODE))
#define TYPE_RAISES_EXCEPTIONS(NODE)   TYPE_LANG_SLOT_1 (NODE)
#define TYPE_NOTHROW_P(NODE)
#define NAMESPACE_LEVEL(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.u.level)
#define CAN_HAVE_FULL_LANG_DECL_P(NODE)
#define LANG_DECL_U2_CHECK(NODE, TF)   (&DECL_LANG_SPECIFIC (NODE)->decl_flags.u2)
#define DECL_LANGUAGE(NODE)
#define SET_DECL_LANGUAGE(NODE, LANGUAGE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.language = (LANGUAGE))
#define DECL_CONSTRUCTOR_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.constructor_attr)
#define DECL_COMPLETE_CONSTRUCTOR_P(NODE)
#define DECL_BASE_CONSTRUCTOR_P(NODE)
#define DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P(NODE)   (DECL_CONSTRUCTOR_P (NODE) && !DECL_CLONED_FUNCTION_P (NODE))
#define DECL_COPY_CONSTRUCTOR_P(NODE)   (DECL_CONSTRUCTOR_P (NODE) && copy_fn_p (NODE) > 0)
#define DECL_DESTRUCTOR_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.destructor_attr)
#define DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P(NODE)   (DECL_DESTRUCTOR_P (NODE) && !DECL_CLONED_FUNCTION_P (NODE))
#define DECL_COMPLETE_DESTRUCTOR_P(NODE)
#define DECL_BASE_DESTRUCTOR_P(NODE)
#define DECL_DELETING_DESTRUCTOR_P(NODE)
#define DECL_CLONED_FUNCTION_P(NODE)
#define DECL_CLONED_FUNCTION(NODE)   (DECL_LANG_SPECIFIC (NON_THUNK_FUNCTION_CHECK(NODE))->u.f.u5.cloned_function)
#define FOR_EACH_CLONE(CLONE, FN)
#define DECL_DISCRIMINATOR_P(NODE)
#define DECL_DISCRIMINATOR(NODE)   (LANG_DECL_U2_CHECK (NODE, 1)->discriminator)
#define DECL_HAS_VTT_PARM_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.has_vtt_parm_p)
#define DECL_NEEDS_VTT_PARM_P(NODE)
#define DECL_CONV_FN_P(NODE)   (DECL_NAME (NODE) && IDENTIFIER_TYPENAME_P (DECL_NAME (NODE)))
#define DECL_CONV_FN_TYPE(FN)   (DECL_CONV_FN_P (FN) ? TREE_TYPE (DECL_NAME (FN)) : NULL_TREE)
#define DECL_TEMPLATE_CONV_FN_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.template_conv_p)
#define SET_OVERLOADED_OPERATOR_CODE(NODE, CODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.operator_code = (CODE))
#define DECL_OVERLOADED_OPERATOR_P(NODE)
#define DECL_ASSIGNMENT_OPERATOR_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.assignment_operator_p)
#define DECL_HAS_IN_CHARGE_PARM_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.has_in_charge_parm_p)
#define DECL_IS_BUILTIN_CONSTANT_P(NODE)
#define DECL_IN_AGGR_P(NODE)   (DECL_LANG_FLAG_3 (NODE))
#define DECL_INITIALIZED_P(NODE)   (TREE_LANG_FLAG_1 (VAR_DECL_CHECK (NODE)))
#define DECL_NONTRIVIALLY_INITIALIZED_P(NODE)   (TREE_LANG_FLAG_3 (VAR_DECL_CHECK (NODE)))
#define DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P(NODE)   (TREE_LANG_FLAG_2 (VAR_DECL_CHECK (NODE)))
#define DECL_INTEGRAL_CONSTANT_VAR_P(NODE)
#define DECL_INITIALIZED_IN_CLASS_P(DECL)   (DECL_LANG_SPECIFIC (DECL)->decl_flags.initialized_in_class)
#define DECL_FRIEND_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.friend_attr)
#define DECL_BEFRIENDING_CLASSES(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.befriending_classes)
#define DECL_STATIC_FUNCTION_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.static_function)
#define DECL_NONSTATIC_MEMBER_FUNCTION_P(NODE)   (TREE_CODE (TREE_TYPE (NODE)) == METHOD_TYPE)
#define DECL_FUNCTION_MEMBER_P(NODE)   (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) || DECL_STATIC_FUNCTION_P (NODE))
#define DECL_CONST_MEMFUNC_P(NODE)
#define DECL_VOLATILE_MEMFUNC_P(NODE)
#define DECL_NONSTATIC_MEMBER_P(NODE)
#define DECL_MUTABLE_P(NODE)   (DECL_LANG_FLAG_0 (NODE))
#define DECL_NONCONVERTING_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.nonconverting)
#define DECL_PURE_VIRTUAL_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.pure_virtual)
#define DECL_INVALID_OVERRIDER_P(NODE)   (DECL_LANG_FLAG_4 (NODE))
#define DECL_THUNKS(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.context)
#define DECL_THUNK_P(NODE)
#define SET_DECL_THUNK_P(NODE, THIS_ADJUSTING)
#define DECL_THIS_THUNK_P(NODE)   (DECL_THUNK_P (NODE) && DECL_LANG_SPECIFIC (NODE)->decl_flags.this_thunk_p)
#define DECL_RESULT_THUNK_P(NODE)   (DECL_THUNK_P (NODE) && !DECL_LANG_SPECIFIC (NODE)->decl_flags.this_thunk_p)
#define DECL_NON_THUNK_FUNCTION_P(NODE)   (TREE_CODE (NODE) == FUNCTION_DECL && !DECL_THUNK_P (NODE))
#define DECL_EXTERN_C_P(NODE)   (DECL_LANGUAGE (NODE) == lang_c)
#define DECL_EXTERN_C_FUNCTION_P(NODE)   (DECL_NON_THUNK_FUNCTION_P (NODE) && DECL_EXTERN_C_P (NODE))
#define DECL_REPO_AVAILABLE_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.repo_available_p)
#define DECL_PRETTY_FUNCTION_P(NODE)   (TREE_LANG_FLAG_0 (VAR_DECL_CHECK (NODE)))
#define DECL_CLASS_CONTEXT(NODE)   (DECL_CLASS_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : NULL_TREE)
#define DECL_FRIEND_CONTEXT(NODE)
#define SET_DECL_FRIEND_CONTEXT(NODE, CONTEXT)   (DECL_LANG_SPECIFIC (NODE)->u.f.context = (CONTEXT))
#define CP_DECL_CONTEXT(NODE)   (DECL_CONTEXT (NODE) ? DECL_CONTEXT (NODE) : global_namespace)
#define CP_TYPE_CONTEXT(NODE)   (TYPE_CONTEXT (NODE) ? TYPE_CONTEXT (NODE) : global_namespace)
#define FROB_CONTEXT(NODE)   ((NODE) == global_namespace ? NULL_TREE : (NODE))
#define DECL_NAMESPACE_SCOPE_P(NODE)
#define TYPE_NAMESPACE_SCOPE_P(NODE)   (TREE_CODE (CP_TYPE_CONTEXT (NODE)) == NAMESPACE_DECL)
#define DECL_CLASS_SCOPE_P(NODE)   (DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE)))
#define TYPE_CLASS_SCOPE_P(NODE)   (TYPE_CONTEXT (NODE) && TYPE_P (TYPE_CONTEXT (NODE)))
#define DECL_FUNCTION_SCOPE_P(NODE)
#define TYPE_FUNCTION_SCOPE_P(NODE)
#define DECL_TINFO_P(NODE)   TREE_LANG_FLAG_4 (VAR_DECL_CHECK (NODE))
#define DECL_VTABLE_OR_VTT_P(NODE)   TREE_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))
#define DECL_CONSTRUCTION_VTABLE_P(NODE)   TREE_LANG_FLAG_6 (VAR_DECL_CHECK (NODE))
#define LOCAL_CLASS_P(NODE)   (decl_function_context (TYPE_MAIN_DECL (NODE)) != NULL_TREE)
#define DECL_NAMESPACE_USING(NODE)   DECL_VINDEX (NAMESPACE_DECL_CHECK (NODE))
#define DECL_NAMESPACE_USERS(NODE)   DECL_INITIAL (NAMESPACE_DECL_CHECK (NODE))
#define DECL_NAMESPACE_ASSOCIATIONS(NODE)   (NAMESPACE_DECL_CHECK (NODE)->decl_non_common.saved_tree)
#define DECL_NAMESPACE_ALIAS(NODE)   DECL_ABSTRACT_ORIGIN (NAMESPACE_DECL_CHECK (NODE))
#define ORIGINAL_NAMESPACE(NODE)   (DECL_NAMESPACE_ALIAS (NODE) ? DECL_NAMESPACE_ALIAS (NODE) : (NODE))
#define DECL_NAMESPACE_STD_P(NODE)
#define TREE_INDIRECT_USING(NODE)   (TREE_LIST_CHECK (NODE)->common.lang_flag_0)
#define DECL_DEPENDENT_P(NODE)   DECL_LANG_FLAG_0 (USING_DECL_CHECK (NODE))
#define USING_DECL_SCOPE(NODE)   TREE_TYPE (USING_DECL_CHECK (NODE))
#define USING_DECL_DECLS(NODE)   DECL_INITIAL (USING_DECL_CHECK (NODE))
#define DECL_HAS_SHADOWED_FOR_VAR_P(NODE)   (VAR_DECL_CHECK (NODE)->decl_with_vis.shadowed_for_var_p)
#define DECL_SHADOWED_FOR_VAR(NODE)   (DECL_HAS_SHADOWED_FOR_VAR_P(NODE) ? decl_shadowed_for_var_lookup (NODE) : NULL)
#define SET_DECL_SHADOWED_FOR_VAR(NODE, VAL)   (decl_shadowed_for_var_insert (NODE, VAL))
#define DECL_PENDING_INLINE_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.pending_inline_p)
#define DECL_PENDING_INLINE_INFO(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.u.pending_inline_info)
#define DECL_SORTED_FIELDS(NODE)   (DECL_LANG_SPECIFIC (TYPE_DECL_CHECK (NODE))->u.f.u.sorted_fields)
#define DECL_DEFERRED_FN(DECL)   (DECL_LANG_SPECIFIC (DECL)->decl_flags.deferred)
#define DECL_TEMPLATE_INFO(NODE)
#define DECL_VAR_MARKED_P(NODE)   (DECL_LANG_FLAG_4 (VAR_DECL_CHECK (NODE)))
#define CLASSTYPE_TEMPLATE_INFO(NODE)   (LANG_TYPE_CLASS_CHECK (RECORD_OR_UNION_CHECK (NODE))->template_info)
#define ENUM_TEMPLATE_INFO(NODE)   (TYPE_LANG_SLOT_1 (ENUMERAL_TYPE_CHECK (NODE)))
#define TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO(NODE)
#define TYPE_TEMPLATE_INFO(NODE)
#define SET_TYPE_TEMPLATE_INFO(NODE, VAL)
#define TI_TEMPLATE(NODE)   (TREE_PURPOSE (NODE))
#define TI_ARGS(NODE)   (TREE_VALUE (NODE))
#define TI_PENDING_TEMPLATE_FLAG(NODE)   TREE_LANG_FLAG_1 (NODE)
#define TMPL_ARGS_HAVE_MULTIPLE_LEVELS(NODE)
#define TMPL_ARGS_DEPTH(NODE)   (TMPL_ARGS_HAVE_MULTIPLE_LEVELS (NODE) ? TREE_VEC_LENGTH (NODE) : 1)
#define TMPL_ARGS_LEVEL(ARGS, LEVEL)
#define SET_TMPL_ARGS_LEVEL(ARGS, LEVEL, VAL)   (TREE_VEC_ELT (ARGS, (LEVEL) - 1) = (VAL))
#define TMPL_ARG(ARGS, LEVEL, IDX)   (TREE_VEC_ELT (TMPL_ARGS_LEVEL (ARGS, LEVEL), IDX))
#define NUM_TMPL_ARGS(NODE)   (TREE_VEC_LENGTH (NODE))
#define INNERMOST_TEMPLATE_ARGS(NODE)   (get_innermost_template_args ((NODE), 1))
#define TMPL_PARMS_DEPTH(NODE)   ((HOST_WIDE_INT) TREE_INT_CST_LOW (TREE_PURPOSE (NODE)))
#define DECL_TI_TEMPLATE(NODE)   TI_TEMPLATE (DECL_TEMPLATE_INFO (NODE))
#define DECL_TI_ARGS(NODE)   TI_ARGS (DECL_TEMPLATE_INFO (NODE))
#define CLASSTYPE_TI_TEMPLATE(NODE)   TI_TEMPLATE (CLASSTYPE_TEMPLATE_INFO (NODE))
#define CLASSTYPE_TI_ARGS(NODE)   TI_ARGS (CLASSTYPE_TEMPLATE_INFO (NODE))
#define CLASSTYPE_PRIMARY_TEMPLATE_TYPE(TYPE)
#define TYPE_TI_TEMPLATE(NODE)   (TI_TEMPLATE (TYPE_TEMPLATE_INFO (NODE)))
#define TYPE_TI_ARGS(NODE)   (TI_ARGS (TYPE_TEMPLATE_INFO (NODE)))
#define INNERMOST_TEMPLATE_PARMS(NODE)   TREE_VALUE (NODE)
#define DECL_MEMBER_TEMPLATE_P(NODE)   (DECL_LANG_FLAG_1 (TEMPLATE_DECL_CHECK (NODE)))
#define TEMPLATE_PARMS_FOR_INLINE(NODE)   TREE_LANG_FLAG_1 (NODE)
#define DECL_SAVED_FUNCTION_DATA(NODE)
#define REFERENCE_REF_P(NODE)   TREE_LANG_FLAG_0 (INDIRECT_REF_CHECK (NODE))
#define NEW_EXPR_USE_GLOBAL(NODE)   TREE_LANG_FLAG_0 (NEW_EXPR_CHECK (NODE))
#define DELETE_EXPR_USE_GLOBAL(NODE)   TREE_LANG_FLAG_0 (DELETE_EXPR_CHECK (NODE))
#define DELETE_EXPR_USE_VEC(NODE)   TREE_LANG_FLAG_1 (DELETE_EXPR_CHECK (NODE))
#define COMPOUND_EXPR_OVERLOADED(NODE)   TREE_LANG_FLAG_0 (COMPOUND_EXPR_CHECK (NODE))
#define KOENIG_LOOKUP_P(NODE)   TREE_LANG_FLAG_0 (CALL_EXPR_CHECK (NODE))
#define PAREN_STRING_LITERAL_P(NODE)   TREE_LANG_FLAG_0 (STRING_CST_CHECK (NODE))
#define AGGR_INIT_VIA_CTOR_P(NODE)   TREE_LANG_FLAG_0 (AGGR_INIT_EXPR_CHECK (NODE))
#define CLASSTYPE_IS_TEMPLATE(NODE)
#define TYPENAME_TYPE_FULLNAME(NODE)   (TYPENAME_TYPE_CHECK (NODE))->type.values
#define TYPENAME_IS_ENUM_P(NODE)   (TREE_LANG_FLAG_0 (TYPENAME_TYPE_CHECK (NODE)))
#define TYPENAME_IS_CLASS_P(NODE)   (TREE_LANG_FLAG_1 (TYPENAME_TYPE_CHECK (NODE)))
#define TREE_NEGATED_INT(NODE)   TREE_LANG_FLAG_0 (INTEGER_CST_CHECK (NODE))
#define TYPE_POLYMORPHIC_P(NODE)   (TREE_LANG_FLAG_2 (NODE))
#define TYPE_CONTAINS_VPTR_P(NODE)   (TYPE_POLYMORPHIC_P (NODE) || CLASSTYPE_VBASECLASSES (NODE))
#define DECL_DEAD_FOR_LOCAL(NODE)   DECL_LANG_FLAG_7 (VAR_DECL_CHECK (NODE))
#define DECL_ERROR_REPORTED(NODE)   DECL_LANG_FLAG_0 (VAR_DECL_CHECK (NODE))
#define DECL_LOCAL_FUNCTION_P(NODE)   DECL_LANG_FLAG_0 (FUNCTION_DECL_CHECK (NODE))
#define DECL_ANTICIPATED(NODE)   (DECL_LANG_SPECIFIC (DECL_COMMON_CHECK (NODE))->decl_flags.anticipated_p)
#define DECL_HIDDEN_FRIEND_P(NODE)   (DECL_LANG_SPECIFIC (DECL_COMMON_CHECK (NODE))->decl_flags.hidden_friend_p)
#define CP_DECL_THREADPRIVATE_P(DECL)   (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (DECL))->decl_flags.threadprivate_p)
#define C_TYPEDEF_EXPLICITLY_SIGNED(EXP)   DECL_LANG_FLAG_1 (EXP)
#define DECL_EXTERNAL_LINKAGE_P(DECL)   (decl_linkage (DECL) == lk_external)
#define INTEGRAL_CODE_P(CODE)
#define CP_INTEGRAL_TYPE_P(TYPE)
#define INTEGRAL_OR_ENUMERATION_TYPE_P(TYPE)   (TREE_CODE (TYPE) == ENUMERAL_TYPE || CP_INTEGRAL_TYPE_P (TYPE))
#define ARITHMETIC_TYPE_P(TYPE)   (CP_INTEGRAL_TYPE_P (TYPE) || TREE_CODE (TYPE) == REAL_TYPE)
#define SCALAR_TYPE_P(TYPE)
#define CP_AGGREGATE_TYPE_P(TYPE)
#define TYPE_HAS_CONSTRUCTOR(NODE)   (TYPE_LANG_FLAG_1 (NODE))
#define TREE_HAS_CONSTRUCTOR(NODE)   (TREE_LANG_FLAG_4 (NODE))
#define BRACE_ENCLOSED_INITIALIZER_P(NODE)   (TREE_CODE (NODE) == CONSTRUCTOR && !TREE_TYPE (NODE))
#define COMPOUND_LITERAL_P(NODE)   (TREE_CODE (NODE) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (NODE))
#define EMPTY_CONSTRUCTOR_P(NODE)
#define CLASSTYPE_NON_AGGREGATE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate)
#define TYPE_NON_AGGREGATE_CLASS(NODE)   (IS_AGGR_TYPE (NODE) && CLASSTYPE_NON_AGGREGATE (NODE))
#define TYPE_HAS_COMPLEX_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_assign_ref)
#define TYPE_HAS_COMPLEX_INIT_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_init_ref)
#define TYPE_HAS_TRIVIAL_DESTRUCTOR(NODE)   (!TYPE_HAS_NONTRIVIAL_DESTRUCTOR (NODE))
#define TYPE_HAS_NONTRIVIAL_DESTRUCTOR(NODE)   (TYPE_LANG_FLAG_4 (NODE))
#define TYPE_HAS_TRIVIAL_INIT_REF(NODE)   (TYPE_HAS_INIT_REF (NODE) && ! TYPE_HAS_COMPLEX_INIT_REF (NODE))
#define TYPE_HAS_TRIVIAL_ASSIGN_REF(NODE)   (TYPE_HAS_ASSIGN_REF (NODE) && ! TYPE_HAS_COMPLEX_ASSIGN_REF (NODE))
#define TYPE_PTRMEM_P(NODE)   (TREE_CODE (NODE) == OFFSET_TYPE)
#define TYPE_PTR_P(NODE)   (TREE_CODE (NODE) == POINTER_TYPE)
#define TYPE_OBJ_P(NODE)
#define TYPE_PTROB_P(NODE)   (TYPE_PTR_P (NODE) && TYPE_OBJ_P (TREE_TYPE (NODE)))
#define TYPE_REF_OBJ_P(NODE)   (TREE_CODE (NODE) == REFERENCE_TYPE && TYPE_OBJ_P (TREE_TYPE (NODE)))
#define TYPE_PTROBV_P(NODE)
#define TYPE_PTRFN_P(NODE)
#define TYPE_REFFN_P(NODE)
#define TYPE_PTRMEMFUNC_P(NODE)
#define TYPE_PTRMEMFUNC_FLAG(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->ptrmemfunc_flag)
#define TYPE_PTR_TO_MEMBER_P(NODE)   (TYPE_PTRMEM_P (NODE) || TYPE_PTRMEMFUNC_P (NODE))
#define PTRMEM_OK_P(NODE)   TREE_LANG_FLAG_0 (TREE_CHECK2 ((NODE), ADDR_EXPR, OFFSET_REF))
#define TYPE_PTRMEMFUNC_FN_TYPE(NODE)   (TREE_TYPE (TYPE_FIELDS (NODE)))
#define TYPE_PTRMEMFUNC_OBJECT_TYPE(NODE)   TYPE_METHOD_BASETYPE (TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (NODE)))
#define TYPE_GET_PTRMEMFUNC_TYPE(NODE)   (TYPE_LANG_SPECIFIC (NODE) ? LANG_TYPE_PTRMEM_CHECK (NODE)->record : NULL)
#define TYPE_SET_PTRMEMFUNC_TYPE(NODE, VALUE)
#define TYPE_PTRMEM_CLASS_TYPE(NODE)
#define TYPE_PTRMEM_POINTED_TO_TYPE(NODE)
#define PTRMEM_CST_CLASS(NODE)   TYPE_PTRMEM_CLASS_TYPE (TREE_TYPE (PTRMEM_CST_CHECK (NODE)))
#define PTRMEM_CST_MEMBER(NODE)   (((ptrmem_cst_t)PTRMEM_CST_CHECK (NODE))->member)
#define TYPEOF_TYPE_EXPR(NODE)   (TYPEOF_TYPE_CHECK (NODE))->type.values
#define DECL_THIS_EXTERN(NODE)   DECL_LANG_FLAG_2 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))
#define DECL_THIS_STATIC(NODE)   DECL_LANG_FLAG_6 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))
#define DECL_FIELD_IS_BASE(NODE)   DECL_LANG_FLAG_6 (FIELD_DECL_CHECK (NODE))
#define ANON_AGGR_TYPE_P(NODE)   (CLASS_TYPE_P (NODE) && LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr)
#define SET_ANON_AGGR_TYPE_P(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr = 1)
#define ANON_UNION_TYPE_P(NODE)   (TREE_CODE (NODE) == UNION_TYPE && ANON_AGGR_TYPE_P (NODE))
#define UNKNOWN_TYPE   LANG_TYPE
#define TYPE_WAS_ANONYMOUS(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->was_anonymous)
#define DECL_FRIENDLIST(NODE)   (DECL_INITIAL (NODE))
#define FRIEND_NAME(LIST)   (TREE_PURPOSE (LIST))
#define FRIEND_DECLS(LIST)   (TREE_VALUE (LIST))
#define DECL_ACCESS(NODE)   (LANG_DECL_U2_CHECK (NODE, 0)->access)
#define DECL_GLOBAL_CTOR_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.global_ctor_p)
#define DECL_GLOBAL_DTOR_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.global_dtor_p)
#define DECL_TEMPLATE_PARMS(NODE)   DECL_NON_COMMON_CHECK (NODE)->decl_non_common.arguments
#define DECL_INNERMOST_TEMPLATE_PARMS(NODE)   INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (NODE))
#define DECL_NTPARMS(NODE)   TREE_VEC_LENGTH (DECL_INNERMOST_TEMPLATE_PARMS (NODE))
#define DECL_TEMPLATE_RESULT(NODE)   DECL_RESULT_FLD (NODE)
#define DECL_TEMPLATE_INSTANTIATIONS(NODE)   DECL_VINDEX (NODE)
#define DECL_TEMPLATE_SPECIALIZATIONS(NODE)   DECL_SIZE (NODE)
#define DECL_TEMPLATE_PARM_P(NODE)
#define SET_DECL_TEMPLATE_PARM_P(NODE)   (DECL_LANG_FLAG_0 (NODE) = 1)
#define DECL_TEMPLATE_TEMPLATE_PARM_P(NODE)   (TREE_CODE (NODE) == TEMPLATE_DECL && DECL_TEMPLATE_PARM_P (NODE))
#define DECL_UNBOUND_CLASS_TEMPLATE_P(NODE)   (TREE_CODE (NODE) == TEMPLATE_DECL && !DECL_TEMPLATE_RESULT (NODE))
#define DECL_FUNCTION_TEMPLATE_P(NODE)
#define DECL_CLASS_TEMPLATE_P(NODE)
#define DECL_DECLARES_TYPE_P(NODE)   (TREE_CODE (NODE) == TYPE_DECL || DECL_CLASS_TEMPLATE_P (NODE))
#define DECL_IMPLICIT_TYPEDEF_P(NODE)   (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_2 (NODE))
#define SET_DECL_IMPLICIT_TYPEDEF_P(NODE)   (DECL_LANG_FLAG_2 (NODE) = 1)
#define DECL_SELF_REFERENCE_P(NODE)   (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_4 (NODE))
#define SET_DECL_SELF_REFERENCE_P(NODE)   (DECL_LANG_FLAG_4 (NODE) = 1)
#define DECL_PRIMARY_TEMPLATE(NODE)   (TREE_TYPE (DECL_INNERMOST_TEMPLATE_PARMS (NODE)))
#define PRIMARY_TEMPLATE_P(NODE)   (DECL_PRIMARY_TEMPLATE (NODE) == (NODE))
#define DECL_USE_TEMPLATE(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.use_template)
#define CLASSTYPE_USE_TEMPLATE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->use_template)
#define CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P(NODE)
#define DECL_TEMPLATE_INSTANTIATION(NODE)   (DECL_USE_TEMPLATE (NODE) & 1)
#define CLASSTYPE_TEMPLATE_INSTANTIATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) & 1)
#define DECL_TEMPLATE_SPECIALIZATION(NODE)   (DECL_USE_TEMPLATE (NODE) == 2)
#define SET_DECL_TEMPLATE_SPECIALIZATION(NODE)   (DECL_USE_TEMPLATE (NODE) = 2)
#define CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) == 2)
#define SET_CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) = 2)
#define DECL_IMPLICIT_INSTANTIATION(NODE)   (DECL_USE_TEMPLATE (NODE) == 1)
#define SET_DECL_IMPLICIT_INSTANTIATION(NODE)   (DECL_USE_TEMPLATE (NODE) = 1)
#define CLASSTYPE_IMPLICIT_INSTANTIATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) == 1)
#define SET_CLASSTYPE_IMPLICIT_INSTANTIATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) = 1)
#define DECL_EXPLICIT_INSTANTIATION(NODE)   (DECL_USE_TEMPLATE (NODE) == 3)
#define SET_DECL_EXPLICIT_INSTANTIATION(NODE)   (DECL_USE_TEMPLATE (NODE) = 3)
#define CLASSTYPE_EXPLICIT_INSTANTIATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) == 3)
#define SET_CLASSTYPE_EXPLICIT_INSTANTIATION(NODE)   (CLASSTYPE_USE_TEMPLATE (NODE) = 3)
#define DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION(DECL)   (DECL_TEMPLATE_INFO (DECL) && !DECL_USE_TEMPLATE (DECL))
#define PROCESSING_REAL_TEMPLATE_DECL_P()   (processing_template_decl > template_class_depth (current_scope ()))
#define DECL_TEMPLATE_INSTANTIATED(NODE)   DECL_LANG_FLAG_1 (VAR_OR_FUNCTION_DECL_CHECK (NODE))
#define DECL_INTERFACE_KNOWN(NODE)   DECL_LANG_FLAG_5 (NODE)
#define DECL_NOT_REALLY_EXTERN(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.not_really_extern)
#define DECL_REALLY_EXTERN(NODE)   (DECL_EXTERNAL (NODE) && ! DECL_NOT_REALLY_EXTERN (NODE))
#define THUNK_FIXED_OFFSET(DECL)   (DECL_LANG_SPECIFIC (THUNK_FUNCTION_CHECK (DECL))->u.f.u5.fixed_offset)
#define THUNK_VIRTUAL_OFFSET(DECL)   (LANG_DECL_U2_CHECK (FUNCTION_DECL_CHECK (DECL), 0)->access)
#define THUNK_ALIAS(DECL)   (DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (DECL))->decl_flags.u.template_info)
#define THUNK_TARGET(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.befriending_classes)
#define QUALIFIED_NAME_IS_TEMPLATE(NODE)   (TREE_LANG_FLAG_0 (SCOPE_REF_CHECK (NODE)))
#define OMP_ATOMIC_DEPENDENT_P(NODE)   (TREE_LANG_FLAG_0 (OMP_ATOMIC_CHECK (NODE)))
#define OMP_ATOMIC_CODE(NODE)   (OMP_ATOMIC_CHECK (NODE)->exp.complexity)
#define OMP_FOR_GIMPLIFYING_P(NODE)   (TREE_LANG_FLAG_0 (OMP_FOR_CHECK (NODE)))
#define CP_OMP_CLAUSE_INFO(NODE)
#define TRY_STMTS(NODE)   TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 0)
#define TRY_HANDLERS(NODE)   TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 1)
#define EH_SPEC_STMTS(NODE)   TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 0)
#define EH_SPEC_RAISES(NODE)   TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 1)
#define USING_STMT_NAMESPACE(NODE)   TREE_OPERAND (USING_STMT_CHECK (NODE), 0)
#define FN_TRY_BLOCK_P(NODE)   TREE_LANG_FLAG_3 (TRY_BLOCK_CHECK (NODE))
#define HANDLER_PARMS(NODE)   TREE_OPERAND (HANDLER_CHECK (NODE), 0)
#define HANDLER_BODY(NODE)   TREE_OPERAND (HANDLER_CHECK (NODE), 1)
#define HANDLER_TYPE(NODE)   TREE_TYPE (HANDLER_CHECK (NODE))
#define CLEANUP_BODY(NODE)   TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 0)
#define CLEANUP_EXPR(NODE)   TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 1)
#define CLEANUP_DECL(NODE)   TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 2)
#define IF_COND(NODE)   TREE_OPERAND (IF_STMT_CHECK (NODE), 0)
#define THEN_CLAUSE(NODE)   TREE_OPERAND (IF_STMT_CHECK (NODE), 1)
#define ELSE_CLAUSE(NODE)   TREE_OPERAND (IF_STMT_CHECK (NODE), 2)
#define WHILE_COND(NODE)   TREE_OPERAND (WHILE_STMT_CHECK (NODE), 0)
#define WHILE_BODY(NODE)   TREE_OPERAND (WHILE_STMT_CHECK (NODE), 1)
#define DO_COND(NODE)   TREE_OPERAND (DO_STMT_CHECK (NODE), 0)
#define DO_BODY(NODE)   TREE_OPERAND (DO_STMT_CHECK (NODE), 1)
#define FOR_INIT_STMT(NODE)   TREE_OPERAND (FOR_STMT_CHECK (NODE), 0)
#define FOR_COND(NODE)   TREE_OPERAND (FOR_STMT_CHECK (NODE), 1)
#define FOR_EXPR(NODE)   TREE_OPERAND (FOR_STMT_CHECK (NODE), 2)
#define FOR_BODY(NODE)   TREE_OPERAND (FOR_STMT_CHECK (NODE), 3)
#define SWITCH_STMT_COND(NODE)   TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 0)
#define SWITCH_STMT_BODY(NODE)   TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 1)
#define SWITCH_STMT_TYPE(NODE)   TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 2)
#define STMT_EXPR_STMT(NODE)   TREE_OPERAND (STMT_EXPR_CHECK (NODE), 0)
#define EXPR_STMT_EXPR(NODE)   TREE_OPERAND (EXPR_STMT_CHECK (NODE), 0)
#define TARGET_EXPR_IMPLICIT_P(NODE)   TREE_LANG_FLAG_0 (TARGET_EXPR_CHECK (NODE))
#define vfunc_ptr_type_node   vtable_entry_type
#define TINST_DECL(NODE)   (((tinst_level_t) TINST_LEVEL_CHECK (NODE))->decl)
#define TINST_LOCATION(NODE)   (((tinst_level_t) TINST_LEVEL_CHECK (NODE))->locus)
#define TINST_IN_SYSTEM_HEADER_P(NODE)   (((tinst_level_t) TINST_LEVEL_CHECK (NODE))->in_system_header_p)
#define JOINER   '$'
#define AUTO_TEMP_NAME   "_$tmp_"
#define VFIELD_BASE   "$vf"
#define VFIELD_NAME   "_vptr$"
#define VFIELD_NAME_FORMAT   "_vptr$%s"
#define ANON_AGGRNAME_FORMAT   "$_%d"
#define THIS_NAME   "this"
#define IN_CHARGE_NAME   "__in_chrg"
#define VTBL_PTR_TYPE   "__vtbl_ptr_type"
#define VTABLE_DELTA_NAME   "__delta"
#define VTABLE_PFN_NAME   "__pfn"
#define VTABLE_NAME_P(ID_NODE)
#define TEMP_NAME_P(ID_NODE)   (!strncmp (IDENTIFIER_POINTER (ID_NODE), AUTO_TEMP_NAME, sizeof (AUTO_TEMP_NAME)-1))
#define VFIELD_NAME_P(ID_NODE)   (!strncmp (IDENTIFIER_POINTER (ID_NODE), VFIELD_NAME, sizeof(VFIELD_NAME)-1))
#define ANON_AGGRNAME_P(ID_NODE)
#define LOOKUP_PROTECT   (1 << 0)
#define LOOKUP_COMPLAIN   (1 << 1)
#define LOOKUP_NORMAL   (LOOKUP_PROTECT | LOOKUP_COMPLAIN)
#define LOOKUP_NONVIRTUAL   (1 << 2)
#define LOOKUP_ONLYCONVERTING   (1 << 3)
#define DIRECT_BIND   (1 << 4)
#define LOOKUP_NO_CONVERSION   (1 << 5)
#define LOOKUP_DESTRUCTOR   (1 << 6)
#define LOOKUP_NO_TEMP_BIND   (1 << 7)
#define LOOKUP_PREFER_TYPES   (1 << 8)
#define LOOKUP_PREFER_NAMESPACES   (1 << 9)
#define LOOKUP_PREFER_BOTH   (LOOKUP_PREFER_TYPES | LOOKUP_PREFER_NAMESPACES)
#define LOOKUP_CONSTRUCTOR_CALLABLE   (1 << 10)
#define LOOKUP_HIDDEN   (LOOKUP_CONSTRUCTOR_CALLABLE << 1)
#define LOOKUP_NAMESPACES_ONLY(F)   (((F) & LOOKUP_PREFER_NAMESPACES) && !((F) & LOOKUP_PREFER_TYPES))
#define LOOKUP_TYPES_ONLY(F)   (!((F) & LOOKUP_PREFER_NAMESPACES) && ((F) & LOOKUP_PREFER_TYPES))
#define LOOKUP_QUALIFIERS_ONLY(F)   ((F) & LOOKUP_PREFER_BOTH)
#define CONV_IMPLICIT   1
#define CONV_STATIC   2
#define CONV_CONST   4
#define CONV_REINTERPRET   8
#define CONV_PRIVATE   16
#define CONV_FORCE_TEMP   64
#define CONV_OLD_CONVERT
#define CONV_C_CAST
#define WANT_INT   1
#define WANT_FLOAT   2
#define WANT_ENUM   4
#define WANT_POINTER   8
#define WANT_NULL   16
#define WANT_VECTOR   32
#define WANT_ARITH   (WANT_INT | WANT_FLOAT | WANT_VECTOR)
#define COMPARE_STRICT   0
#define COMPARE_BASE   1
#define COMPARE_DERIVED   2
#define COMPARE_REDECLARATION   4
#define PUSH_GLOBAL   0
#define PUSH_LOCAL   1
#define PUSH_USING   2
#define SF_DEFAULT   0
#define SF_PRE_PARSED   1
#define SF_INCLASS_INLINE   2
#define same_or_base_type_p(TYPE1, TYPE2)   comptypes ((TYPE1), (TYPE2), COMPARE_BASE)
#define TEMPLATE_PARM_INDEX_CAST(NODE)   ((template_parm_index*)TEMPLATE_PARM_INDEX_CHECK (NODE))
#define TEMPLATE_PARM_IDX(NODE)   (TEMPLATE_PARM_INDEX_CAST (NODE)->index)
#define TEMPLATE_PARM_LEVEL(NODE)   (TEMPLATE_PARM_INDEX_CAST (NODE)->level)
#define TEMPLATE_PARM_DESCENDANTS(NODE)   (TREE_CHAIN (NODE))
#define TEMPLATE_PARM_ORIG_LEVEL(NODE)   (TEMPLATE_PARM_INDEX_CAST (NODE)->orig_level)
#define TEMPLATE_PARM_DECL(NODE)   (TEMPLATE_PARM_INDEX_CAST (NODE)->decl)
#define TEMPLATE_TYPE_PARM_INDEX(NODE)
#define TEMPLATE_TYPE_IDX(NODE)   (TEMPLATE_PARM_IDX (TEMPLATE_TYPE_PARM_INDEX (NODE)))
#define TEMPLATE_TYPE_LEVEL(NODE)   (TEMPLATE_PARM_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
#define TEMPLATE_TYPE_ORIG_LEVEL(NODE)   (TEMPLATE_PARM_ORIG_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
#define TEMPLATE_TYPE_DECL(NODE)   (TEMPLATE_PARM_DECL (TEMPLATE_TYPE_PARM_INDEX (NODE)))
#define TFF_PLAIN_IDENTIFIER   (0)
#define TFF_SCOPE   (1)
#define TFF_CHASE_TYPEDEF   (1 << 1)
#define TFF_DECL_SPECIFIERS   (1 << 2)
#define TFF_CLASS_KEY_OR_ENUM   (1 << 3)
#define TFF_RETURN_TYPE   (1 << 4)
#define TFF_FUNCTION_DEFAULT_ARGUMENTS   (1 << 5)
#define TFF_EXCEPTION_SPECIFICATION   (1 << 6)
#define TFF_TEMPLATE_HEADER   (1 << 7)
#define TFF_TEMPLATE_NAME   (1 << 8)
#define TFF_EXPR_IN_PARENS   (1 << 9)
#define TFF_NO_FUNCTION_ARGUMENTS   (1 << 10)
#define TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL(NODE)
#define dfs_skip_bases   ((tree)1)
#define cp_build_qualified_type(TYPE, QUALS)   cp_build_qualified_type_real ((TYPE), (QUALS), tf_warning_or_error)
#define cxx_sizeof_nowarn(T)   cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, false)
#define cp_build_binary_op(code, arg1, arg2)   build_binary_op(code, arg1, arg2, 1)
#define cxx_sizeof(T)   cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, true)
#define cxx_incomplete_type_error(V, T)   (cxx_incomplete_type_diagnostic ((V), (T), 0))
#define GCC_DIAG_STYLE   __gcc_cxxdiag__
#define ATTRIBUTE_GCC_CXXDIAG(m, n)   ATTRIBUTE_NONNULL(m)

Typedefs

typedef struct
template_parm_index_s 
template_parm_index
typedef struct tinst_level_s * tinst_level_t
typedef struct ptrmem_cst * ptrmem_cst_t
typedef tree_pair_stree_pair_p
typedef int cp_cv_quals
typedef struct cp_declarator cp_declarator
typedef struct
cp_parameter_declarator 
cp_parameter_declarator
typedef int(* walk_namespaces_fn )(tree, void *)

Enumerations

enum  cp_id_kind {
  CP_ID_KIND_NONE, CP_ID_KIND_UNQUALIFIED, CP_ID_KIND_UNQUALIFIED_DEPENDENT, CP_ID_KIND_TEMPLATE_ID,
  CP_ID_KIND_QUALIFIED, CP_ID_KIND_NONE, CP_ID_KIND_UNQUALIFIED, CP_ID_KIND_UNQUALIFIED_DEPENDENT,
  CP_ID_KIND_TEMPLATE_ID, CP_ID_KIND_QUALIFIED
}
enum  cp_tree_node_structure_enum {
  TS_CP_COMMON, TS_CP_GENERIC, TS_CP_IDENTIFIER, TS_CP_TPI,
  TS_CP_PTRMEM, TS_CP_OVERLOAD, TS_CP_WRAPPER, TS_CP_SRCLOC,
  LAST_TS_CP_ENUM, TS_CP_COMMON, TS_CP_GENERIC, TS_CP_IDENTIFIER,
  TS_CP_TPI, TS_CP_PTRMEM, TS_CP_OVERLOAD, TS_CP_WRAPPER,
  TS_CP_SRCLOC, LAST_TS_CP_ENUM, TS_CP_GENERIC, TS_CP_IDENTIFIER,
  TS_CP_TPI, TS_CP_TINST_LEVEL, TS_CP_PTRMEM, TS_CP_BINDING,
  TS_CP_OVERLOAD, TS_CP_BASELINK, TS_CP_WRAPPER, TS_CP_DEFAULT_ARG,
  LAST_TS_CP_ENUM, TS_CP_GENERIC, TS_CP_IDENTIFIER, TS_CP_TPI,
  TS_CP_TINST_LEVEL, TS_CP_PTRMEM, TS_CP_BINDING, TS_CP_OVERLOAD,
  TS_CP_BASELINK, TS_CP_WRAPPER, TS_CP_DEFAULT_ARG, LAST_TS_CP_ENUM
}
enum  cp_tree_index {
  CPTI_JAVA_BYTE_TYPE, CPTI_JAVA_SHORT_TYPE, CPTI_JAVA_INT_TYPE, CPTI_JAVA_LONG_TYPE,
  CPTI_JAVA_FLOAT_TYPE, CPTI_JAVA_DOUBLE_TYPE, CPTI_JAVA_CHAR_TYPE, CPTI_JAVA_BOOLEAN_TYPE,
  CPTI_WCHAR_DECL, CPTI_VTABLE_ENTRY_TYPE, CPTI_DELTA_TYPE, CPTI_VTABLE_INDEX_TYPE,
  CPTI_CLEANUP_TYPE, CPTI_VTT_PARM_TYPE, CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE,
  CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE,
  CPTI_CLASS_DESC_TYPE, CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE, CPTI_PTM_DESC_TYPE,
  CPTI_BASE_DESC_TYPE, CPTI_CLASS_TYPE, CPTI_RECORD_TYPE, CPTI_UNION_TYPE,
  CPTI_ENUM_TYPE, CPTI_UNKNOWN_TYPE, CPTI_VTBL_TYPE, CPTI_VTBL_PTR_TYPE,
  CPTI_STD, CPTI_ABI, CPTI_TYPE_INFO_TYPE, CPTI_TYPE_INFO_PTR_TYPE,
  CPTI_ABORT_FNDECL, CPTI_GLOBAL_DELETE_FNDECL, CPTI_AGGR_TAG, CPTI_ACCESS_DEFAULT,
  CPTI_ACCESS_PUBLIC, CPTI_ACCESS_PROTECTED, CPTI_ACCESS_PRIVATE, CPTI_ACCESS_DEFAULT_VIRTUAL,
  CPTI_ACCESS_PUBLIC_VIRTUAL, CPTI_ACCESS_PROTECTED_VIRTUAL, CPTI_ACCESS_PRIVATE_VIRTUAL, CPTI_CTOR_IDENTIFIER,
  CPTI_COMPLETE_CTOR_IDENTIFIER, CPTI_BASE_CTOR_IDENTIFIER, CPTI_DTOR_IDENTIFIER, CPTI_COMPLETE_DTOR_IDENTIFIER,
  CPTI_BASE_DTOR_IDENTIFIER, CPTI_DELETING_DTOR_IDENTIFIER, CPTI_DELTA_IDENTIFIER, CPTI_IN_CHARGE_IDENTIFIER,
  CPTI_VTT_PARM_IDENTIFIER, CPTI_NELTS_IDENTIFIER, CPTI_THIS_IDENTIFIER, CPTI_PFN_IDENTIFIER,
  CPTI_VPTR_IDENTIFIER, CPTI_STD_IDENTIFIER, CPTI_LANG_NAME_C, CPTI_LANG_NAME_CPLUSPLUS,
  CPTI_LANG_NAME_JAVA, CPTI_EMPTY_EXCEPT_SPEC, CPTI_NULL, CPTI_JCLASS,
  CPTI_TERMINATE, CPTI_CALL_UNEXPECTED, CPTI_ATEXIT, CPTI_DSO_HANDLE,
  CPTI_DCAST, CPTI_KEYED_CLASSES, CPTI_MAX, CPTI_JAVA_BYTE_TYPE,
  CPTI_JAVA_SHORT_TYPE, CPTI_JAVA_INT_TYPE, CPTI_JAVA_LONG_TYPE, CPTI_JAVA_FLOAT_TYPE,
  CPTI_JAVA_DOUBLE_TYPE, CPTI_JAVA_CHAR_TYPE, CPTI_JAVA_BOOLEAN_TYPE, CPTI_WCHAR_DECL,
  CPTI_VTABLE_ENTRY_TYPE, CPTI_DELTA_TYPE, CPTI_VTABLE_INDEX_TYPE, CPTI_CLEANUP_TYPE,
  CPTI_VTT_PARM_TYPE, CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE, CPTI_PTR_DESC_TYPE,
  CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE,
  CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE, CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE,
  CPTI_CLASS_TYPE, CPTI_RECORD_TYPE, CPTI_UNION_TYPE, CPTI_ENUM_TYPE,
  CPTI_UNKNOWN_TYPE, CPTI_VTBL_TYPE, CPTI_VTBL_PTR_TYPE, CPTI_STD,
  CPTI_ABI, CPTI_TYPE_INFO_TYPE, CPTI_TYPE_INFO_PTR_TYPE, CPTI_ABORT_FNDECL,
  CPTI_GLOBAL_DELETE_FNDECL, CPTI_AGGR_TAG, CPTI_ACCESS_DEFAULT, CPTI_ACCESS_PUBLIC,
  CPTI_ACCESS_PROTECTED, CPTI_ACCESS_PRIVATE, CPTI_ACCESS_DEFAULT_VIRTUAL, CPTI_ACCESS_PUBLIC_VIRTUAL,
  CPTI_ACCESS_PROTECTED_VIRTUAL, CPTI_ACCESS_PRIVATE_VIRTUAL, CPTI_CTOR_IDENTIFIER, CPTI_COMPLETE_CTOR_IDENTIFIER,
  CPTI_BASE_CTOR_IDENTIFIER, CPTI_DTOR_IDENTIFIER, CPTI_COMPLETE_DTOR_IDENTIFIER, CPTI_BASE_DTOR_IDENTIFIER,
  CPTI_DELETING_DTOR_IDENTIFIER, CPTI_DELTA_IDENTIFIER, CPTI_IN_CHARGE_IDENTIFIER, CPTI_VTT_PARM_IDENTIFIER,
  CPTI_NELTS_IDENTIFIER, CPTI_THIS_IDENTIFIER, CPTI_PFN_IDENTIFIER, CPTI_VPTR_IDENTIFIER,
  CPTI_STD_IDENTIFIER, CPTI_LANG_NAME_C, CPTI_LANG_NAME_CPLUSPLUS, CPTI_LANG_NAME_JAVA,
  CPTI_EMPTY_EXCEPT_SPEC, CPTI_NULL, CPTI_JCLASS, CPTI_TERMINATE,
  CPTI_CALL_UNEXPECTED, CPTI_ATEXIT, CPTI_DSO_HANDLE, CPTI_DCAST,
  CPTI_KEYED_CLASSES, CPTI_MAX, CPTI_JAVA_BYTE_TYPE, CPTI_JAVA_SHORT_TYPE,
  CPTI_JAVA_INT_TYPE, CPTI_JAVA_LONG_TYPE, CPTI_JAVA_FLOAT_TYPE, CPTI_JAVA_DOUBLE_TYPE,
  CPTI_JAVA_CHAR_TYPE, CPTI_JAVA_BOOLEAN_TYPE, CPTI_WCHAR_DECL, CPTI_VTABLE_ENTRY_TYPE,
  CPTI_DELTA_TYPE, CPTI_VTABLE_INDEX_TYPE, CPTI_CLEANUP_TYPE, CPTI_VTT_PARM_TYPE,
  CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE, CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE,
  CPTI_FUNC_DESC_TYPE, CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE, CPTI_SI_CLASS_DESC_TYPE,
  CPTI_VMI_CLASS_DESC_TYPE, CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE, CPTI_CLASS_TYPE,
  CPTI_UNKNOWN_TYPE, CPTI_VTBL_TYPE, CPTI_VTBL_PTR_TYPE, CPTI_STD,
  CPTI_ABI, CPTI_CONST_TYPE_INFO_TYPE, CPTI_TYPE_INFO_PTR_TYPE, CPTI_ABORT_FNDECL,
  CPTI_GLOBAL_DELETE_FNDECL, CPTI_AGGR_TAG, CPTI_CTOR_IDENTIFIER, CPTI_COMPLETE_CTOR_IDENTIFIER,
  CPTI_BASE_CTOR_IDENTIFIER, CPTI_DTOR_IDENTIFIER, CPTI_COMPLETE_DTOR_IDENTIFIER, CPTI_BASE_DTOR_IDENTIFIER,
  CPTI_DELETING_DTOR_IDENTIFIER, CPTI_DELTA_IDENTIFIER, CPTI_IN_CHARGE_IDENTIFIER, CPTI_VTT_PARM_IDENTIFIER,
  CPTI_NELTS_IDENTIFIER, CPTI_THIS_IDENTIFIER, CPTI_PFN_IDENTIFIER, CPTI_VPTR_IDENTIFIER,
  CPTI_STD_IDENTIFIER, CPTI_LANG_NAME_C, CPTI_LANG_NAME_CPLUSPLUS, CPTI_LANG_NAME_JAVA,
  CPTI_EMPTY_EXCEPT_SPEC, CPTI_JCLASS, CPTI_TERMINATE, CPTI_CALL_UNEXPECTED,
  CPTI_ATEXIT, CPTI_DSO_HANDLE, CPTI_DCAST, CPTI_KEYED_CLASSES,
  CPTI_MAX, CPTI_JAVA_BYTE_TYPE, CPTI_JAVA_SHORT_TYPE, CPTI_JAVA_INT_TYPE,
  CPTI_JAVA_LONG_TYPE, CPTI_JAVA_FLOAT_TYPE, CPTI_JAVA_DOUBLE_TYPE, CPTI_JAVA_CHAR_TYPE,
  CPTI_JAVA_BOOLEAN_TYPE, CPTI_WCHAR_DECL, CPTI_VTABLE_ENTRY_TYPE, CPTI_DELTA_TYPE,
  CPTI_VTABLE_INDEX_TYPE, CPTI_CLEANUP_TYPE, CPTI_VTT_PARM_TYPE, CPTI_CLASS_TYPE,
  CPTI_UNKNOWN_TYPE, CPTI_VTBL_TYPE, CPTI_VTBL_PTR_TYPE, CPTI_STD,
  CPTI_ABI, CPTI_CONST_TYPE_INFO_TYPE, CPTI_TYPE_INFO_PTR_TYPE, CPTI_ABORT_FNDECL,
  CPTI_GLOBAL_DELETE_FNDECL, CPTI_AGGR_TAG, CPTI_CTOR_IDENTIFIER, CPTI_COMPLETE_CTOR_IDENTIFIER,
  CPTI_BASE_CTOR_IDENTIFIER, CPTI_DTOR_IDENTIFIER, CPTI_COMPLETE_DTOR_IDENTIFIER, CPTI_BASE_DTOR_IDENTIFIER,
  CPTI_DELETING_DTOR_IDENTIFIER, CPTI_DELTA_IDENTIFIER, CPTI_IN_CHARGE_IDENTIFIER, CPTI_VTT_PARM_IDENTIFIER,
  CPTI_NELTS_IDENTIFIER, CPTI_THIS_IDENTIFIER, CPTI_PFN_IDENTIFIER, CPTI_VPTR_IDENTIFIER,
  CPTI_STD_IDENTIFIER, CPTI_LANG_NAME_C, CPTI_LANG_NAME_CPLUSPLUS, CPTI_LANG_NAME_JAVA,
  CPTI_EMPTY_EXCEPT_SPEC, CPTI_JCLASS, CPTI_TERMINATE, CPTI_CALL_UNEXPECTED,
  CPTI_ATEXIT, CPTI_DSO_HANDLE, CPTI_DCAST, CPTI_KEYED_CLASSES,
  CPTI_MAX
}
enum  cplus_tree_code {
  CP_DUMMY_TREE_CODE = LAST_C_TREE_CODE, DEFTREECODE, CP_DUMMY_TREE_CODE = LAST_C_TREE_CODE, DEFTREECODE,
  CP_DUMMY_TREE_CODE = LAST_C_TREE_CODE, DEFTREECODE, CP_DUMMY_TREE_CODE = LAST_C_TREE_CODE, DEFTREECODE
}
enum  languages {
  lang_c, lang_cplusplus, lang_java, lang_c,
  lang_cplusplus, lang_java, lang_c, lang_cplusplus,
  lang_java, lang_c, lang_cplusplus, lang_java
}
enum  tag_types {
  record_type, class_type, union_type, enum_type,
  record_type, class_type, union_type, enum_type,
  none_type = 0, record_type, class_type, union_type,
  enum_type, typename_type, none_type = 0, record_type,
  class_type, union_type, enum_type, typename_type
}
enum  cp_lvalue_kind {
  clk_none = 0, clk_ordinary = 1, clk_class = 2, clk_bitfield = 4,
  clk_none = 0, clk_ordinary = 1, clk_class = 2, clk_bitfield = 4,
  clk_none = 0, clk_ordinary = 1, clk_class = 2, clk_bitfield = 4,
  clk_packed = 8, clk_none = 0, clk_ordinary = 1, clk_class = 2,
  clk_bitfield = 4, clk_packed = 8
}
enum  tmpl_spec_kind {
  tsk_none, tsk_invalid_member_spec, tsk_invalid_expl_inst, tsk_excessive_parms,
  tsk_insufficient_parms, tsk_template, tsk_expl_spec, tsk_expl_inst,
  tsk_none, tsk_invalid_member_spec, tsk_invalid_expl_inst, tsk_excessive_parms,
  tsk_insufficient_parms, tsk_template, tsk_expl_spec, tsk_expl_inst,
  tsk_none, tsk_invalid_member_spec, tsk_invalid_expl_inst, tsk_excessive_parms,
  tsk_insufficient_parms, tsk_template, tsk_expl_spec, tsk_expl_inst,
  tsk_none, tsk_invalid_member_spec, tsk_invalid_expl_inst, tsk_excessive_parms,
  tsk_insufficient_parms, tsk_template, tsk_expl_spec, tsk_expl_inst
}
enum  access_kind {
  ak_none = 0, ak_public = 1, ak_protected = 2, ak_private = 3,
  ak_none = 0, ak_public = 1, ak_protected = 2, ak_private = 3,
  ak_none = 0, ak_public = 1, ak_protected = 2, ak_private = 3,
  ak_none = 0, ak_public = 1, ak_protected = 2, ak_private = 3
}
enum  special_function_kind {
  sfk_none = 0, sfk_constructor, sfk_copy_constructor, sfk_assignment_operator,
  sfk_destructor, sfk_complete_destructor, sfk_base_destructor, sfk_deleting_destructor,
  sfk_conversion, sfk_none = 0, sfk_constructor, sfk_copy_constructor,
  sfk_assignment_operator, sfk_destructor, sfk_complete_destructor, sfk_base_destructor,
  sfk_deleting_destructor, sfk_conversion, sfk_none = 0, sfk_constructor,
  sfk_copy_constructor, sfk_assignment_operator, sfk_destructor, sfk_complete_destructor,
  sfk_base_destructor, sfk_deleting_destructor, sfk_conversion, sfk_none = 0,
  sfk_constructor, sfk_copy_constructor, sfk_assignment_operator, sfk_destructor,
  sfk_complete_destructor, sfk_base_destructor, sfk_deleting_destructor, sfk_conversion
}
enum  linkage_kind {
  lk_none, lk_internal, lk_external, lk_none,
  lk_internal, lk_external, lk_none, lk_internal,
  lk_external, lk_none, lk_internal, lk_external
}
enum  tsubst_flags_t {
  tf_none = 0, tf_error = 1 << 0, tf_warning = 1 << 1, tf_no_attributes = 1 << 2,
  tf_ignore_bad_quals = 1 << 3, tf_keep_type_decl = 1 << 4, tf_ptrmem_ok = 1 << 5, tf_parsing = 1 << 6,
  tf_none = 0, tf_error = 1 << 0, tf_warning = 1 << 1, tf_no_attributes = 1 << 2,
  tf_ignore_bad_quals = 1 << 3, tf_keep_type_decl = 1 << 4, tf_ptrmem_ok = 1 << 5, tf_parsing = 1 << 6,
  tf_none = 0, tf_error = 1 << 0, tf_warning = 1 << 1, tf_ignore_bad_quals = 1 << 2,
  tf_keep_type_decl = 1 << 3, tf_ptrmem_ok = 1 << 4, tf_user = 1 << 5, tf_conv = 1 << 6,
  tf_none = 0, tf_error = 1 << 0, tf_warning = 1 << 1, tf_ignore_bad_quals = 1 << 2,
  tf_keep_type_decl = 1 << 3, tf_ptrmem_ok = 1 << 4, tf_user = 1 << 5, tf_conv = 1 << 6,
  tf_warning_or_error = tf_warning | tf_error
}
enum  base_access {
  ba_any = 0, ba_ignore = 1, ba_check = 2, ba_not_special = 3,
  ba_quiet = 4, ba_any = 0, ba_ignore = 1, ba_check = 2,
  ba_not_special = 3, ba_quiet = 4, ba_any = 0, ba_unique = 1 << 0,
  ba_check_bit = 1 << 1, ba_check = ba_unique | ba_check_bit, ba_ignore_scope = 1 << 2, ba_quiet = 1 << 3,
  ba_any = 0, ba_unique = 1 << 0, ba_check_bit = 1 << 1, ba_check = ba_unique | ba_check_bit,
  ba_ignore_scope = 1 << 2, ba_quiet = 1 << 3
}
enum  deferring_kind {
  dk_no_deferred = 0, dk_deferred = 1, dk_no_check = 2, dk_no_deferred = 0,
  dk_deferred = 1, dk_no_check = 2
}
enum  base_kind {
  bk_inaccessible = -3, bk_ambig = -2, bk_not_base = -1, bk_same_type = 0,
  bk_proper_base = 1, bk_via_virtual = 2, bk_inaccessible = -3, bk_ambig = -2,
  bk_not_base = -1, bk_same_type = 0, bk_proper_base = 1, bk_via_virtual = 2,
  bk_inaccessible = -3, bk_ambig = -2, bk_not_base = -1, bk_same_type = 0,
  bk_proper_base = 1, bk_via_virtual = 2, bk_inaccessible = -3, bk_ambig = -2,
  bk_not_base = -1, bk_same_type = 0, bk_proper_base = 1, bk_via_virtual = 2
}
enum  unification_kind_t {
  DEDUCE_CALL, DEDUCE_CONV, DEDUCE_EXACT, DEDUCE_ORDER,
  DEDUCE_CALL, DEDUCE_CONV, DEDUCE_EXACT, DEDUCE_ORDER,
  DEDUCE_CALL, DEDUCE_CONV, DEDUCE_EXACT, DEDUCE_CALL,
  DEDUCE_CONV, DEDUCE_EXACT
}
enum  overload_flags {
  NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG,
  NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG,
  NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG,
  NO_SPECIAL = 0, DTOR_FLAG, OP_FLAG, TYPENAME_FLAG
}
enum  cp_storage_class {
  sc_none = 0, sc_auto, sc_register, sc_static,
  sc_extern, sc_mutable, sc_none = 0, sc_auto,
  sc_register, sc_static, sc_extern, sc_mutable
}
enum  cp_decl_spec {
  ds_first, ds_signed = ds_first, ds_unsigned, ds_short,
  ds_long, ds_const, ds_volatile, ds_restrict,
  ds_inline, ds_virtual, ds_explicit, ds_friend,
  ds_typedef, ds_complex, ds_thread, ds_last,
  ds_first, ds_signed = ds_first, ds_unsigned, ds_short,
  ds_long, ds_const, ds_volatile, ds_restrict,
  ds_inline, ds_virtual, ds_explicit, ds_friend,
  ds_typedef, ds_complex, ds_thread, ds_last
}
enum  cp_declarator_kind {
  cdk_id, cdk_function, cdk_array, cdk_pointer,
  cdk_reference, cdk_ptrmem, cdk_error, cdk_id,
  cdk_function, cdk_array, cdk_pointer, cdk_reference,
  cdk_ptrmem, cdk_error
}
enum  { BCS_NO_SCOPE = 1, BCS_TRY_BLOCK = 2, BCS_FN_BODY = 4 }

Functions/Subroutines

struct lang_identifier GTY (())
union lang_tree_node GTY ((desc("cp_tree_node_structure (&%h)"), chain_next("(union lang_tree_node *)TREE_CHAIN (&%h.generic)")))
unsigned int cxx_int_tree_map_hash (const void *)
int cxx_int_tree_map_eq (const void *, const void *)
 DEF_VEC_O (tree_pair_s)
 DEF_VEC_ALLOC_O (tree_pair_s, gc)
tree decl_shadowed_for_var_lookup (tree)
void decl_shadowed_for_var_insert (tree, tree)
void init_reswords (void)
bool check_dtor_name (tree, tree)
tree build_vfield_ref (tree, tree)
tree build_conditional_expr (tree, tree, tree)
tree build_addr_func (tree)
tree build_call (tree, tree)
bool null_ptr_cst_p (tree)
bool sufficient_parms_p (tree)
tree type_decays_to (tree)
tree build_user_type_conversion (tree, tree, int)
tree build_new_function_call (tree, tree, bool)
tree build_operator_new_call (tree, tree, tree *, tree *, tree *)
tree build_new_method_call (tree, tree, tree, tree, int, tree *)
tree build_special_member_call (tree, tree, tree, tree, int)
tree build_new_op (enum tree_code, int, tree, tree, tree, bool *)
tree build_op_delete_call (enum tree_code, tree, tree, bool, tree, tree)
bool can_convert (tree, tree)
bool can_convert_arg (tree, tree, tree, int)
bool can_convert_arg_bad (tree, tree, tree)
bool enforce_access (tree, tree, tree)
tree convert_default_arg (tree, tree, tree, int)
tree convert_arg_to_ellipsis (tree)
tree build_x_va_arg (tree, tree)
tree cxx_type_promotes_to (tree)
tree type_passed_as (tree)
tree convert_for_arg_passing (tree, tree)
bool is_properly_derived_from (tree, tree)
tree initialize_reference (tree, tree, tree, tree *)
tree make_temporary_var_for_ref_to_temp (tree, tree)
tree strip_top_quals (tree)
tree perform_implicit_conversion (tree, tree)
tree perform_direct_initialization_if_possible (tree, tree, bool)
tree in_charge_arg_for_name (tree)
tree build_cxx_call (tree, tree)
tree build_base_path (enum tree_code, tree, tree, int)
tree convert_to_base (tree, tree, bool, bool)
tree convert_to_base_statically (tree, tree)
tree build_vtbl_ref (tree, tree)
tree build_vfn_ref (tree, tree)
tree get_vtable_decl (tree, int)
void resort_type_method_vec (void *, void *, gt_pointer_operator, void *)
bool add_method (tree, tree, tree)
bool currently_open_class (tree)
tree currently_open_derived_class (tree)
tree finish_struct (tree, tree)
void finish_struct_1 (tree)
int resolves_to_fixed_type_p (tree, int *)
void init_class_processing (void)
int is_empty_class (tree)
void pushclass (tree)
void popclass (void)
void push_nested_class (tree)
void pop_nested_class (void)
int current_lang_depth (void)
void push_lang_context (tree)
void pop_lang_context (void)
tree instantiate_type (tree, tree, tsubst_flags_t)
void print_class_statistics (void)
void cxx_print_statistics (void)
void cxx_print_xnode (FILE *, tree, int)
void cxx_print_decl (FILE *, tree, int)
void cxx_print_type (FILE *, tree, int)
void cxx_print_identifier (FILE *, tree, int)
void cxx_print_error_function (struct diagnostic_context *, const char *)
void build_self_reference (void)
int same_signature_p (tree, tree)
void maybe_add_class_template_decl_list (tree, tree, int)
void unreverse_member_declarations (tree)
void invalidate_class_lookup_cache (void)
void maybe_note_name_used_in_class (tree, tree)
void note_name_declared_in_class (tree, tree)
tree get_vtbl_decl_for_binfo (tree)
void debug_class (tree)
void debug_thunks (tree)
tree cp_fold_obj_type_ref (tree, tree)
void set_linkage_according_to_type (tree, tree)
void determine_key_method (tree)
void check_for_override (tree, tree)
void push_class_stack (void)
void pop_class_stack (void)
tree convert_to_reference (tree, tree, int, int, tree)
tree convert_from_reference (tree)
tree force_rvalue (tree)
tree ocp_convert (tree, tree, int, int)
tree cp_convert (tree, tree)
tree convert_to_void (tree, const char *)
tree convert_force (tree, tree, int)
tree build_expr_type_conversion (int, tree, bool)
tree type_promotes_to (tree)
tree perform_qualification_conversions (tree, tree)
void clone_function_decl (tree, int)
void adjust_clone_args (tree)
tree poplevel (int, int, int)
void insert_block (tree)
tree pushdecl (tree)
tree pushdecl_maybe_friend (tree, bool)
void cxx_init_decl_processing (void)
enum cp_tree_node_structure_enum cp_tree_node_structure (union lang_tree_node *)
bool cxx_mark_addressable (tree)
void cxx_push_function_context (struct function *)
void cxx_pop_function_context (struct function *)
void maybe_push_cleanup_level (tree)
void finish_scope (void)
void push_switch (tree)
void pop_switch (void)
tree pushtag (tree, tree, tag_scope)
tree make_anon_name (void)
int decls_match (tree, tree)
tree duplicate_decls (tree, tree, bool)
tree pushdecl_top_level_maybe_friend (tree, bool)
tree pushdecl_top_level_and_finish (tree, tree)
tree declare_local_label (tree)
tree define_label (location_t, tree)
void check_goto (tree)
bool check_omp_return (void)
tree make_typename_type (tree, tree, enum tag_types, tsubst_flags_t)
tree make_unbound_class_template (tree, tree, tree, tsubst_flags_t)
tree check_for_out_of_scope_variable (tree)
tree build_library_fn (tree, tree)
tree build_library_fn_ptr (const char *, tree)
tree build_cp_library_fn_ptr (const char *, tree)
tree push_library_fn (tree, tree)
tree push_void_library_fn (tree, tree)
tree push_throw_library_fn (tree, tree)
tree check_tag_decl (cp_decl_specifier_seq *)
tree shadow_tag (cp_decl_specifier_seq *)
tree groktypename (cp_decl_specifier_seq *, const cp_declarator *)
tree start_decl (const cp_declarator *, cp_decl_specifier_seq *, int, tree, tree, tree *)
void start_decl_1 (tree, bool)
void cp_finish_decl (tree, tree, bool, tree, int)
void finish_decl (tree, tree, tree)
int cp_complete_array_type (tree *, tree, bool)
tree build_ptrmemfunc_type (tree)
tree build_ptrmem_type (tree, tree)
tree build_this_parm (tree, cp_cv_quals)
int copy_fn_p (tree)
tree get_scope_of_declarator (const cp_declarator *)
void grok_special_member_properties (tree)
int grok_ctor_properties (tree, tree)
bool grok_op_properties (tree, bool)
tree xref_tag (enum tag_types, tree, tag_scope, bool)
tree xref_tag_from_type (tree, tree, tag_scope)
bool xref_basetypes (tree, tree)
tree start_enum (tree)
void finish_enum (tree)
void build_enumerator (tree, tree, tree)
void start_preparsed_function (tree, tree, int)
int start_function (cp_decl_specifier_seq *, const cp_declarator *, tree)
tree begin_function_body (void)
void finish_function_body (tree)
tree finish_function (int)
tree start_method (cp_decl_specifier_seq *, const cp_declarator *, tree)
tree finish_method (tree)
void maybe_register_incomplete_var (tree)
void complete_vars (tree)
void finish_stmt (void)
void print_other_binding_stack (struct cp_binding_level *)
void revert_static_member_fn (tree)
void fixup_anonymous_aggr (tree)
int check_static_variable_definition (tree, tree)
tree compute_array_index_type (tree, tree)
tree check_default_argument (tree, tree)
int walk_namespaces (walk_namespaces_fn, void *)
int wrapup_globals_for_namespace (tree, void *)
tree create_implicit_typedef (tree, tree)
tree maybe_push_decl (tree)
tree force_target_expr (tree, tree)
tree build_target_expr_with_type (tree, tree)
int local_variable_p (tree)
int nonstatic_local_decl_p (tree)
tree register_dtor_fn (tree)
tmpl_spec_kind current_tmpl_spec_kind (int)
tree cp_fname_init (const char *, tree *)
tree builtin_function (const char *name, tree type, int code, enum built_in_class cl, const char *libname, tree attrs)
tree check_elaborated_type_specifier (enum tag_types, tree, bool)
void warn_extern_redeclared_static (tree, tree)
const char * cxx_comdat_group (tree)
bool cp_missing_noreturn_ok_p (tree)
void initialize_artificial_var (tree, tree)
tree check_var_type (tree, tree)
tree reshape_init (tree, tree)
bool check_java_method (tree)
tree build_memfn_type (tree, tree, cp_cv_quals)
void maybe_retrofit_in_chrg (tree)
void maybe_make_one_only (tree)
void grokclassfn (tree, tree, enum overload_flags)
tree grok_array_decl (tree, tree)
tree delete_sanity (tree, tree, bool, int)
tree check_classfn (tree, tree, tree)
void check_member_template (tree)
tree grokfield (const cp_declarator *, cp_decl_specifier_seq *, tree, bool, tree, tree)
tree grokbitfield (const cp_declarator *, cp_decl_specifier_seq *, tree)
void cplus_decl_attributes (tree *, tree, int)
void finish_anon_union (tree)
void cp_finish_file (void)
tree coerce_new_type (tree)
tree coerce_delete_type (tree)
void comdat_linkage (tree)
void determine_visibility (tree)
void constrain_class_visibility (tree)
void update_member_visibility (tree)
void import_export_decl (tree)
tree build_cleanup (tree)
tree build_offset_ref_call_from_tree (tree, tree)
void check_default_args (tree)
void mark_used (tree)
void finish_static_data_member_decl (tree, tree, bool, tree, int)
tree cp_build_parm_decl (tree, tree)
tree get_guard (tree)
tree get_guard_cond (tree)
tree set_guard (tree)
tree cxx_callgraph_analyze_expr (tree *, int *, tree)
void mark_needed (tree)
bool decl_needed_p (tree)
void note_vague_linkage_fn (tree)
tree build_artificial_parm (tree, tree)
void init_error (void)
const char * type_as_string (tree, int)
const char * decl_as_string (tree, int)
const char * expr_as_string (tree, int)
const char * lang_decl_name (tree, int)
const char * language_to_string (enum languages)
const char * class_key_or_enum_as_string (tree)
void print_instantiation_context (void)
void init_exception_processing (void)
tree expand_start_catch_block (tree)
void expand_end_catch_block (void)
tree build_exc_ptr (void)
tree build_throw (tree)
int nothrow_libfn_p (tree)
void check_handlers (tree)
void choose_personality_routine (enum languages)
tree eh_type_info (tree)
rtx cxx_expand_expr (tree, rtx, enum machine_mode, int, rtx *)
tree cplus_expand_constant (tree)
int is_friend (tree, tree)
void make_friend_class (tree, tree, bool)
void add_friend (tree, tree, bool)
tree do_friend (tree, tree, tree, tree, enum overload_flags, bool)
tree expand_member_init (tree)
void emit_mem_initializers (tree)
tree build_aggr_init (tree, tree, int)
int is_aggr_type (tree, int)
tree get_type_value (tree)
tree build_zero_init (tree, tree, bool)
tree build_offset_ref (tree, tree, bool)
tree build_new (tree, tree, tree, tree, int)
tree build_vec_init (tree, tree, tree, bool, int)
tree build_delete (tree, tree, special_function_kind, int, int)
void push_base_cleanups (void)
tree build_vec_delete (tree, tree, special_function_kind, int)
tree create_temporary_var (tree)
void initialize_vtbl_ptrs (tree)
tree build_java_class_ref (tree)
tree integral_constant_value (tree)
void cxx_dup_lang_specific_decl (tree)
void yyungetc (int, int)
tree unqualified_name_lookup_error (tree)
tree unqualified_fn_lookup_error (tree)
tree build_lang_decl (enum tree_code, tree, tree)
void retrofit_lang_decl (tree)
tree copy_decl (tree)
tree copy_type (tree)
tree cxx_make_type (enum tree_code)
tree make_aggr_type (enum tree_code)
void yyerror (const char *)
void yyhook (int)
bool cxx_init (void)
void cxx_finish (void)
void init_method (void)
tree make_thunk (tree, bool, tree, tree)
void finish_thunk (tree)
void use_thunk (tree, bool)
void synthesize_method (tree)
tree lazily_declare_fn (special_function_kind, tree)
tree skip_artificial_parms_for (tree, tree)
tree make_alias_for (tree, tree)
bool maybe_clone_body (tree)
void check_template_shadow (tree)
tree get_innermost_template_args (tree, int)
void maybe_begin_member_template_processing (tree)
void maybe_end_member_template_processing (void)
tree finish_member_template_decl (tree)
void begin_template_parm_list (void)
bool begin_specialization (void)
void reset_specialization (void)
void end_specialization (void)
void begin_explicit_instantiation (void)
void end_explicit_instantiation (void)
tree check_explicit_specialization (tree, tree, int, int)
tree process_template_parm (tree, tree, bool)
tree end_template_parm_list (tree)
void end_template_decl (void)
tree push_template_decl (tree)
tree push_template_decl_real (tree, bool)
bool redeclare_class_template (tree, tree)
tree lookup_template_class (tree, tree, tree, tree, int, tsubst_flags_t)
tree lookup_template_function (tree, tree)
int uses_template_parms (tree)
int uses_template_parms_level (tree, int)
tree instantiate_class_template (tree)
tree instantiate_template (tree, tree, tsubst_flags_t)
int fn_type_unification (tree, tree, tree, tree, tree, unification_kind_t, int)
void mark_decl_instantiated (tree, int)
int more_specialized_fn (tree, tree, int)
void do_decl_instantiation (tree, tree)
void do_type_instantiation (tree, tree, tsubst_flags_t)
tree instantiate_decl (tree, int, bool)
int comp_template_parms (tree, tree)
int template_class_depth (tree)
int is_specialization_of (tree, tree)
bool is_specialization_of_friend (tree, tree)
int comp_template_args (tree, tree)
tree maybe_process_partial_specialization (tree)
tree most_specialized_instantiation (tree)
void print_candidates (tree)
void instantiate_pending_templates (int)
tree tsubst_default_argument (tree, tree, tree)
tree tsubst_copy_and_build (tree, tree, tsubst_flags_t, tree, bool, bool)
tree most_general_template (tree)
tree get_mostly_instantiated_function_type (tree)
int problematic_instantiation_changed (void)
void record_last_problematic_instantiation (void)
tree current_instantiation (void)
tree maybe_get_template_decl_from_type_decl (tree)
bool dependent_type_p (tree)
bool any_dependent_template_arguments_p (tree)
bool dependent_template_p (tree)
bool dependent_template_id_p (tree, tree)
bool type_dependent_expression_p (tree)
bool any_type_dependent_arguments_p (tree)
bool value_dependent_expression_p (tree)
tree resolve_typename_type (tree, bool)
tree template_for_substitution (tree)
tree build_non_dependent_expr (tree)
tree build_non_dependent_args (tree)
bool reregister_specialization (tree, tree, tree)
tree fold_non_dependent_expr (tree)
bool explicit_class_specialization_p (tree)
void init_repo (void)
int repo_emit_p (tree)
bool repo_export_class_p (tree)
void finish_repo (void)
void init_rtti_processing (void)
tree build_typeid (tree)
tree get_tinfo_decl (tree)
tree get_typeid (tree)
tree build_dynamic_cast (tree, tree)
void emit_support_tinfos (void)
bool emit_tinfo_decl (tree)
bool accessible_base_p (tree, tree, bool)
tree lookup_base (tree, tree, base_access, base_kind *)
tree dcast_base_hint (tree, tree)
int accessible_p (tree, tree, bool)
tree lookup_field_1 (tree, tree, bool)
tree lookup_field (tree, tree, int, bool)
int lookup_fnfields_1 (tree, tree)
int class_method_index_for_fn (tree, tree)
tree lookup_fnfields (tree, tree, int)
tree lookup_member (tree, tree, int, bool)
int look_for_overrides (tree, tree)
void get_pure_virtuals (tree)
void maybe_suppress_debug_info (tree)
void note_debug_info_needed (tree)
void print_search_statistics (void)
void reinit_search_statistics (void)
tree current_scope (void)
int at_function_scope_p (void)
bool at_class_scope_p (void)
bool at_namespace_scope_p (void)
tree context_for_name_lookup (tree)
tree lookup_conversions (tree)
tree binfo_from_vbase (tree)
tree binfo_for_vbase (tree, tree)
tree look_for_overrides_here (tree, tree)
tree dfs_walk_all (tree, tree(*)(tree, void *), tree(*)(tree, void *), void *)
tree dfs_walk_once (tree, tree(*)(tree, void *), tree(*)(tree, void *), void *)
tree binfo_via_virtual (tree, tree)
tree build_baselink (tree, tree, tree, tree)
tree adjust_result_of_qualified_name_lookup (tree, tree, tree)
tree copied_binfo (tree, tree)
tree original_binfo (tree, tree)
int shared_member_p (tree)
 DEF_VEC_O (deferred_access_check)
 DEF_VEC_ALLOC_O (deferred_access_check, gc)
void push_deferring_access_checks (deferring_kind)
void resume_deferring_access_checks (void)
void stop_deferring_access_checks (void)
void pop_deferring_access_checks (void)
 VEC (deferred_access_check, gc)*get_deferred_access_checks(void)
void pop_to_parent_deferring_access_checks (void)
void perform_access_checks (VEC(deferred_access_check, gc)*)
void perform_deferred_access_checks (void)
void perform_or_defer_access_check (tree, tree, tree)
int stmts_are_full_exprs_p (void)
void init_cp_semantics (void)
tree do_poplevel (tree)
void add_decl_expr (tree)
tree finish_expr_stmt (tree)
tree begin_if_stmt (void)
void finish_if_stmt_cond (tree, tree)
tree finish_then_clause (tree)
void begin_else_clause (tree)
void finish_else_clause (tree)
void finish_if_stmt (tree)
tree begin_while_stmt (void)
void finish_while_stmt_cond (tree, tree)
void finish_while_stmt (tree)
tree begin_do_stmt (void)
void finish_do_body (tree)
void finish_do_stmt (tree, tree)
tree finish_return_stmt (tree)
tree begin_for_stmt (void)
void finish_for_init_stmt (tree)
void finish_for_cond (tree, tree)
void finish_for_expr (tree, tree)
void finish_for_stmt (tree)
tree finish_break_stmt (void)
tree finish_continue_stmt (void)
tree begin_switch_stmt (void)
void finish_switch_cond (tree, tree)
void finish_switch_stmt (tree)
tree finish_case_label (tree, tree)
tree finish_goto_stmt (tree)
tree begin_try_block (void)
void finish_try_block (tree)
tree begin_eh_spec_block (void)
void finish_eh_spec_block (tree, tree)
void finish_handler_sequence (tree)
tree begin_function_try_block (tree *)
void finish_function_try_block (tree)
void finish_function_handler_sequence (tree, tree)
void finish_cleanup_try_block (tree)
tree begin_handler (void)
void finish_handler_parms (tree, tree)
void finish_handler (tree)
void finish_cleanup (tree, tree)
tree begin_compound_stmt (unsigned int)
void finish_compound_stmt (tree)
tree finish_asm_stmt (int, tree, tree, tree, tree)
tree finish_label_stmt (tree)
void finish_label_decl (tree)
tree finish_parenthesized_expr (tree)
tree finish_non_static_data_member (tree, tree, tree)
tree begin_stmt_expr (void)
tree finish_stmt_expr_expr (tree, tree)
tree finish_stmt_expr (tree, bool)
tree perform_koenig_lookup (tree, tree)
tree finish_call_expr (tree, tree, bool, bool)
tree finish_increment_expr (tree, enum tree_code)
tree finish_this_expr (void)
tree finish_pseudo_destructor_expr (tree, tree, tree)
tree finish_unary_op_expr (enum tree_code, tree)
tree finish_compound_literal (tree, VEC(constructor_elt, gc)*)
tree finish_fname (tree)
void finish_translation_unit (void)
tree finish_template_type_parm (tree, tree)
tree finish_template_template_parm (tree, tree)
tree begin_class_definition (tree, tree)
void finish_template_decl (tree)
tree finish_template_type (tree, tree, int)
tree finish_base_specifier (tree, tree, bool)
void finish_member_declaration (tree)
void qualified_name_lookup_error (tree, tree, tree)
void check_template_keyword (tree)
tree finish_id_expression (tree, tree, tree, cp_id_kind *, bool, bool, bool *, bool, bool, bool, bool, const char **)
tree finish_typeof (tree)
tree finish_offsetof (tree)
void finish_decl_cleanup (tree, tree)
void finish_eh_cleanup (tree)
void expand_body (tree)
void finish_mem_initializers (tree)
tree check_template_template_default_arg (tree)
void expand_or_defer_fn (tree)
void check_accessibility_of_qualified_id (tree, tree, tree)
tree finish_qualified_id_expr (tree, tree, bool, bool, bool, bool)
void simplify_aggr_init_expr (tree *)
void finalize_nrv (tree *, tree, tree)
void note_decl_for_pch (tree)
tree finish_omp_clauses (tree)
void finish_omp_threadprivate (tree)
tree begin_omp_structured_block (void)
tree finish_omp_structured_block (tree)
tree begin_omp_parallel (void)
tree finish_omp_parallel (tree, tree)
tree finish_omp_for (location_t, tree, tree, tree, tree, tree, tree)
void finish_omp_atomic (enum tree_code, tree, tree)
void finish_omp_barrier (void)
void finish_omp_flush (void)
enum omp_clause_default_kind cxx_omp_predetermined_sharing (tree)
tree cxx_omp_clause_default_ctor (tree, tree)
tree cxx_omp_clause_copy_ctor (tree, tree, tree)
tree cxx_omp_clause_assign_op (tree, tree, tree)
tree cxx_omp_clause_dtor (tree, tree)
bool cxx_omp_privatize_by_reference (tree)
tree baselink_for_fns (tree)
void lang_check_failed (const char *, int, const char *) ATTRIBUTE_NORETURN
tree stabilize_expr (tree, tree *)
void stabilize_call (tree, tree *)
bool stabilize_init (tree, tree *)
tree add_stmt_to_compound (tree, tree)
tree cxx_maybe_build_cleanup (tree)
void init_tree (void)
int pod_type_p (tree)
int zero_init_p (tree)
tree canonical_type_variant (tree)
tree copy_binfo (tree, tree, tree, tree *, int)
int member_p (tree)
cp_lvalue_kind real_lvalue_p (tree)
bool builtin_valid_in_constant_expr_p (tree)
tree build_min (enum tree_code, tree,...)
tree build_min_nt (enum tree_code,...)
tree build_min_non_dep (enum tree_code, tree,...)
tree build_cplus_new (tree, tree)
tree get_target_expr (tree)
tree build_cplus_array_type (tree, tree)
tree hash_tree_cons (tree, tree, tree)
tree hash_tree_chain (tree, tree)
tree build_qualified_name (tree, tree, tree, bool)
int is_overloaded_fn (tree)
tree get_first_fn (tree)
tree ovl_cons (tree, tree)
tree build_overload (tree, tree)
const char * cxx_printable_name (tree, int)
tree build_exception_variant (tree, tree)
tree bind_template_template_parm (tree, tree)
tree array_type_nelts_total (tree)
tree array_type_nelts_top (tree)
tree break_out_target_exprs (tree)
tree get_type_decl (tree)
tree decl_namespace_context (tree)
bool decl_anon_ns_mem_p (tree)
tree lvalue_type (tree)
tree error_type (tree)
int varargs_function_p (tree)
bool really_overloaded_fn (tree)
bool cp_tree_equal (tree, tree)
tree no_linkage_check (tree, bool)
void debug_binfo (tree)
tree build_dummy_object (tree)
tree maybe_dummy_object (tree, tree *)
int is_dummy_object (tree)
tree make_ptrmem_cst (tree, tree)
tree cp_build_type_attribute_variant (tree, tree)
tree cp_build_qualified_type_real (tree, int, tsubst_flags_t)
special_function_kind special_function_p (tree)
int count_trees (tree)
int char_type_p (tree)
void verify_stmt_tree (tree)
linkage_kind decl_linkage (tree)
tree cp_walk_subtrees (tree *, int *, walk_tree_fn, void *, struct pointer_set_t *)
int cp_cannot_inline_tree_fn (tree *)
tree cp_add_pending_fn_decls (void *, tree)
int cp_auto_var_in_fn_p (tree, tree)
tree fold_if_not_in_template (tree)
tree rvalue (tree)
tree convert_bitfield_to_declared_type (tree)
tree cp_save_expr (tree)
bool cast_valid_in_integral_constant_expression_p (tree)
int string_conv_p (tree, tree, int)
tree cp_truthvalue_conversion (tree)
tree condition_conversion (tree)
tree require_complete_type (tree)
tree complete_type (tree)
tree complete_type_or_else (tree, tree)
int type_unknown_p (tree)
bool comp_except_specs (tree, tree, bool)
bool comptypes (tree, tree, int)
bool compparms (tree, tree)
int comp_cv_qualification (tree, tree)
int comp_cv_qual_signature (tree, tree)
tree cxx_sizeof_or_alignof_expr (tree, enum tree_code)
tree cxx_sizeof_or_alignof_type (tree, enum tree_code, bool)
tree inline_conversion (tree)
tree is_bitfield_expr_with_lowered_type (tree)
tree unlowered_expr_type (tree)
tree decay_conversion (tree)
tree build_class_member_access_expr (tree, tree, tree, bool)
tree finish_class_member_access_expr (tree, tree, bool)
tree build_x_indirect_ref (tree, const char *)
tree build_indirect_ref (tree, const char *)
tree build_array_ref (tree, tree)
tree get_member_function_from_ptrfunc (tree *, tree)
tree build_x_binary_op (enum tree_code, tree, tree, bool *)
tree build_x_unary_op (enum tree_code, tree)
tree unary_complex_lvalue (enum tree_code, tree)
tree build_x_conditional_expr (tree, tree, tree)
tree build_x_compound_expr_from_list (tree, const char *)
tree build_x_compound_expr (tree, tree)
tree build_compound_expr (tree, tree)
tree build_static_cast (tree, tree)
tree build_reinterpret_cast (tree, tree)
tree build_const_cast (tree, tree)
tree build_c_cast (tree, tree)
tree build_x_modify_expr (tree, enum tree_code, tree)
tree build_modify_expr (tree, enum tree_code, tree)
tree convert_for_initialization (tree, tree, tree, int, const char *, tree, int)
int comp_ptr_ttypes (tree, tree)
bool comp_ptr_ttypes_const (tree, tree)
int ptr_reasonably_similar (tree, tree)
tree build_ptrmemfunc (tree, tree, int, bool)
int cp_type_quals (tree)
bool cp_type_readonly (tree)
bool cp_has_mutable_p (tree)
bool at_least_as_qualified_p (tree, tree)
void cp_apply_type_quals_to_decl (int, tree)
tree build_ptrmemfunc1 (tree, tree, tree)
void expand_ptrmemfunc_cst (tree, tree *, tree *)
tree type_after_usual_arithmetic_conversions (tree, tree)
tree composite_pointer_type (tree, tree, tree, tree, const char *)
tree merge_types (tree, tree)
tree check_return_expr (tree, bool *)
tree build_ptrmemfunc_access_expr (tree, tree)
tree build_address (tree)
tree build_nop (tree, tree)
tree non_reference (tree)
tree lookup_anon_field (tree, tree)
bool invalid_nonstatic_memfn_p (tree)
tree convert_member_func_to_ptr (tree, tree)
tree convert_ptrmem (tree, tree, bool, bool)
int lvalue_or_else (tree, enum lvalue_use)
int lvalue_p (tree)
void require_complete_eh_spec_types (tree, tree)
void cxx_incomplete_type_diagnostic (tree, tree, int)
void cxx_incomplete_type_error (tree, tree)
tree error_not_base_type (tree, tree)
tree binfo_or_else (tree, tree)
void readonly_error (tree, const char *, int)
void complete_type_check_abstract (tree)
int abstract_virtuals_error (tree, tree)
tree store_init_value (tree, tree)
tree digest_init (tree, tree)
tree build_scoped_ref (tree, tree, tree *)
tree build_x_arrow (tree)
tree build_m_component_ref (tree, tree)
tree build_functional_cast (tree, tree)
tree add_exception_specifier (tree, tree, int)
tree merge_exception_specifiers (tree, tree)
void init_mangle (void)
void mangle_decl (tree)
const char * mangle_type_string (tree)
tree mangle_typeinfo_for_type (tree)
tree mangle_typeinfo_string_for_type (tree)
tree mangle_vtbl_for_type (tree)
tree mangle_vtt_for_type (tree)
tree mangle_ctor_vtbl_for_type (tree, tree)
tree mangle_thunk (tree, int, tree, tree)
tree mangle_conv_op_name_for_type (tree)
tree mangle_guard_variable (tree)
tree mangle_ref_init_variable (tree)
bool cp_dump_tree (void *, tree)
HOST_WIDE_INT cxx_get_alias_set (tree)
bool cxx_warn_unused_global_decl (tree)
tree cp_expr_size (tree)
size_t cp_tree_size (enum tree_code)
bool cp_var_mod_type_p (tree, tree)
void cxx_initialize_diagnostics (struct diagnostic_context *)
int cxx_types_compatible_p (tree, tree)
void init_shadowed_var_for_decl (void)
tree cxx_staticp (tree)
int cp_gimplify_expr (tree *, tree *, tree *)
void cp_genericize (tree)
void cp_cpp_error (cpp_reader *, int, const char *, va_list *) ATTRIBUTE_GCC_CXXDIAG(3

Variables

bool statement_code_p [MAX_TREE_CODES]
 tree_pair_s
int function_depth
int current_class_depth
gc * local_classes
int at_eof
const char ** opname_tab
const char ** assignop_tab
 operator_name_info_t
cp_parameter_declaratorno_parameters
int processing_template_parmlist
gc * unemitted_tinfo_decls
 deferred_access_check
struct attribute_spec cxx_attribute_table []


Define Documentation

#define abi_node   cp_global_trees[CPTI_ABI]

Definition at line 569 of file cp-tree.h.

#define abort_fndecl   cp_global_trees[CPTI_ABORT_FNDECL]

Definition at line 572 of file cp-tree.h.

#define access_default_node   null_node

Definition at line 649 of file cp-tree.h.

#define AGGR_INIT_VIA_CTOR_P ( NODE   )     TREE_LANG_FLAG_0 (AGGR_INIT_EXPR_CHECK (NODE))

Definition at line 2333 of file cp-tree.h.

#define ANON_AGGR_TYPE_P ( NODE   )     (CLASS_TYPE_P (NODE) && LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr)

Definition at line 2687 of file cp-tree.h.

#define ANON_AGGRNAME_FORMAT   "$_%d"

Definition at line 3341 of file cp-tree.h.

#define ANON_AGGRNAME_P ( ID_NODE   ) 

Value:

(IDENTIFIER_POINTER (ID_NODE)[0] == JOINER \
          && IDENTIFIER_POINTER (ID_NODE)[1] == '_')

Definition at line 3405 of file cp-tree.h.

#define ANON_UNION_TYPE_P ( NODE   )     (TREE_CODE (NODE) == UNION_TYPE && ANON_AGGR_TYPE_P (NODE))

Definition at line 2693 of file cp-tree.h.

#define ansi_assopname ( CODE   )     (assignment_operator_name_info[(int) (CODE)].identifier)

Definition at line 838 of file cp-tree.h.

#define ansi_opname ( CODE   )     (operator_name_info[(int) (CODE)].identifier)

Definition at line 836 of file cp-tree.h.

#define ARITHMETIC_TYPE_P ( TYPE   )     (CP_INTEGRAL_TYPE_P (TYPE) || TREE_CODE (TYPE) == REAL_TYPE)

Definition at line 2443 of file cp-tree.h.

#define atexit_node   cp_global_trees[CPTI_ATEXIT]

Definition at line 626 of file cp-tree.h.

#define ATTRIBUTE_GCC_CXXDIAG ( m,
n   )     ATTRIBUTE_NONNULL(m)

Definition at line 4600 of file cp-tree.h.

#define AUTO_TEMP_NAME   "_$tmp_"

Definition at line 3337 of file cp-tree.h.

#define base_ctor_identifier   cp_global_trees[CPTI_BASE_CTOR_IDENTIFIER]

Definition at line 585 of file cp-tree.h.

#define base_dtor_identifier   cp_global_trees[CPTI_BASE_DTOR_IDENTIFIER]

Definition at line 594 of file cp-tree.h.

#define BASELINK_ACCESS_BINFO ( NODE   )     (((struct tree_baselink*) BASELINK_CHECK (NODE))->access_binfo)

Definition at line 342 of file cp-tree.h.

#define BASELINK_BINFO ( NODE   )     (((struct tree_baselink*) BASELINK_CHECK (NODE))->binfo)

Definition at line 333 of file cp-tree.h.

#define BASELINK_FUNCTIONS ( NODE   )     (((struct tree_baselink*) BASELINK_CHECK (NODE))->functions)

Definition at line 337 of file cp-tree.h.

#define BASELINK_OPTYPE ( NODE   )     (TREE_CHAIN (BASELINK_CHECK (NODE)))

Definition at line 349 of file cp-tree.h.

#define BASELINK_P ( NODE   )     (TREE_CODE (NODE) == BASELINK)

Definition at line 330 of file cp-tree.h.

#define BASELINK_QUALIFIED_P ( NODE   )     TREE_LANG_FLAG_0 (BASELINK_CHECK (NODE))

Definition at line 352 of file cp-tree.h.

Referenced by finish_class_member_access_expr(), and tsubst_copy_and_build().

#define BIND_EXPR_BODY_BLOCK ( NODE   )     TREE_LANG_FLAG_3 (BIND_EXPR_CHECK (NODE))

Definition at line 265 of file cp-tree.h.

#define BIND_EXPR_TRY_BLOCK ( NODE   )     TREE_LANG_FLAG_0 (BIND_EXPR_CHECK (NODE))

Definition at line 261 of file cp-tree.h.

#define BINFO_DEPENDENT_BASE_P ( NODE   )     BINFO_FLAG_3 (NODE)

Definition at line 1433 of file cp-tree.h.

#define BINFO_LOST_PRIMARY_P ( NODE   )     BINFO_FLAG_4 (NODE)

Definition at line 1438 of file cp-tree.h.

#define BINFO_NEW_VTABLE_MARKED ( B   )     (BINFO_FLAG_2 (B))

Definition at line 1413 of file cp-tree.h.

#define BINFO_PRIMARY_P ( NODE   )     BINFO_FLAG_5(NODE)

Definition at line 1441 of file cp-tree.h.

#define BINFO_VTABLE_PATH_MARKED ( NODE   )     BINFO_FLAG_1 (NODE)

Definition at line 1409 of file cp-tree.h.

#define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK ( NODE   )     TREE_CHECK(NODE,BOUND_TEMPLATE_TEMPLATE_PARM)

Definition at line 179 of file cp-tree.h.

#define BRACE_ENCLOSED_INITIALIZER_P ( NODE   )     (TREE_CODE (NODE) == CONSTRUCTOR && !TREE_TYPE (NODE))

Definition at line 2492 of file cp-tree.h.

 
#define building_stmt_tree (  )     (cur_stmt_list != NULL_TREE)

Definition at line 300 of file cp-tree.h.

#define BV_DELTA ( NODE   )     (TREE_PURPOSE (NODE))

Definition at line 1470 of file cp-tree.h.

#define BV_FN ( NODE   )     (TREE_VALUE (NODE))

Definition at line 1478 of file cp-tree.h.

#define BV_VCALL_INDEX ( NODE   )     (TREE_TYPE (NODE))

Definition at line 1475 of file cp-tree.h.

#define C_IS_RESERVED_WORD ( ID   )     TREE_LANG_FLAG_5 (ID)

Definition at line 216 of file cp-tree.h.

#define C_TYPE_FIELDS_READONLY ( TYPE   )     (LANG_TYPE_CLASS_CHECK (TYPE)->fields_readonly)

Definition at line 435 of file cp-tree.h.

#define C_TYPEDEF_EXPLICITLY_SIGNED ( EXP   )     DECL_LANG_FLAG_1 (EXP)

Definition at line 2406 of file cp-tree.h.

#define call_unexpected_node   cp_global_trees[CPTI_CALL_UNEXPECTED]

Definition at line 623 of file cp-tree.h.

#define CAN_HAVE_FULL_LANG_DECL_P ( NODE   ) 

Value:

(!(TREE_CODE (NODE) == FIELD_DECL     \
     || TREE_CODE (NODE) == VAR_DECL      \
     || TREE_CODE (NODE) == CONST_DECL      \
     || TREE_CODE (NODE) == USING_DECL))

Definition at line 1502 of file cp-tree.h.

#define cdtor_label   cp_function_chain->x_cdtor_label

Definition at line 775 of file cp-tree.h.

#define class_type_node   cp_global_trees[CPTI_CLASS_TYPE]

Definition at line 564 of file cp-tree.h.

#define CLASS_TYPE_P ( T   )     (IS_AGGR_TYPE_CODE (TREE_CODE (T)) && TYPE_LANG_FLAG_5 (T))

Definition at line 897 of file cp-tree.h.

#define CLASSTYPE_ALIGN ( NODE   )     TYPE_ALIGN (CLASSTYPE_AS_BASE (NODE))

Definition at line 1301 of file cp-tree.h.

#define CLASSTYPE_ALIGN_UNIT ( NODE   )     (CLASSTYPE_ALIGN (NODE) / BITS_PER_UNIT)

Definition at line 1305 of file cp-tree.h.

#define CLASSTYPE_AS_BASE ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->as_base)

Definition at line 1288 of file cp-tree.h.

#define CLASSTYPE_BEFRIENDING_CLASSES ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->befriending_classes)

Definition at line 1356 of file cp-tree.h.

#define CLASSTYPE_CONSTRUCTOR_SLOT   0

Definition at line 1239 of file cp-tree.h.

#define CLASSTYPE_CONSTRUCTORS ( NODE   )     (VEC_index (tree, CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_CONSTRUCTOR_SLOT))

Definition at line 1250 of file cp-tree.h.

#define CLASSTYPE_CONTAINS_EMPTY_CLASS_P ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->contains_empty_class_p)

Definition at line 1346 of file cp-tree.h.

#define CLASSTYPE_DEBUG_REQUESTED ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->debug_requested)

Definition at line 1403 of file cp-tree.h.

#define CLASSTYPE_DECL_LIST ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->decl_list)

Definition at line 1236 of file cp-tree.h.

#define CLASSTYPE_DECLARED_CLASS ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->declared_class)

Definition at line 1360 of file cp-tree.h.

#define CLASSTYPE_DESTRUCTOR_SLOT   1

Definition at line 1242 of file cp-tree.h.

#define CLASSTYPE_DESTRUCTORS ( NODE   ) 

#define CLASSTYPE_DIAMOND_SHAPED_P ( NODE   )     (LANG_TYPE_CLASS_CHECK(NODE)->diamond_shaped)

Definition at line 1205 of file cp-tree.h.

#define CLASSTYPE_EMPTY_P ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->empty_p)

Definition at line 1337 of file cp-tree.h.

#define CLASSTYPE_EXPLICIT_INSTANTIATION ( NODE   )     (CLASSTYPE_USE_TEMPLATE (NODE) == 3)

Definition at line 2945 of file cp-tree.h.

#define CLASSTYPE_FIRST_CONVERSION_SLOT   2

Definition at line 1246 of file cp-tree.h.

#define CLASSTYPE_FRIEND_CLASSES ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->friend_classes)

Definition at line 1352 of file cp-tree.h.

#define CLASSTYPE_HAS_MUTABLE ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->has_mutable)

Definition at line 1324 of file cp-tree.h.

#define CLASSTYPE_HAS_PRIMARY_BASE_P ( NODE   )     (CLASSTYPE_PRIMARY_BINFO (NODE) != NULL_TREE)

Definition at line 1270 of file cp-tree.h.

#define CLASSTYPE_IMPLICIT_INSTANTIATION ( NODE   )     (CLASSTYPE_USE_TEMPLATE (NODE) == 1)

Definition at line 2938 of file cp-tree.h.

#define CLASSTYPE_INLINE_FRIENDS ( NODE   )     CLASSTYPE_PURE_VIRTUALS (NODE)

Definition at line 1137 of file cp-tree.h.

#define CLASSTYPE_INTERFACE_KNOWN ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown == 0)

Definition at line 1389 of file cp-tree.h.

#define CLASSTYPE_INTERFACE_ONLY ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->interface_only)

Definition at line 1381 of file cp-tree.h.

#define CLASSTYPE_INTERFACE_UNKNOWN ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown)

Definition at line 1392 of file cp-tree.h.

#define CLASSTYPE_IS_TEMPLATE ( NODE   ) 

#define CLASSTYPE_KEY_METHOD ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->key_method)

Definition at line 1216 of file cp-tree.h.

#define CLASSTYPE_LAZY_ASSIGNMENT_OP ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->lazy_assignment_op)

Definition at line 1166 of file cp-tree.h.

#define CLASSTYPE_LAZY_COPY_CTOR ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_ctor)

Definition at line 1161 of file cp-tree.h.

#define CLASSTYPE_LAZY_DEFAULT_CTOR ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->lazy_default_ctor)

Definition at line 1156 of file cp-tree.h.

#define CLASSTYPE_LAZY_DESTRUCTOR ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->lazy_destructor)

Definition at line 1171 of file cp-tree.h.

#define CLASSTYPE_METHOD_VEC ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->methods)

Definition at line 1230 of file cp-tree.h.

#define CLASSTYPE_NEARLY_EMPTY_P ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->nearly_empty_p)

Definition at line 1342 of file cp-tree.h.

#define CLASSTYPE_NESTED_UTDS ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->nested_udts)

Definition at line 1265 of file cp-tree.h.

#define CLASSTYPE_NON_AGGREGATE ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate)

Definition at line 2507 of file cp-tree.h.

#define CLASSTYPE_NON_POD_P ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_class)

Definition at line 1328 of file cp-tree.h.

#define CLASSTYPE_NON_ZERO_INIT_P ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->non_zero_init)

Definition at line 1333 of file cp-tree.h.

#define CLASSTYPE_PRIMARY_BINFO ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->primary_base)

Definition at line 1276 of file cp-tree.h.

#define CLASSTYPE_PRIMARY_TEMPLATE_TYPE ( TYPE   ) 

#define CLASSTYPE_PURE_VIRTUALS ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->pure_virtuals)

Definition at line 1316 of file cp-tree.h.

#define CLASSTYPE_READONLY_FIELDS_NEED_INIT ( NODE   ) 

Value:

(TYPE_LANG_SPECIFIC (NODE)        \
   ? LANG_TYPE_CLASS_CHECK (NODE)->h.const_needs_init : 0)

Definition at line 1365 of file cp-tree.h.

#define CLASSTYPE_REF_FIELDS_NEED_INIT ( NODE   ) 

Value:

(TYPE_LANG_SPECIFIC (NODE)        \
   ? LANG_TYPE_CLASS_CHECK (NODE)->h.ref_needs_init : 0)

Definition at line 1373 of file cp-tree.h.

#define CLASSTYPE_REPEATED_BASE_P ( NODE   )     (LANG_TYPE_CLASS_CHECK(NODE)->repeated_base)

Definition at line 1210 of file cp-tree.h.

#define CLASSTYPE_SIZE ( NODE   )     TYPE_SIZE (CLASSTYPE_AS_BASE (NODE))

Definition at line 1299 of file cp-tree.h.

#define CLASSTYPE_SIZE_UNIT ( NODE   )     TYPE_SIZE_UNIT (CLASSTYPE_AS_BASE (NODE))

Definition at line 1300 of file cp-tree.h.

#define CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P ( NODE   ) 

Value:

Definition at line 2917 of file cp-tree.h.

Referenced by unify().

#define CLASSTYPE_TEMPLATE_INFO ( NODE   )     (LANG_TYPE_CLASS_CHECK (RECORD_OR_UNION_CHECK (NODE))->template_info)

Definition at line 2142 of file cp-tree.h.

#define CLASSTYPE_TEMPLATE_INSTANTIATION ( NODE   )     (CLASSTYPE_USE_TEMPLATE (NODE) & 1)

Definition at line 2923 of file cp-tree.h.

#define CLASSTYPE_TEMPLATE_SPECIALIZATION ( NODE   )     (CLASSTYPE_USE_TEMPLATE (NODE) == 2)

Definition at line 2931 of file cp-tree.h.

#define CLASSTYPE_TI_ARGS ( NODE   )     TI_ARGS (CLASSTYPE_TEMPLATE_INFO (NODE))

Definition at line 2269 of file cp-tree.h.

#define CLASSTYPE_TI_TEMPLATE ( NODE   )     TI_TEMPLATE (CLASSTYPE_TEMPLATE_INFO (NODE))

Definition at line 2268 of file cp-tree.h.

#define CLASSTYPE_TYPEINFO_VAR ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->typeinfo_var)

Definition at line 1462 of file cp-tree.h.

#define CLASSTYPE_USE_TEMPLATE ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->use_template)

Definition at line 2913 of file cp-tree.h.

#define CLASSTYPE_USER_ALIGN ( NODE   )     TYPE_USER_ALIGN (CLASSTYPE_AS_BASE (NODE))

Definition at line 1302 of file cp-tree.h.

#define CLASSTYPE_VBASECLASSES ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->vbases)

Definition at line 1283 of file cp-tree.h.

#define CLASSTYPE_VCALL_INDICES ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->vcall_indices)

Definition at line 1451 of file cp-tree.h.

#define CLASSTYPE_VISIBILITY ( TYPE   )     DECL_VISIBILITY (TYPE_NAME (TYPE))

Definition at line 969 of file cp-tree.h.

#define CLASSTYPE_VISIBILITY_SPECIFIED ( TYPE   )     DECL_VISIBILITY_SPECIFIED (TYPE_NAME (TYPE))

Definition at line 971 of file cp-tree.h.

#define CLASSTYPE_VTABLES ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->vtables)

Definition at line 1456 of file cp-tree.h.

#define CLEANUP_BODY ( NODE   )     TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 0)

Definition at line 3093 of file cp-tree.h.

#define CLEANUP_DECL ( NODE   )     TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 2)

Definition at line 3095 of file cp-tree.h.

#define CLEANUP_EXPR ( NODE   )     TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 1)

Definition at line 3094 of file cp-tree.h.

#define CLEANUP_P ( NODE   )     TREE_LANG_FLAG_0 (TRY_BLOCK_CHECK (NODE))

Definition at line 259 of file cp-tree.h.

#define cleanup_type   cp_global_trees[CPTI_CLEANUP_TYPE]

Definition at line 635 of file cp-tree.h.

#define COMPARE_BASE   1

Definition at line 3517 of file cp-tree.h.

#define COMPARE_DERIVED   2

Definition at line 3519 of file cp-tree.h.

#define COMPARE_REDECLARATION   4

Definition at line 3521 of file cp-tree.h.

#define COMPARE_STRICT   0

Definition at line 3515 of file cp-tree.h.

#define complete_ctor_identifier   cp_global_trees[CPTI_COMPLETE_CTOR_IDENTIFIER]

Definition at line 583 of file cp-tree.h.

#define complete_dtor_identifier   cp_global_trees[CPTI_COMPLETE_DTOR_IDENTIFIER]

Definition at line 591 of file cp-tree.h.

#define COMPOUND_EXPR_OVERLOADED ( NODE   )     TREE_LANG_FLAG_0 (COMPOUND_EXPR_CHECK (NODE))

Definition at line 2318 of file cp-tree.h.

#define COMPOUND_LITERAL_P ( NODE   )     (TREE_CODE (NODE) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (NODE))

#define const_type_info_type_node   cp_global_trees[CPTI_CONST_TYPE_INFO_TYPE]

Definition at line 570 of file cp-tree.h.

#define CONV_C_CAST

#define CONV_CONST   4

Definition at line 3491 of file cp-tree.h.

#define CONV_FORCE_TEMP   64

Definition at line 3495 of file cp-tree.h.

#define CONV_IMPLICIT   1

Definition at line 3489 of file cp-tree.h.

#define CONV_OLD_CONVERT

Value:

Definition at line 3496 of file cp-tree.h.

#define CONV_PRIVATE   16

Definition at line 3493 of file cp-tree.h.

#define CONV_REINTERPRET   8

Definition at line 3492 of file cp-tree.h.

#define CONV_STATIC   2

Definition at line 3490 of file cp-tree.h.

#define CP_AGGREGATE_TYPE_P ( TYPE   ) 

Value:

(TREE_CODE (TYPE) == VECTOR_TYPE        \
   ||TREE_CODE (TYPE) == ARRAY_TYPE       \
   || (CLASS_TYPE_P (TYPE) && !CLASSTYPE_NON_AGGREGATE (TYPE)))

Definition at line 2466 of file cp-tree.h.

#define cp_build_binary_op ( code,
arg1,
arg2   )     build_binary_op(code, arg1, arg2, 1)

Definition at line 4520 of file cp-tree.h.

#define cp_build_qualified_type ( TYPE,
QUALS   )     cp_build_qualified_type_real ((TYPE), (QUALS), tf_warning_or_error)

Definition at line 4444 of file cp-tree.h.

#define CP_DECL_CONTEXT ( NODE   )     (DECL_CONTEXT (NODE) ? DECL_CONTEXT (NODE) : global_namespace)

Definition at line 1989 of file cp-tree.h.

#define CP_DECL_THREADPRIVATE_P ( DECL   )     (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (DECL))->decl_flags.threadprivate_p)

#define cp_function_chain   (cfun->language)

Definition at line 768 of file cp-tree.h.

#define CP_INTEGRAL_TYPE_P ( TYPE   ) 

Value:

(TREE_CODE (TYPE) == BOOLEAN_TYPE   \
   || TREE_CODE (TYPE) == INTEGER_TYPE)

Definition at line 2430 of file cp-tree.h.

#define CP_OMP_CLAUSE_INFO ( NODE   ) 

#define CP_TYPE_CONST_NON_VOLATILE_P ( NODE   ) 

Value:

Definition at line 934 of file cp-tree.h.

#define CP_TYPE_CONST_P ( NODE   )     ((cp_type_quals (NODE) & TYPE_QUAL_CONST) != 0)

Definition at line 919 of file cp-tree.h.

#define CP_TYPE_CONTEXT ( NODE   )     (TYPE_CONTEXT (NODE) ? TYPE_CONTEXT (NODE) : global_namespace)

Definition at line 1991 of file cp-tree.h.

#define CP_TYPE_RESTRICT_P ( NODE   )     ((cp_type_quals (NODE) & TYPE_QUAL_RESTRICT) != 0)

Definition at line 927 of file cp-tree.h.

#define CP_TYPE_VOLATILE_P ( NODE   )     ((cp_type_quals (NODE) & TYPE_QUAL_VOLATILE) != 0)

Definition at line 923 of file cp-tree.h.

#define ctor_identifier   cp_global_trees[CPTI_CTOR_IDENTIFIER]

Definition at line 581 of file cp-tree.h.

#define current_access_specifier   scope_chain->access_specifier

Definition at line 703 of file cp-tree.h.

#define current_aggr   cp_global_trees[CPTI_AGGR_TAG]

Definition at line 574 of file cp-tree.h.

#define current_class_name   scope_chain->class_name

Definition at line 692 of file cp-tree.h.

#define current_class_ptr   (cfun ? cp_function_chain->x_current_class_ptr : NULL_TREE)

Definition at line 781 of file cp-tree.h.

#define current_class_ref   (cfun ? cp_function_chain->x_current_class_ref : NULL_TREE)

Definition at line 783 of file cp-tree.h.

#define current_class_type   scope_chain->class_type

Definition at line 696 of file cp-tree.h.

#define current_eh_spec_block   cp_function_chain->x_eh_spec_block

Definition at line 789 of file cp-tree.h.

#define current_function_return_value   (cp_function_chain->x_return_value)

Definition at line 825 of file cp-tree.h.

#define current_function_returns_abnormally   cp_function_chain->returns_abnormally

Definition at line 814 of file cp-tree.h.

#define current_function_returns_null   cp_function_chain->returns_null

Definition at line 809 of file cp-tree.h.

#define current_function_returns_value   cp_function_chain->returns_value

Definition at line 804 of file cp-tree.h.

#define current_in_charge_parm   cp_function_chain->x_in_charge_parm

Definition at line 794 of file cp-tree.h.

#define current_lang_base   scope_chain->lang_base

Definition at line 707 of file cp-tree.h.

#define current_lang_name   scope_chain->lang_name

Definition at line 708 of file cp-tree.h.

#define current_namespace   scope_chain->old_namespace

Definition at line 684 of file cp-tree.h.

#define current_template_parms   scope_chain->template_parms

Definition at line 713 of file cp-tree.h.

#define current_vtt_parm   cp_function_chain->x_vtt_parm

Definition at line 799 of file cp-tree.h.

#define cxx_incomplete_type_error ( V,
T   )     (cxx_incomplete_type_diagnostic ((V), (T), 0))

Definition at line 4539 of file cp-tree.h.

#define cxx_sizeof ( T   )     cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, true)

Definition at line 4522 of file cp-tree.h.

#define cxx_sizeof_nowarn ( T   )     cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, false)

Definition at line 4477 of file cp-tree.h.

#define DECL_ACCESS ( NODE   )     (LANG_DECL_U2_CHECK (NODE, 0)->access)

Definition at line 2730 of file cp-tree.h.

#define DECL_ANTICIPATED ( NODE   )     (DECL_LANG_SPECIFIC (DECL_COMMON_CHECK (NODE))->decl_flags.anticipated_p)

Definition at line 2391 of file cp-tree.h.

#define DECL_ASSIGNMENT_OPERATOR_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.assignment_operator_p)

Definition at line 1797 of file cp-tree.h.

#define DECL_BASE_CONSTRUCTOR_P ( NODE   ) 

Value:

Definition at line 1671 of file cp-tree.h.

#define DECL_BASE_DESTRUCTOR_P ( NODE   ) 

Value:

Definition at line 1703 of file cp-tree.h.

#define DECL_BEFRIENDING_CLASSES ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->u.f.befriending_classes)

Definition at line 1863 of file cp-tree.h.

#define DECL_CLASS_CONTEXT ( NODE   )     (DECL_CLASS_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : NULL_TREE)

Definition at line 1970 of file cp-tree.h.

#define DECL_CLASS_SCOPE_P ( NODE   )     (DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE)))

Definition at line 2004 of file cp-tree.h.

#define DECL_CLASS_TEMPLATE_P ( NODE   ) 

Value:

Definition at line 2847 of file cp-tree.h.

#define DECL_CLONED_FUNCTION ( NODE   )     (DECL_LANG_SPECIFIC (NON_THUNK_FUNCTION_CHECK(NODE))->u.f.u5.cloned_function)

Definition at line 1724 of file cp-tree.h.

#define DECL_CLONED_FUNCTION_P ( NODE   ) 

Value:

((TREE_CODE (NODE) == FUNCTION_DECL     \
    || TREE_CODE (NODE) == TEMPLATE_DECL)   \
   && DECL_LANG_SPECIFIC (NODE)       \
   && !DECL_LANG_SPECIFIC (NODE)->decl_flags.thunk_p  \
   && DECL_CLONED_FUNCTION (NODE) != NULL_TREE)

Definition at line 1715 of file cp-tree.h.

#define DECL_COMPLETE_CONSTRUCTOR_P ( NODE   ) 

Value:

Definition at line 1665 of file cp-tree.h.

#define DECL_COMPLETE_DESTRUCTOR_P ( NODE   ) 

Value:

Definition at line 1697 of file cp-tree.h.

#define DECL_CONST_MEMFUNC_P ( NODE   ) 

#define DECL_CONSTRUCTION_VTABLE_P ( NODE   )     TREE_LANG_FLAG_6 (VAR_DECL_CHECK (NODE))

Definition at line 2029 of file cp-tree.h.

#define DECL_CONSTRUCTOR_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.constructor_attr)

Definition at line 1660 of file cp-tree.h.

#define DECL_CONV_FN_P ( NODE   )     (DECL_NAME (NODE) && IDENTIFIER_TYPENAME_P (DECL_NAME (NODE)))

Definition at line 1767 of file cp-tree.h.

#define DECL_CONV_FN_TYPE ( FN   )     (DECL_CONV_FN_P (FN) ? TREE_TYPE (DECL_NAME (FN)) : NULL_TREE)

Definition at line 1772 of file cp-tree.h.

#define DECL_COPY_CONSTRUCTOR_P ( NODE   )     (DECL_CONSTRUCTOR_P (NODE) && copy_fn_p (NODE) > 0)

Definition at line 1682 of file cp-tree.h.

#define DECL_DEAD_FOR_LOCAL ( NODE   )     DECL_LANG_FLAG_7 (VAR_DECL_CHECK (NODE))

Definition at line 2376 of file cp-tree.h.

#define DECL_DECLARES_TYPE_P ( NODE   )     (TREE_CODE (NODE) == TYPE_DECL || DECL_CLASS_TEMPLATE_P (NODE))

Definition at line 2854 of file cp-tree.h.

#define DECL_DEFERRED_FN ( DECL   )     (DECL_LANG_SPECIFIC (DECL)->decl_flags.deferred)

Definition at line 2109 of file cp-tree.h.

#define DECL_DELETING_DESTRUCTOR_P ( NODE   ) 

Value:

Definition at line 1709 of file cp-tree.h.

#define DECL_DEPENDENT_P ( NODE   )     DECL_LANG_FLAG_0 (USING_DECL_CHECK (NODE))

#define DECL_DESTRUCTOR_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.destructor_attr)

Definition at line 1686 of file cp-tree.h.

#define DECL_DISCRIMINATOR ( NODE   )     (LANG_DECL_U2_CHECK (NODE, 1)->discriminator)

Definition at line 1753 of file cp-tree.h.

#define DECL_DISCRIMINATOR_P ( NODE   ) 

Value:

(TREE_CODE (NODE) == VAR_DECL   \
   && DECL_FUNCTION_SCOPE_P (NODE))

Definition at line 1748 of file cp-tree.h.

#define DECL_ERROR_REPORTED ( NODE   )     DECL_LANG_FLAG_0 (VAR_DECL_CHECK (NODE))

Definition at line 2380 of file cp-tree.h.

#define DECL_EXPLICIT_INSTANTIATION ( NODE   )     (DECL_USE_TEMPLATE (NODE) == 3)

Definition at line 2943 of file cp-tree.h.

#define DECL_EXTERN_C_FUNCTION_P ( NODE   )     (DECL_NON_THUNK_FUNCTION_P (NODE) && DECL_EXTERN_C_P (NODE))

Definition at line 1955 of file cp-tree.h.

#define DECL_EXTERN_C_P ( NODE   )     (DECL_LANGUAGE (NODE) == lang_c)

Definition at line 1951 of file cp-tree.h.

#define DECL_EXTERNAL_LINKAGE_P ( DECL   )     (decl_linkage (DECL) == lk_external)

Definition at line 2412 of file cp-tree.h.

#define DECL_FIELD_IS_BASE ( NODE   )     DECL_LANG_FLAG_6 (FIELD_DECL_CHECK (NODE))

Definition at line 2681 of file cp-tree.h.

#define DECL_FRIEND_CONTEXT ( NODE   ) 

Value:

Definition at line 1979 of file cp-tree.h.

#define DECL_FRIEND_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.friend_attr)

Definition at line 1860 of file cp-tree.h.

#define DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION ( DECL   )     (DECL_TEMPLATE_INFO (DECL) && !DECL_USE_TEMPLATE (DECL))

Definition at line 2957 of file cp-tree.h.

#define DECL_FRIENDLIST ( NODE   )     (DECL_INITIAL (NODE))

Definition at line 2720 of file cp-tree.h.

#define DECL_FUNCTION_MEMBER_P ( NODE   )     (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) || DECL_STATIC_FUNCTION_P (NODE))

Definition at line 1878 of file cp-tree.h.

#define DECL_FUNCTION_SCOPE_P ( NODE   ) 

Value:

(DECL_CONTEXT (NODE) \
   && TREE_CODE (DECL_CONTEXT (NODE)) == FUNCTION_DECL)

Definition at line 2011 of file cp-tree.h.

#define DECL_FUNCTION_TEMPLATE_P ( NODE   ) 

Value:

(TREE_CODE (NODE) == TEMPLATE_DECL \
   && !DECL_UNBOUND_CLASS_TEMPLATE_P (NODE) \
   && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == FUNCTION_DECL)

Definition at line 2841 of file cp-tree.h.

#define DECL_GLOBAL_CTOR_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.global_ctor_p)

Definition at line 2733 of file cp-tree.h.

#define DECL_GLOBAL_DTOR_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.global_dtor_p)

Definition at line 2737 of file cp-tree.h.

#define DECL_HAS_IN_CHARGE_PARM_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.has_in_charge_parm_p)

Definition at line 1803 of file cp-tree.h.

#define DECL_HAS_SHADOWED_FOR_VAR_P ( NODE   )     (VAR_DECL_CHECK (NODE)->decl_with_vis.shadowed_for_var_p)

Definition at line 2081 of file cp-tree.h.

Referenced by check_for_out_of_scope_variable(), and poplevel().

#define DECL_HAS_VTT_PARM_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.has_vtt_parm_p)

Definition at line 1756 of file cp-tree.h.

#define DECL_HIDDEN_FRIEND_P ( NODE   )     (DECL_LANG_SPECIFIC (DECL_COMMON_CHECK (NODE))->decl_flags.hidden_friend_p)

#define DECL_IMPLICIT_INSTANTIATION ( NODE   )     (DECL_USE_TEMPLATE (NODE) == 1)

Definition at line 2936 of file cp-tree.h.

#define DECL_IMPLICIT_TYPEDEF_P ( NODE   )     (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_2 (NODE))

Definition at line 2864 of file cp-tree.h.

#define DECL_IN_AGGR_P ( NODE   )     (DECL_LANG_FLAG_3 (NODE))

Definition at line 1817 of file cp-tree.h.

#define DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P ( NODE   )     (TREE_LANG_FLAG_2 (VAR_DECL_CHECK (NODE)))

Definition at line 1832 of file cp-tree.h.

#define DECL_INITIALIZED_IN_CLASS_P ( DECL   )     (DECL_LANG_SPECIFIC (DECL)->decl_flags.initialized_in_class)

Definition at line 1855 of file cp-tree.h.

#define DECL_INITIALIZED_P ( NODE   )     (TREE_LANG_FLAG_1 (VAR_DECL_CHECK (NODE)))

Definition at line 1823 of file cp-tree.h.

#define DECL_INNERMOST_TEMPLATE_PARMS ( NODE   )     INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (NODE))

Definition at line 2754 of file cp-tree.h.

#define DECL_INTEGRAL_CONSTANT_VAR_P ( NODE   ) 

#define DECL_INTERFACE_KNOWN ( NODE   )     DECL_LANG_FLAG_5 (NODE)

Definition at line 2973 of file cp-tree.h.

#define DECL_INVALID_OVERRIDER_P ( NODE   )     (DECL_LANG_FLAG_4 (NODE))

Definition at line 1919 of file cp-tree.h.

#define DECL_IS_BUILTIN_CONSTANT_P ( NODE   ) 

Value:

(TREE_CODE (NODE) == FUNCTION_DECL      \
  && DECL_BUILT_IN_CLASS (NODE) == BUILT_IN_NORMAL  \
  && DECL_FUNCTION_CODE (NODE) == BUILT_IN_CONSTANT_P)

Definition at line 1807 of file cp-tree.h.

#define DECL_LANGUAGE ( NODE   ) 

Value:

(DECL_LANG_SPECIFIC (NODE)        \
   ? DECL_LANG_SPECIFIC (NODE)->decl_flags.language \
   : (TREE_CODE (NODE) == FUNCTION_DECL     \
      ? lang_c : lang_cplusplus))

Definition at line 1649 of file cp-tree.h.

#define DECL_LOCAL_FUNCTION_P ( NODE   )     DECL_LANG_FLAG_0 (FUNCTION_DECL_CHECK (NODE))

Definition at line 2384 of file cp-tree.h.

#define DECL_MAIN_P ( NODE   ) 

Value:

Definition at line 304 of file cp-tree.h.

#define DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P ( NODE   )     (DECL_CONSTRUCTOR_P (NODE) && !DECL_CLONED_FUNCTION_P (NODE))

Definition at line 1678 of file cp-tree.h.

#define DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P ( NODE   )     (DECL_DESTRUCTOR_P (NODE) && !DECL_CLONED_FUNCTION_P (NODE))

Definition at line 1692 of file cp-tree.h.

#define DECL_MEMBER_TEMPLATE_P ( NODE   )     (DECL_LANG_FLAG_1 (TEMPLATE_DECL_CHECK (NODE)))

Definition at line 2292 of file cp-tree.h.

#define DECL_MUTABLE_P ( NODE   )     (DECL_LANG_FLAG_0 (NODE))

Definition at line 1903 of file cp-tree.h.

#define DECL_NAMESPACE_ALIAS ( NODE   )     DECL_ABSTRACT_ORIGIN (NAMESPACE_DECL_CHECK (NODE))

Definition at line 2052 of file cp-tree.h.

#define DECL_NAMESPACE_ASSOCIATIONS ( NODE   )     (NAMESPACE_DECL_CHECK (NODE)->decl_non_common.saved_tree)

Definition at line 2047 of file cp-tree.h.

#define decl_namespace_list   scope_chain->decl_ns_list

Definition at line 688 of file cp-tree.h.

#define DECL_NAMESPACE_SCOPE_P ( NODE   ) 

Value:

(!DECL_TEMPLATE_PARM_P (NODE)         \
   && TREE_CODE (CP_DECL_CONTEXT (NODE)) == NAMESPACE_DECL)

Definition at line 1996 of file cp-tree.h.

#define DECL_NAMESPACE_STD_P ( NODE   ) 

Value:

(TREE_CODE (NODE) == NAMESPACE_DECL     \
   && CP_DECL_CONTEXT (NODE) == global_namespace  \
   && DECL_NAME (NODE) == std_identifier)

Definition at line 2058 of file cp-tree.h.

#define DECL_NAMESPACE_USERS ( NODE   )     DECL_INITIAL (NAMESPACE_DECL_CHECK (NODE))

Definition at line 2043 of file cp-tree.h.

#define DECL_NAMESPACE_USING ( NODE   )     DECL_VINDEX (NAMESPACE_DECL_CHECK (NODE))

Definition at line 2039 of file cp-tree.h.

#define DECL_NEEDS_VTT_PARM_P ( NODE   ) 

#define DECL_NON_THUNK_FUNCTION_P ( NODE   )     (TREE_CODE (NODE) == FUNCTION_DECL && !DECL_THUNK_P (NODE))

Definition at line 1947 of file cp-tree.h.

#define DECL_NONCONVERTING_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.nonconverting)

Definition at line 1907 of file cp-tree.h.

#define DECL_NONSTATIC_MEMBER_FUNCTION_P ( NODE   )     (TREE_CODE (TREE_TYPE (NODE)) == METHOD_TYPE)

Definition at line 1873 of file cp-tree.h.

#define DECL_NONSTATIC_MEMBER_P ( NODE   ) 

Value:

((TREE_CODE (NODE) == FUNCTION_DECL   \
    && DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE)) \
   || TREE_CODE (NODE) == FIELD_DECL)

Definition at line 1896 of file cp-tree.h.

#define DECL_NONTRIVIALLY_INITIALIZED_P ( NODE   )     (TREE_LANG_FLAG_3 (VAR_DECL_CHECK (NODE)))

Definition at line 1827 of file cp-tree.h.

Referenced by cp_finish_decl(), decl_jump_unsafe(), and duplicate_decls().

#define DECL_NOT_REALLY_EXTERN ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.not_really_extern)

Definition at line 2978 of file cp-tree.h.

#define DECL_NTPARMS ( NODE   )     TREE_VEC_LENGTH (DECL_INNERMOST_TEMPLATE_PARMS (NODE))

Definition at line 2756 of file cp-tree.h.

#define DECL_OVERLOADED_OPERATOR_P ( NODE   ) 

Value:

(IDENTIFIER_OPNAME_P (DECL_NAME (NODE))   \
   ? DECL_LANG_SPECIFIC (NODE)->u.f.operator_code : ERROR_MARK)

Definition at line 1792 of file cp-tree.h.

#define DECL_PENDING_INLINE_INFO ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->u.f.u.pending_inline_info)

Definition at line 2100 of file cp-tree.h.

#define DECL_PENDING_INLINE_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->u.f.pending_inline_p)

Definition at line 2095 of file cp-tree.h.

#define DECL_PRETTY_FUNCTION_P ( NODE   )     (TREE_LANG_FLAG_0 (VAR_DECL_CHECK (NODE)))

Definition at line 1965 of file cp-tree.h.

#define DECL_PRIMARY_TEMPLATE ( NODE   )     (TREE_TYPE (DECL_INNERMOST_TEMPLATE_PARMS (NODE)))

Definition at line 2878 of file cp-tree.h.

#define DECL_PURE_VIRTUAL_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.pure_virtual)

Definition at line 1912 of file cp-tree.h.

#define DECL_REALLY_EXTERN ( NODE   )     (DECL_EXTERNAL (NODE) && ! DECL_NOT_REALLY_EXTERN (NODE))

Definition at line 2981 of file cp-tree.h.

#define DECL_REPO_AVAILABLE_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.repo_available_p)

Definition at line 1960 of file cp-tree.h.

#define DECL_RESULT_THUNK_P ( NODE   )     (DECL_THUNK_P (NODE) && !DECL_LANG_SPECIFIC (NODE)->decl_flags.this_thunk_p)

Definition at line 1943 of file cp-tree.h.

#define DECL_SAVED_FUNCTION_DATA ( NODE   ) 

Value:

(DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (NODE))  \
   ->u.f.u.saved_language_function)

Definition at line 2301 of file cp-tree.h.

#define DECL_SELF_REFERENCE_P ( NODE   )     (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_4 (NODE))

Definition at line 2868 of file cp-tree.h.

#define DECL_SHADOWED_FOR_VAR ( NODE   )     (DECL_HAS_SHADOWED_FOR_VAR_P(NODE) ? decl_shadowed_for_var_lookup (NODE) : NULL)

Definition at line 2086 of file cp-tree.h.

#define DECL_SORTED_FIELDS ( NODE   )     (DECL_LANG_SPECIFIC (TYPE_DECL_CHECK (NODE))->u.f.u.sorted_fields)

Definition at line 2105 of file cp-tree.h.

#define DECL_STATIC_FUNCTION_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.static_function)

Definition at line 1868 of file cp-tree.h.

#define DECL_TEMPLATE_CONV_FN_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.template_conv_p)

Definition at line 1778 of file cp-tree.h.

#define DECL_TEMPLATE_INFO ( NODE   ) 

Value:

(DECL_LANG_SPECIFIC (VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK (NODE)) \
   ->decl_flags.u.template_info)

Definition at line 2131 of file cp-tree.h.

#define DECL_TEMPLATE_INSTANTIATED ( NODE   )     DECL_LANG_FLAG_1 (VAR_OR_FUNCTION_DECL_CHECK (NODE))

Definition at line 2969 of file cp-tree.h.

#define DECL_TEMPLATE_INSTANTIATION ( NODE   )     (DECL_USE_TEMPLATE (NODE) & 1)

Definition at line 2922 of file cp-tree.h.

#define DECL_TEMPLATE_INSTANTIATIONS ( NODE   )     DECL_VINDEX (NODE)

Definition at line 2785 of file cp-tree.h.

#define DECL_TEMPLATE_PARM_P ( NODE   ) 

Value:

(DECL_LANG_FLAG_0 (NODE)      \
   && (TREE_CODE (NODE) == CONST_DECL   \
       || TREE_CODE (NODE) == PARM_DECL   \
       || TREE_CODE (NODE) == TYPE_DECL   \
       || TREE_CODE (NODE) == TEMPLATE_DECL))

Definition at line 2821 of file cp-tree.h.

#define DECL_TEMPLATE_PARMS ( NODE   )     DECL_NON_COMMON_CHECK (NODE)->decl_non_common.arguments

Definition at line 2753 of file cp-tree.h.

#define DECL_TEMPLATE_RESULT ( NODE   )     DECL_RESULT_FLD (NODE)

Definition at line 2759 of file cp-tree.h.

#define DECL_TEMPLATE_SPECIALIZATION ( NODE   )     (DECL_USE_TEMPLATE (NODE) == 2)

Definition at line 2926 of file cp-tree.h.

#define DECL_TEMPLATE_SPECIALIZATIONS ( NODE   )     DECL_SIZE (NODE)

Definition at line 2817 of file cp-tree.h.

#define DECL_TEMPLATE_TEMPLATE_PARM_P ( NODE   )     (TREE_CODE (NODE) == TEMPLATE_DECL && DECL_TEMPLATE_PARM_P (NODE))

Definition at line 2833 of file cp-tree.h.

#define DECL_THIS_EXTERN ( NODE   )     DECL_LANG_FLAG_2 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))

Definition at line 2670 of file cp-tree.h.

#define DECL_THIS_STATIC ( NODE   )     DECL_LANG_FLAG_6 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE))

Definition at line 2676 of file cp-tree.h.

#define DECL_THIS_THUNK_P ( NODE   )     (DECL_THUNK_P (NODE) && DECL_LANG_SPECIFIC (NODE)->decl_flags.this_thunk_p)

Definition at line 1939 of file cp-tree.h.

#define DECL_THUNK_P ( NODE   ) 

Value:

(TREE_CODE (NODE) == FUNCTION_DECL    \
   && DECL_LANG_SPECIFIC (NODE)     \
   && DECL_LANG_SPECIFIC (NODE)->decl_flags.thunk_p)

Definition at line 1927 of file cp-tree.h.

#define DECL_THUNKS ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->u.f.context)

Definition at line 1923 of file cp-tree.h.

#define DECL_TI_ARGS ( NODE   )     TI_ARGS (DECL_TEMPLATE_INFO (NODE))

Definition at line 2257 of file cp-tree.h.

#define DECL_TI_TEMPLATE ( NODE   )     TI_TEMPLATE (DECL_TEMPLATE_INFO (NODE))

Definition at line 2250 of file cp-tree.h.

#define DECL_TINFO_P ( NODE   )     TREE_LANG_FLAG_4 (VAR_DECL_CHECK (NODE))

Definition at line 2021 of file cp-tree.h.

#define DECL_UNBOUND_CLASS_TEMPLATE_P ( NODE   )     (TREE_CODE (NODE) == TEMPLATE_DECL && !DECL_TEMPLATE_RESULT (NODE))

Definition at line 2838 of file cp-tree.h.

#define DECL_USE_TEMPLATE ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.use_template)

Definition at line 2910 of file cp-tree.h.

#define DECL_VAR_MARKED_P ( NODE   )     (DECL_LANG_FLAG_4 (VAR_DECL_CHECK (NODE)))

Definition at line 2138 of file cp-tree.h.

#define DECL_VOLATILE_MEMFUNC_P ( NODE   ) 

#define DECL_VTABLE_OR_VTT_P ( NODE   )     TREE_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))

Definition at line 2024 of file cp-tree.h.

#define DEFARG_INSTANTIATIONS ( NODE   )     (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->instantiations)

#define DEFARG_TOKENS ( NODE   )     (((struct tree_default_arg *)DEFAULT_ARG_CHECK (NODE))->tokens)

Definition at line 440 of file cp-tree.h.

#define DEFTREECODE ( SYM,
NAME,
TYPE,
LENGTH   )     SYM,

Definition at line 848 of file cp-tree.h.

#define DELETE_EXPR_USE_GLOBAL ( NODE   )     TREE_LANG_FLAG_0 (DELETE_EXPR_CHECK (NODE))

Definition at line 2311 of file cp-tree.h.

#define DELETE_EXPR_USE_VEC ( NODE   )     TREE_LANG_FLAG_1 (DELETE_EXPR_CHECK (NODE))

Definition at line 2313 of file cp-tree.h.

#define deleting_dtor_identifier   cp_global_trees[CPTI_DELETING_DTOR_IDENTIFIER]

Definition at line 597 of file cp-tree.h.

#define delta_identifier   cp_global_trees[CPTI_DELTA_IDENTIFIER]

Definition at line 598 of file cp-tree.h.

#define delta_type_node   cp_global_trees[CPTI_DELTA_TYPE]

Definition at line 560 of file cp-tree.h.

#define DERIVED_FROM_P ( PAR