osprey/kg++fe/gnu/cp/cp-tree.h File Reference

#include "function.h"
#include "hashtab.h"
#include "splay-tree.h"
#include "varray.h"
#include "c-common.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  operator_name_info_t

Defines

#define VAR_OR_FUNCTION_DECL_CHECK(NODE)   (NODE)
#define VAR_FUNCTION_OR_PARM_DECL_CHECK(NODE)   (NODE)
#define VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK(NODE)   (NODE)
#define RECORD_OR_UNION_TYPE_CHECK(NODE)   (NODE)
#define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK(NODE)   (NODE)
#define abi_version_at_least(N)   (flag_abi_version == 0 || flag_abi_version >= (N))
#define cxx_binding_make()   (ggc_alloc (sizeof (cxx_binding)))
#define cxx_binding_clear(B)   memset ((B), 0, sizeof (cxx_binding))
#define C_IS_RESERVED_WORD(ID)   TREE_LANG_FLAG_5 (ID)
#define C_RID_YYCODE(ID)   rid_to_yy[C_RID_CODE (ID)]
#define LANG_IDENTIFIER_CAST(NODE)   ((struct lang_identifier*)IDENTIFIER_NODE_CHECK (NODE))
#define LOCAL_BINDING_P(NODE)   ((NODE)->is_local)
#define INHERITED_VALUE_BINDING_P(NODE)   ((NODE)->value_is_inherited)
#define BINDING_SCOPE(NODE)   ((NODE)->scope.scope)
#define BINDING_HAS_LEVEL_P(NODE)   ((NODE)->has_level)
#define BINDING_VALUE(NODE)   ((NODE)->value)
#define BINDING_TYPE(NODE)   ((NODE)->type)
#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 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()   (last_tree != 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)   (TREE_OPERAND (BASELINK_CHECK (NODE), 0))
#define BASELINK_FUNCTIONS(NODE)   (TREE_OPERAND (BASELINK_CHECK (NODE), 1))
#define BASELINK_ACCESS_BINFO(NODE)   (TREE_OPERAND (BASELINK_CHECK (NODE), 2))
#define BASELINK_OPTYPE(NODE)   (TREE_CHAIN (BASELINK_CHECK (NODE)))
#define WRAPPER_ZC(NODE)   (((struct tree_wrapper*)WRAPPER_CHECK (NODE))->z_c)
#define SRCLOC_FILE(NODE)   (((struct tree_srcloc*)SRCLOC_CHECK (NODE))->filename)
#define SRCLOC_LINE(NODE)   (((struct tree_srcloc*)SRCLOC_CHECK (NODE))->linenum)
#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_VALUE(NODE)   (IDENTIFIER_BINDING (NODE) ? BINDING_VALUE (IDENTIFIER_BINDING (NODE)) : 0)
#define IDENTIFIER_CLASS_VALUE(NODE)   (LANG_IDENTIFIER_CAST (NODE)->class_value)
#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 LANG_ID_FIELD(NAME, NODE)
#define SET_LANG_ID(NODE, VALUE, NAME)
#define IDENTIFIER_LABEL_VALUE(NODE)   LANG_ID_FIELD (label_value, NODE)
#define SET_IDENTIFIER_LABEL_VALUE(NODE, VALUE)   SET_LANG_ID (NODE, VALUE, label_value)
#define IDENTIFIER_IMPLICIT_DECL(NODE)   LANG_ID_FIELD (implicit_decl, NODE)
#define SET_IDENTIFIER_IMPLICIT_DECL(NODE, VALUE)   SET_LANG_ID (NODE, VALUE, implicit_decl)
#define IDENTIFIER_ERROR_LOCUS(NODE)   LANG_ID_FIELD (error_locus, NODE)
#define SET_IDENTIFIER_ERROR_LOCUS(NODE, VALUE)   SET_LANG_ID (NODE, VALUE, error_locus)
#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 C_TYPE_FIELDS_READONLY(TYPE)   TYPE_LANG_FLAG_0 (TYPE)
#define C_SET_EXP_ORIGINAL_CODE(EXP, CODE)   (TREE_COMPLEXITY (EXP) = (int)(CODE))
#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 ti_desc_type_node   cp_global_trees[CPTI_TI_DESC_TYPE]
#define bltn_desc_type_node   cp_global_trees[CPTI_BLTN_DESC_TYPE]
#define ptr_desc_type_node   cp_global_trees[CPTI_PTR_DESC_TYPE]
#define ary_desc_type_node   cp_global_trees[CPTI_ARY_DESC_TYPE]
#define func_desc_type_node   cp_global_trees[CPTI_FUNC_DESC_TYPE]
#define enum_desc_type_node   cp_global_trees[CPTI_ENUM_DESC_TYPE]
#define class_desc_type_node   cp_global_trees[CPTI_CLASS_DESC_TYPE]
#define si_class_desc_type_node   cp_global_trees[CPTI_SI_CLASS_DESC_TYPE]
#define vmi_class_desc_type_node   cp_global_trees[CPTI_VMI_CLASS_DESC_TYPE]
#define ptm_desc_type_node   cp_global_trees[CPTI_PTM_DESC_TYPE]
#define base_desc_type_node   cp_global_trees[CPTI_BASE_DESC_TYPE]
#define class_type_node   cp_global_trees[CPTI_CLASS_TYPE]
#define record_type_node   cp_global_trees[CPTI_RECORD_TYPE]
#define union_type_node   cp_global_trees[CPTI_UNION_TYPE]
#define enum_type_node   cp_global_trees[CPTI_ENUM_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 type_info_type_node   cp_global_trees[CPTI_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 access_default_node   cp_global_trees[CPTI_ACCESS_DEFAULT]
#define access_public_node   cp_global_trees[CPTI_ACCESS_PUBLIC]
#define access_protected_node   cp_global_trees[CPTI_ACCESS_PROTECTED]
#define access_private_node   cp_global_trees[CPTI_ACCESS_PRIVATE]
#define access_default_virtual_node   cp_global_trees[CPTI_ACCESS_DEFAULT_VIRTUAL]
#define access_public_virtual_node   cp_global_trees[CPTI_ACCESS_PUBLIC_VIRTUAL]
#define access_protected_virtual_node   cp_global_trees[CPTI_ACCESS_PROTECTED_VIRTUAL]
#define access_private_virtual_node   cp_global_trees[CPTI_ACCESS_PRIVATE_VIRTUAL]
#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 null_node   cp_global_trees[CPTI_NULL]
#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 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_type   scope_chain->x_previous_class_type
#define previous_class_values   scope_chain->x_previous_class_values
#define type_lookups   scope_chain->lookups
#define cp_function_chain   (cfun->language)
#define dtor_label   cp_function_chain->x_dtor_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 expanding_p   cp_function_chain->x_expanding_p
#define doing_semantic_analysis_p()   (!expanding_p)
#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 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 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_ASSEMBLER_NAME_STRING(NODE)   (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (TYPE_NAME (NODE))))
#define TYPE_ASSEMBLER_NAME_LENGTH(NODE)   (IDENTIFIER_LENGTH (DECL_ASSEMBLER_NAME (TYPE_NAME (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)) && IS_AGGR_TYPE (T))
#define IS_AGGR_TYPE_CODE(T)   ((T) == RECORD_TYPE || (T) == UNION_TYPE)
#define IS_AGGR_TYPE_2(TYPE1, TYPE2)
#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_BUILT_IN(NODE)   TYPE_LANG_FLAG_6 (NODE)
#define TYPE_FOR_JAVA(NODE)   TYPE_LANG_FLAG_3 (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_ignore | ba_quiet, NULL) != NULL_TREE)
#define ACCESSIBLY_UNIQUELY_DERIVED_P(PARENT, TYPE)   (lookup_base ((TYPE), (PARENT), ba_check | ba_quiet, NULL) != NULL_TREE)
#define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, 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_USE_TEMPLATE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->use_template)
#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 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_REDEFINED(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->redefined)
#define TYPE_OVERLOADS_CALL_EXPR(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_call_overloaded)
#define TYPE_OVERLOADS_ARRAY_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_array_ref_overloaded)
#define TYPE_OVERLOADS_ARROW(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_arrow_overloaded)
#define TYPE_USES_MULTIPLE_INHERITANCE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->h.uses_multiple_inheritance)
#define TYPE_USES_VIRTUAL_BASECLASSES(NODE)   (TREE_LANG_FLAG_3 (NODE))
#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)   (TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_CONSTRUCTOR_SLOT))
#define CLASSTYPE_DESTRUCTORS(NODE)   (TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_DESTRUCTOR_SLOT))
#define CLASSTYPE_MARKED_N(NODE, N)
#define SET_CLASSTYPE_MARKED_N(NODE, N)
#define CLEAR_CLASSTYPE_MARKED_N(NODE, N)
#define CLASSTYPE_MARKED(NODE)   CLASSTYPE_MARKED_N (NODE, 0)
#define CLASSTYPE_MARKED2(NODE)   CLASSTYPE_MARKED_N (NODE, 1)
#define CLASSTYPE_MARKED3(NODE)   CLASSTYPE_MARKED_N (NODE, 2)
#define CLASSTYPE_MARKED4(NODE)   CLASSTYPE_MARKED_N (NODE, 3)
#define CLASSTYPE_MARKED5(NODE)   CLASSTYPE_MARKED_N (NODE, 4)
#define CLASSTYPE_MARKED6(NODE)   CLASSTYPE_MARKED_N (NODE, 5)
#define SET_CLASSTYPE_MARKED(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 0)
#define CLEAR_CLASSTYPE_MARKED(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 0)
#define SET_CLASSTYPE_MARKED2(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 1)
#define CLEAR_CLASSTYPE_MARKED2(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 1)
#define SET_CLASSTYPE_MARKED3(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 2)
#define CLEAR_CLASSTYPE_MARKED3(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 2)
#define SET_CLASSTYPE_MARKED4(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 3)
#define CLEAR_CLASSTYPE_MARKED4(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 3)
#define SET_CLASSTYPE_MARKED5(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 4)
#define CLEAR_CLASSTYPE_MARKED5(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 4)
#define SET_CLASSTYPE_MARKED6(NODE)   SET_CLASSTYPE_MARKED_N (NODE, 5)
#define CLEAR_CLASSTYPE_MARKED6(NODE)   CLEAR_CLASSTYPE_MARKED_N (NODE, 5)
#define CLASSTYPE_NESTED_UDTS(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 CANONICAL_BINFO(BINFO, C)
#define CLASSTYPE_N_BASECLASSES(NODE)   (BINFO_N_BASETYPES (TYPE_BINFO (NODE)))
#define CLASSTYPE_AS_BASE(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->as_base)
#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 CLASSTYPE_GOT_SEMICOLON(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->got_semicolon)
#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_UNSHARED_MARKED(NODE)   TREE_LANG_FLAG_0 (NODE)
#define BINFO_MARKED(NODE)
#define SET_BINFO_MARKED(NODE)
#define CLEAR_BINFO_MARKED(NODE)
#define BINFO_VTABLE_PATH_MARKED(NODE)
#define SET_BINFO_VTABLE_PATH_MARKED(NODE)
#define CLEAR_BINFO_VTABLE_PATH_MARKED(NODE)
#define BINFO_NEW_VTABLE_MARKED(B, C)   (TREE_LANG_FLAG_4 (CANONICAL_BINFO (B, C)))
#define SET_BINFO_NEW_VTABLE_MARKED(B, C)
#define BINFO_PUSHDECLS_MARKED(NODE)   BINFO_VTABLE_PATH_MARKED (NODE)
#define SET_BINFO_PUSHDECLS_MARKED(NODE)   SET_BINFO_VTABLE_PATH_MARKED (NODE)
#define CLEAR_BINFO_PUSHDECLS_MARKED(NODE)   CLEAR_BINFO_VTABLE_PATH_MARKED (NODE)
#define BINFO_PRIMARY_P(NODE)   (BINFO_PRIMARY_BASE_OF (NODE) != NULL_TREE)
#define BINFO_SUBVTT_INDEX(NODE)   TREE_VEC_ELT (NODE, 8)
#define BINFO_VPTR_INDEX(NODE)   TREE_VEC_ELT (NODE, 9)
#define BINFO_PRIMARY_BASE_OF(NODE)   TREE_VEC_ELT (NODE, 10)
#define BINFO_LOST_PRIMARY_P(NODE)   TREE_LANG_FLAG_2 (NODE)
#define BINFO_INDIRECT_PRIMARY_P(NODE)   TREE_USED (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 CLASSTYPE_VFIELDS(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->vfields)
#define VF_BINFO_VALUE(NODE)   TREE_PURPOSE (NODE)
#define VF_BASETYPE_VALUE(NODE)   TREE_VALUE (NODE)
#define BV_DELTA(NODE)   (TREE_PURPOSE (NODE))
#define BV_VCALL_INDEX(NODE)   (TREE_TYPE (NODE))
#define BV_FN(NODE)   (TREE_VALUE (NODE))
#define TREE_PARMLIST(NODE)   (TREE_LANG_FLAG_2 (NODE))
#define PARMLIST_ELLIPSIS_P(NODE)   TREE_LANG_FLAG_0 (NODE)
#define TYPE_RAISES_EXCEPTIONS(NODE)   TYPE_BINFO (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 DEFARG_POINTER(NODE)   (DEFAULT_ARG_CHECK (NODE)->identifier.id.str)
#define DECL_NEEDED_P(DECL)
#define DECL_IN_MEMORY_P(NODE)   (DECL_RTL_SET_P (NODE) && GET_CODE (DECL_RTL (NODE)) == MEM)
#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 (NODE)->u.f.cloned_function)
#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)   (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_ARRAY_DELETE_OPERATOR_P(NODE)   (DECL_OVERLOADED_OPERATOR_P (NODE) == VEC_DELETE_EXPR)
#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_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_NEEDS_FINAL_OVERRIDER_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.needs_final_overrider)
#define DECL_THUNKS(NODE)   (DECL_LANG_SPECIFIC (NODE)->u.f.context)
#define DECL_THUNK_P(NODE)
#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 SET_DECL_THUNK_P(NODE)
#define DECL_PRETTY_FUNCTION_P(NODE)   (TREE_LANG_FLAG_0 (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 FROB_CONTEXT(NODE)   ((NODE) == global_namespace ? NULL_TREE : (NODE))
#define DECL_NAMESPACE_SCOPE_P(NODE)
#define DECL_CLASS_SCOPE_P(NODE)   (DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE)))
#define DECL_FUNCTION_SCOPE_P(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_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 DECL_INIT_PRIORITY(NODE)   (VAR_DECL_CHECK (NODE)->decl.u2.i)
#define TREE_INDIRECT_USING(NODE)   (TREE_LIST_CHECK (NODE)->common.lang_flag_0)
#define DECL_SHADOWED_FOR_VAR(NODE)   DECL_RESULT_FLD(VAR_DECL_CHECK (NODE))
#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_TYPE_CHECK (NODE))->template_info)
#define ENUM_TEMPLATE_INFO(NODE)   (TYPE_BINFO (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 SET_TMPL_ARG(ARGS, LEVEL, IDX, VAL)   (TREE_VEC_ELT (TREE_VEC_ELT ((ARGS), (LEVEL) - 1), (IDX)) = (VAL))
#define NUM_TMPL_ARGS(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 ENUM_TI_TEMPLATE(NODE)   TI_TEMPLATE (ENUM_TEMPLATE_INFO (NODE))
#define ENUM_TI_ARGS(NODE)   TI_ARGS (ENUM_TEMPLATE_INFO (NODE))
#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 TEMPLATE_PARMS_FOR_INLINE(NODE)   TREE_LANG_FLAG_1 (NODE)
#define DECL_SAVED_FUNCTION_DATA(NODE)
#define NEW_EXPR_USE_GLOBAL(NODE)   TREE_LANG_FLAG_0 (NODE)
#define DELETE_EXPR_USE_GLOBAL(NODE)   TREE_LANG_FLAG_0 (NODE)
#define DELETE_EXPR_USE_VEC(NODE)   TREE_LANG_FLAG_1 (NODE)
#define LOOKUP_EXPR_GLOBAL(NODE)   TREE_LANG_FLAG_0 (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)   (TYPE_FIELDS (NODE))
#define IMPLICIT_TYPENAME_P(NODE)   (TREE_CODE (NODE) == TYPENAME_TYPE && TREE_TYPE (NODE))
#define IMPLICIT_TYPENAME_TYPE_DECL_P(NODE)
#define TREE_NEGATED_INT(NODE)   TREE_LANG_FLAG_0 (INTEGER_CST_CHECK (NODE))
#define TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P(NODE)   (TREE_LANG_FLAG_1 (NODE))
#define TYPE_POLYMORPHIC_P(NODE)   (TREE_LANG_FLAG_2 (NODE))
#define TYPE_CONTAINS_VPTR_P(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_CHECK (NODE))->decl_flags.anticipated_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)   ((CODE) == INTEGER_TYPE || (CODE) == ENUMERAL_TYPE || (CODE) == BOOLEAN_TYPE)
#define CP_INTEGRAL_TYPE_P(TYPE)
#define INTEGRAL_OR_ENUMERATION_TYPE_P(TYPE)   (CP_INTEGRAL_TYPE_P (TYPE) || TREE_CODE (TYPE) == ENUMERAL_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 EMPTY_CONSTRUCTOR_P(NODE)
#define TYPE_HAS_DESTRUCTOR(NODE)   (TYPE_LANG_FLAG_2 (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_REAL_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_real_assign_ref)
#define TYPE_HAS_COMPLEX_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_assign_ref)
#define TYPE_HAS_ABSTRACT_ASSIGN_REF(NODE)   (LANG_TYPE_CLASS_CHECK (NODE)->has_abstract_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)
#define TYPE_PTR_P(NODE)
#define TYPE_PTROB_P(NODE)
#define TYPE_PTROBV_P(NODE)   (TYPE_PTR_P (NODE) && TREE_CODE (TREE_TYPE (NODE)) != FUNCTION_TYPE)
#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 PTRMEM_OK_P(NODE)   TREE_LANG_FLAG_0 (NODE)
#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 PFN_FROM_PTRMEMFUNC(NODE)   pfn_from_ptrmemfunc ((NODE))
#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 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 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_ARGUMENTS (NODE)
#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_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 CLASSTYPE_TEMPLATE_LEVEL(NODE)   (TREE_INT_CST_LOW (TREE_PURPOSE (CLASSTYPE_TI_TEMPLATE (NODE))))
#define DECL_USE_TEMPLATE(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.use_template)
#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 PARTIAL_INSTANTIATION_P(TYPE)   (LANG_TYPE_CLASS_CHECK (TYPE)->is_partial_instantiation)
#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_DECLARED_INLINE_P(NODE)   (DECL_LANG_SPECIFIC (NODE)->decl_flags.base.declared_inline)
#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_DELTA(DECL)   (DECL_LANG_SPECIFIC (DECL)->u.f.delta)
#define THUNK_VCALL_OFFSET(DECL)   (LANG_DECL_U2_CHECK (DECL, 0)->vcall_offset)
#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 CALL_DECLARATOR_PARMS(NODE)   (TREE_PURPOSE (TREE_OPERAND (NODE, 1)))
#define CALL_DECLARATOR_QUALS(NODE)   (TREE_VALUE (TREE_OPERAND (NODE, 1)))
#define CALL_DECLARATOR_EXCEPTION_SPEC(NODE)   (TREE_TYPE (NODE))
#define vfunc_ptr_type_node   vtable_entry_type
#define TINST_DECL(NODE)   EXPR_WFL_NODE (NODE)
#define TINST_LINE(NODE)   EXPR_WFL_LINENO (NODE)
#define TINST_FILE(NODE)   EXPR_WFL_FILENAME (NODE)
#define JOINER   '$'
#define VPTR_NAME   "$v"
#define THROW_NAME   "$eh_throw"
#define AUTO_VTABLE_NAME   "__vtbl$me__"
#define AUTO_TEMP_NAME   "_$tmp_"
#define AUTO_TEMP_FORMAT   "_$tmp_%d"
#define VTABLE_BASE   "$vb"
#define VTABLE_NAME_PREFIX   "__vt_"
#define VFIELD_BASE   "$vf"
#define VFIELD_NAME   "_vptr$"
#define VFIELD_NAME_FORMAT   "_vptr$%s"
#define STATIC_NAME_FORMAT   "_%s$%s"
#define ANON_AGGRNAME_FORMAT   "$_%d"
#define THIS_NAME   "this"
#define CTOR_NAME   "__ct"
#define DTOR_NAME   "__dt"
#define IN_CHARGE_NAME   "__in_chrg"
#define VTBL_PTR_TYPE   "__vtbl_ptr_type"
#define VTABLE_DELTA_NAME   "__delta"
#define VTABLE_PFN_NAME   "__pfn"
#define EXCEPTION_CLEANUP_NAME   "exception cleanup"
#define VPTR_NAME_P(ID_NODE)
#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 DECL_MAIN_P(NODE)
#define B_SET(A, X)   ((A)[(X)>>3] |= (1 << ((X)&7)))
#define B_CLR(A, X)   ((A)[(X)>>3] &= ~(1 << ((X)&7)))
#define B_TST(A, X)   ((A)[(X)>>3] & (1 << ((X)&7)))
#define LOOKUP_PROTECT   (1)
#define LOOKUP_COMPLAIN   (2)
#define LOOKUP_NORMAL   (3)
#define LOOKUP_NONVIRTUAL   (8)
#define LOOKUP_GLOBAL   (16)
#define LOOKUP_SPECULATIVELY   (64)
#define LOOKUP_ONLYCONVERTING   (128)
#define DIRECT_BIND   (256)
#define LOOKUP_NO_CONVERSION   (512)
#define LOOKUP_DESTRUCTOR   (512)
#define LOOKUP_NO_TEMP_BIND   (1024)
#define LOOKUP_PREFER_TYPES   (2048)
#define LOOKUP_PREFER_NAMESPACES   (4096)
#define LOOKUP_PREFER_BOTH   (6144)
#define LOOKUP_TEMPLATES_EXPECTED   (8192)
#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_STATIC_CAST   (CONV_IMPLICIT | CONV_STATIC | CONV_FORCE_TEMP)
#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_ARITH   (WANT_INT | WANT_FLOAT)
#define COMPARE_STRICT   0
#define COMPARE_BASE   1
#define COMPARE_RELAXED   2
#define COMPARE_REDECLARATION   4
#define COMPARE_NO_ATTRIBUTES   8
#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)   (TYPE_FIELDS (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 TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL(NODE)
#define cp_deprecated(STR)
#define cp_build_qualified_type(TYPE, QUALS)   cp_build_qualified_type_real ((TYPE), (QUALS), tf_error | tf_warning)
#define complete_type_or_else(T, V)   (complete_type_or_diagnostic ((T), (V), 0))
#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_alignof(T)   cxx_sizeof_or_alignof_type (T, ALIGNOF_EXPR, true)
#define cxx_incomplete_type_error(V, T)   (cxx_incomplete_type_diagnostic ((V), (T), 0))

Typedefs

typedef struct cxx_saved_binding cxx_saved_binding
typedef struct cxx_binding cxx_binding
typedef struct binding_table_s * binding_table
typedef struct binding_entry_s * binding_entry
typedef void(* bt_foreach_proc )(binding_entry, void *)
typedef struct ptrmem_cst * ptrmem_cst_t
typedef int walk_globals_pred PARAMS ((tree, void *))

Enumerations

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  scope_kind {
  sk_template_parms, sk_template_spec, sk_template_parms, sk_template_spec,
  sk_block = 0, sk_cleanup, sk_try, sk_catch,
  sk_for, sk_function_parms, sk_class, sk_namespace,
  sk_template_parms, sk_template_spec, sk_block = 0, sk_cleanup,
  sk_try, sk_catch, sk_for, sk_function_parms,
  sk_class, sk_namespace, sk_template_parms, sk_template_spec,
  sk_omp
}
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  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
}

Functions/Subroutines

struct cxx_binding GTY (())
void binding_table_foreach (binding_table, bt_foreach_proc, void *)
binding_entry binding_table_find (binding_table, tree)
void cxx_remember_type_decls (binding_table)
union lang_tree_node GTY ((desc("cp_tree_node_structure (&%h)"), chain_next("(union lang_tree_node *)TREE_CHAIN (&%h.generic)")))
void init_reswords PARAMS ((void))
int check_dtor_name PARAMS ((tree, tree))
int get_arglist_len_in_bytes PARAMS ((tree))
tree build_scoped_method_call PARAMS ((tree, tree, tree, tree))
tree build_conditional_expr PARAMS ((tree, tree, tree))
tree build_method_call PARAMS ((tree, tree, tree, tree, int))
tree build_user_type_conversion PARAMS ((tree, tree, int))
tree build_new_method_call (tree, tree, tree, tree, int)
tree build_special_member_call (tree, tree, tree, tree, int)
tree build_new_op PARAMS ((enum tree_code, int, tree, tree, tree))
tree build_op_delete_call PARAMS ((enum tree_code, tree, tree, int, tree))
tree convert_default_arg PARAMS ((tree, tree, tree, int))
tree initialize_reference PARAMS ((tree, tree, tree, tree *))
tree make_temporary_var_for_ref_to_temp (tree, tree)
tree perform_direct_initialization_if_possible (tree, tree)
tree build_base_path PARAMS ((enum tree_code, tree, tree, int))
tree convert_to_base (tree, tree, bool)
tree convert_to_base_statically (tree, tree)
tree get_vtable_decl PARAMS ((tree, int))
int resolves_to_fixed_type_p PARAMS ((tree, int *))
tree instantiate_type PARAMS ((tree, tree, tsubst_flags_t))
void cxx_print_xnode PARAMS ((FILE *, tree, int))
void cxx_print_error_function PARAMS ((struct diagnostic_context *, const char *))
tree convert_to_reference PARAMS ((tree, tree, int, int, tree))
tree ocp_convert PARAMS ((tree, tree, int, int))
tree convert_to_void PARAMS ((tree, const char *))
tree build_expr_type_conversion PARAMS ((int, tree, int))
bool innermost_scope_is_class_p (void)
void pushlevel PARAMS ((int))
tree poplevel PARAMS ((int, int, int))
enum
cp_tree_node_structure_enum
cp_tree_node_structure 
PARAMS ((union lang_tree_node *))
void cxx_push_function_context PARAMS ((struct function *))
void begin_scope PARAMS ((scope_kind))
void resume_level PARAMS ((struct cp_binding_level *))
tree pushdecl_top_level_and_finish (tree, tree)
bool pushdecl_class_level (tree)
bool push_class_level_binding (tree, tree)
tree define_label PARAMS ((const char *, int, tree))
cxx_bindingbinding_for_name (tree, tree)
bool is_ancestor (tree, tree)
tree unqualified_namespace_lookup PARAMS ((tree, int, tree *))
tree check_for_out_of_scope_variable (tree)
bool lookup_using_namespace (tree, cxx_binding *, tree, tree, int, tree *)
bool qualified_lookup_using_namespace (tree, tree, cxx_binding *, int)
tree build_library_fn_ptr PARAMS ((const char *, tree))
tree start_decl PARAMS ((tree, tree, int, tree, tree))
tree build_ptrmem_type (tree, tree)
tree xref_tag (enum tag_types, tree, tree, bool)
int vtable_decl_p PARAMS ((tree, void *))
int walk_globals PARAMS ((walk_globals_pred, walk_globals_fn, void *))
int walk_namespaces PARAMS ((walk_namespaces_fn, void *))
cxx_bindingcxx_scope_find_binding_for_name (tree, tree)
tree cp_fname_init PARAMS ((const char *))
void grokclassfn PARAMS ((tree, tree, enum overload_flags, tree))
tree grokfield PARAMS ((tree, tree, tree, tree, tree))
void cplus_decl_attributes PARAMS ((tree *, tree, int))
bool constructor_name_p (tree, tree)
void finish_builtin_type PARAMS ((tree, const char *, tree *, int, tree))
tree build_offset_ref_call_from_tree (tree, tree)
tree build_call_from_tree (tree, tree, bool)
tree handle_class_head (enum tag_types, tree, tree, tree, int, int *)
tree handle_class_head_apparent_template (tree, int *)
void cp_error_at PARAMS ((const char *msgid,...))
const char *language_to_string PARAMS ((enum languages, int))
void choose_personality_routine PARAMS ((enum languages))
rtx cxx_expand_expr PARAMS ((tree, rtx, enum machine_mode, int))
tree do_friend PARAMS ((tree, tree, tree, tree, tree, enum overload_flags, tree, int))
tree expand_member_init (tree)
void emit_mem_initializers (tree)
tree build_zero_init (tree, tree, bool)
tree build_x_delete PARAMS ((tree, int, tree))
tree build_delete PARAMS ((tree, tree, special_function_kind, int, int))
tree build_vec_delete PARAMS ((tree, tree, special_function_kind, int))
void begin_init_stmts PARAMS ((tree *, tree *))
void process_next_inline PARAMS ((struct unparsed_text *))
void yyungetc PARAMS ((int, int))
tree build_lang_decl PARAMS ((enum tree_code, tree, tree))
tree cxx_make_type PARAMS ((enum tree_code))
tree implicitly_declare_fn PARAMS ((special_function_kind, tree, int))
tree tsubst PARAMS ((tree, tree, tsubst_flags_t, tree))
tree lookup_template_class PARAMS ((tree, tree, tree, tree, int, tsubst_flags_t))
int fn_type_unification PARAMS ((tree, tree, tree, tree, tree, unification_kind_t, int))
void do_decl_instantiation (tree, tree)
int emit_tinfo_decl PARAMS ((tree *, void *))
bool accessible_base_p (tree, tree)
tree lookup_base PARAMS ((tree, tree, base_access, base_kind *))
tree lookup_field_1 (tree, tree, bool)
bool at_class_scope_p (void)
tree dfs_walk PARAMS ((tree, tree(*)(tree, void *), tree(*)(tree, void *), void *))
tree dfs_walk_real PARAMS ((tree, tree(*)(tree, void *), tree(*)(tree, void *), tree(*)(tree, void *), void *))
tree build_baselink (tree, tree, tree, tree)
tree adjust_result_of_qualified_name_lookup (tree, tree, tree)
tree finish_compound_stmt PARAMS ((int, tree))
tree finish_call_expr (tree, tree, bool)
tree finish_increment_expr PARAMS ((tree, enum tree_code))
tree finish_unary_op_expr PARAMS ((enum tree_code, tree))
tree finish_fname (tree)
int begin_function_definition (tree, tree, tree)
tree nullify_returns_r PARAMS ((tree *, int *, void *))
void begin_mem_initializers (void)
tree check_template_template_default_arg (tree)
void lang_check_failed PARAMS ((const char *, int, const char *))
tree stabilize_expr PARAMS ((tree, tree *))
cp_lvalue_kind real_non_cast_lvalue_p (tree)
tree build_min PARAMS ((enum tree_code, tree,...))
tree build_min_nt PARAMS ((enum tree_code,...))
tree build_zc_wrapper PARAMS ((struct z_candidate *))
tree cp_build_qualified_type_real PARAMS ((tree, int, tsubst_flags_t))
bool name_p (tree)
tree cp_walk_subtrees PARAMS ((tree *, int *, walk_tree_fn, void *, void *))
int cp_cannot_inline_tree_fn PARAMS ((tree *))
tree cp_add_pending_fn_decls PARAMS ((void *, tree))
tree cp_copy_res_decl_for_inlining PARAMS ((tree, tree, tree, void *, int *, void *))
tree cxx_sizeof_or_alignof_type PARAMS ((tree, enum tree_code, int))
tree build_class_member_access_expr (tree, tree, tree, bool)
tree finish_class_member_access_expr (tree, tree)
tree
get_member_function_from_ptrfunc 
PARAMS ((tree *, tree))
tree build_x_modify_expr PARAMS ((tree, enum tree_code, tree))
tree dubious_conversion_warnings PARAMS ((tree, tree, const char *, tree, int))
tree convert_for_initialization PARAMS ((tree, tree, tree, int, const char *, tree, int))
void expand_ptrmemfunc_cst PARAMS ((tree, tree *, tree *))
tree composite_pointer_type PARAMS ((tree, tree, tree, tree, const char *))
tree build_ptrmemfunc_access_expr (tree, tree)
tree build_address (tree)
tree build_nop (tree, tree)
void readonly_error PARAMS ((tree, const char *, int))
tree digest_init PARAMS ((tree, tree, tree *))
void check_for_new_type PARAMS ((const char *, flagged_type_tree))

Variables

const short rid_to_yy [RID_MAX]
 flagged_type_tree
 template_parm_index
int interface_only
int interface_unknown
int adding_implicit_members
int function_depth
int current_class_depth
int at_eof
const char ** opname_tab
const char ** assignop_tab
operator_name_info_t operator_name_info []
operator_name_info_t assignment_operator_name_info []
bool have_extern_spec
int processing_template_parmlist
struct attribute_spec cxx_attribute_table []


Define Documentation

#define abi_node   cp_global_trees[CPTI_ABI]

#define abi_version_at_least (  )     (flag_abi_version == 0 || flag_abi_version >= (N))

#define abort_fndecl   cp_global_trees[CPTI_ABORT_FNDECL]

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

Referenced by build_vtbl_initializer(), cxx_init_decl_processing(), and GTY().

#define access_default_node   cp_global_trees[CPTI_ACCESS_DEFAULT]

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

Referenced by cp_parser_base_specifier(), init_class_processing(), and xref_basetypes().

#define access_default_virtual_node   cp_global_trees[CPTI_ACCESS_DEFAULT_VIRTUAL]

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

Referenced by init_class_processing(), and xref_basetypes().

#define access_private_node   cp_global_trees[CPTI_ACCESS_PRIVATE]

#define access_private_virtual_node   cp_global_trees[CPTI_ACCESS_PRIVATE_VIRTUAL]

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

Referenced by init_class_processing(), instantiate_class_template(), and xref_basetypes().

#define access_protected_node   cp_global_trees[CPTI_ACCESS_PROTECTED]

#define access_protected_virtual_node   cp_global_trees[CPTI_ACCESS_PROTECTED_VIRTUAL]

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

Referenced by init_class_processing(), instantiate_class_template(), and xref_basetypes().

#define access_public_node   cp_global_trees[CPTI_ACCESS_PUBLIC]

#define access_public_virtual_node   cp_global_trees[CPTI_ACCESS_PUBLIC_VIRTUAL]

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

Referenced by init_class_processing(), instantiate_class_template(), and xref_basetypes().

#define ACCESSIBLY_UNIQUELY_DERIVED_P ( PARENT,
TYPE   )     (lookup_base ((TYPE), (PARENT), ba_check | ba_quiet, NULL) != NULL_TREE)

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

Referenced by build_member_call(), and comp_except_types().

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

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

#define ANON_AGGRNAME_FORMAT   "$_%d"

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

Referenced by make_anon_name().

#define ANON_AGGRNAME_P ( ID_NODE   ) 

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

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

Referenced by check_field_decl().

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

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

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

#define ary_desc_type_node   cp_global_trees[CPTI_ARY_DESC_TYPE]

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

Referenced by create_tinfo_types(), and get_pseudo_ti_desc().

#define atexit_node   cp_global_trees[CPTI_ATEXIT]

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

Referenced by get_atexit_node().

#define AUTO_TEMP_FORMAT   "_$tmp_%d"

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

#define AUTO_TEMP_NAME   "_$tmp_"

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

#define AUTO_VTABLE_NAME   "__vtbl$me__"

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

#define B_CLR ( A,
X   )     ((A)[(X)>>3] &= ~(1 << ((X)&7)))

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

#define B_SET ( A,
X   )     ((A)[(X)>>3] |= (1 << ((X)&7)))

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

#define B_TST ( A,
X   )     ((A)[(X)>>3] & (1 << ((X)&7)))

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

#define base_ctor_identifier   cp_global_trees[CPTI_BASE_CTOR_IDENTIFIER]

#define base_desc_type_node   cp_global_trees[CPTI_BASE_DESC_TYPE]

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

Referenced by create_tinfo_types(), and get_pseudo_ti_desc().

#define base_dtor_identifier   cp_global_trees[CPTI_BASE_DTOR_IDENTIFIER]

#define BASELINK_ACCESS_BINFO ( NODE   )     (TREE_OPERAND (BASELINK_CHECK (NODE), 2))

#define BASELINK_BINFO ( NODE   )     (TREE_OPERAND (BASELINK_CHECK (NODE), 0))

#define BASELINK_FUNCTIONS ( NODE   )     (TREE_OPERAND (BASELINK_CHECK (NODE), 1))

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

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

Referenced by build_baselink(), build_new_method_call(), and tsubst_baselink().

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

#define BINDING_HAS_LEVEL_P ( NODE   )     ((NODE)->has_level)

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

#define BINDING_SCOPE ( NODE   )     ((NODE)->scope.scope)

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

Referenced by binding_for_name(), cxx_scope_find_binding_for_name(), and find_binding().

#define BINDING_TYPE ( NODE   )     ((NODE)->type)

#define BINDING_VALUE ( NODE   )     ((NODE)->value)

#define BINFO_INDIRECT_PRIMARY_P ( NODE   )     TREE_USED (NODE)

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

Referenced by determine_primary_base(), and force_canonical_binfo_r().

#define BINFO_LOST_PRIMARY_P ( NODE   )     TREE_LANG_FLAG_2 (NODE)

#define BINFO_MARKED ( NODE   ) 

#define BINFO_NEW_VTABLE_MARKED ( B,
 )     (TREE_LANG_FLAG_4 (CANONICAL_BINFO (B, C)))

#define BINFO_PRIMARY_BASE_OF ( NODE   )     TREE_VEC_ELT (NODE, 10)

#define BINFO_PRIMARY_P ( NODE   )     (BINFO_PRIMARY_BASE_OF (NODE) != NULL_TREE)

#define BINFO_PUSHDECLS_MARKED ( NODE   )     BINFO_VTABLE_PATH_MARKED (NODE)

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

Referenced by marked_pushdecls_p(), and unmarked_pushdecls_p().

#define BINFO_SUBVTT_INDEX ( NODE   )     TREE_VEC_ELT (NODE, 8)

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

Referenced by build_special_member_call(), build_vtt_inits(), and dump_class_hierarchy_r().

#define BINFO_UNSHARED_MARKED ( NODE   )     TREE_LANG_FLAG_0 (NODE)

#define BINFO_VPTR_INDEX ( NODE   )     TREE_VEC_ELT (NODE, 9)

#define BINFO_VTABLE_PATH_MARKED ( NODE   ) 

#define bltn_desc_type_node   cp_global_trees[CPTI_BLTN_DESC_TYPE]

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

Referenced by create_tinfo_types(), and get_pseudo_ti_desc().

#define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK ( NODE   )     (NODE)

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

 
#define building_stmt_tree (  )     (last_tree != NULL_TREE)

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

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

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

#define C_IS_RESERVED_WORD ( ID   )     TREE_LANG_FLAG_5 (ID)

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

#define C_RID_YYCODE ( ID   )     rid_to_yy[C_RID_CODE (ID)]

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

Referenced by read_process_identifier().

#define C_SET_EXP_ORIGINAL_CODE ( EXP,
CODE   )     (TREE_COMPLEXITY (EXP) = (int)(CODE))

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

#define C_TYPE_FIELDS_READONLY ( TYPE   )     TYPE_LANG_FLAG_0 (TYPE)

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

#define C_TYPEDEF_EXPLICITLY_SIGNED ( EXP   )     DECL_LANG_FLAG_1 (EXP)

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

#define CALL_DECLARATOR_EXCEPTION_SPEC ( NODE   )     (TREE_TYPE (NODE))

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

Referenced by grokdeclarator(), make_call_declarator(), set_quals_and_spec(), and tsubst().

#define CALL_DECLARATOR_PARMS ( NODE   )     (TREE_PURPOSE (TREE_OPERAND (NODE, 1)))

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

Referenced by grokdeclarator(), grokfield(), reparse_absdcl_as_casts(), and tsubst().

#define CALL_DECLARATOR_QUALS ( NODE   )     (TREE_VALUE (TREE_OPERAND (NODE, 1)))

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

Referenced by grokdeclarator(), set_quals_and_spec(), and tsubst().

#define call_unexpected_node   cp_global_trees[CPTI_CALL_UNEXPECTED]

#define CAN_HAVE_FULL_LANG_DECL_P ( NODE   ) 

Value:

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

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

Referenced by cxx_dup_lang_specific_decl(), duplicate_decls(), and retrofit_lang_decl().

#define CANONICAL_BINFO ( BINFO,
 ) 

Value:

(TREE_VIA_VIRTUAL (BINFO)     \
   ? binfo_for_vbase (BINFO_TYPE (BINFO), C)  \
   : (BINFO))

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

Referenced by build_secondary_vtable(), and lookup_field_queue_p().

#define class_desc_type_node   cp_global_trees[CPTI_CLASS_DESC_TYPE]

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

Referenced by create_tinfo_types(), get_pseudo_ti_desc(), and get_pseudo_ti_init().

#define class_type_node   cp_global_trees[CPTI_CLASS_TYPE]

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

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

Referenced by abstract_virtuals_error(), add_friend(), adjust_result_of_qualified_name_lookup(), arg_assoc_class(), build_c_cast(), build_class_member_access_expr(), build_conditional_expr(), build_init(), build_method_call(), build_modify_expr(), build_new_1(), build_new_method_call(), build_new_op(), build_op_delete_call(), build_static_cast(), build_static_cast_1(), build_target_expr_with_type(), build_throw(), build_vec_init(), build_x_unary_op(), build_zero_init(), can_complete_type_without_circularity(), can_convert_eh(), check_accessibility_of_qualified_id(), check_field_decl(), check_field_decls(), check_final_overrider(), compare_ics(), complete_type(), complete_vars(), composite_pointer_type(), conditional_conversion(), contains_empty_class_p(), convert_like_real(), cp_build_type_attribute_variant(), cp_expr_size(), cp_has_mutable_p(), cp_parser_check_access_in_redeclaration(), cp_parser_check_declarator_template_parameters(), cp_parser_class_head(), cp_parser_diagnose_invalid_type_name(), cp_parser_direct_declarator(), cp_parser_lookup_name(), cp_parser_name_lookup_error(), cp_parser_nested_name_specifier_opt(), cxx_print_type(), decay_conversion(), decl_is_template_id(), dependent_type_p_r(), determine_visibility(), dfs_push_decls(), do_type_instantiation(), dtor_nothrow(), find_substitution(), finish_asm_stmt(), finish_call_expr(), finish_class_member_access_expr(), finish_omp_clauses(), finish_stmt_expr(), finish_stmt_expr_expr(), fixup_anonymous_aggr(), follow_tag_typedef(), friend_of_associated_class_p(), get_tinfo_decl(), grok_op_properties(), grokdeclarator(), grokfield(), handle_com_interface_attribute(), handle_java_interface_attribute(), i386_pe_adjust_class_at_definition(), import_export_decl(), is_admissible_throw_operand(), is_ancestor(), is_std_substitution(), is_std_substitution_char(), is_subobject_of_p_1(), layout_nonempty_base_or_field(), lookup_fnfields_1(), lvalue_p_1(), make_binfo(), make_friend_class(), mangle_class_name_for_template(), marked_pushdecls_p(), maybe_get_template_decl_from_type_decl(), maybe_process_partial_specialization(), maybe_register_incomplete_var(), min_vis_r(), most_general_template(), no_linkage_check(), no_linkage_helper(), note_got_semicolon(), ok_to_generate_alias_set_for_type(), optimize_specialization_lookup_p(), perform_direct_initialization_if_possible(), pod_type_p(), pop_inner_scope(), pop_nested_class(), pop_scope(), prep_operand(), push_inner_scope_r(), push_nested_class(), push_scope(), push_template_decl_real(), reference_binding(), reference_related_p(), reshape_init(), reshape_init_class(), reshape_init_r(), resolve_scoped_fn_name(), rvalue(), start_function(), symbian_import_export_class(), synthesize_exception_spec(), tsubst(), tsubst_copy_and_build(), type_requires_array_cookie(), unmarked_pushdecls_p(), update_vtable_entry_for_fn(), walk_subobject_offsets(), warn_about_implicit_typename_lookup(), xref_basetypes(), xref_tag(), and zero_init_p().

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

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

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

Referenced by build_base_field(), and layout_empty_base().

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

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

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

Referenced by friend_accessible_p(), and make_friend_class().

#define CLASSTYPE_CONSTRUCTOR_SLOT   0

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

Referenced by add_method(), locate_copy(), locate_ctor(), and lookup_fnfields_1().

#define CLASSTYPE_CONSTRUCTORS ( NODE   )     (TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_CONSTRUCTOR_SLOT))

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

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

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

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

#define CLASSTYPE_DESTRUCTOR_SLOT   1

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

Referenced by add_method(), locate_dtor(), look_for_overrides_here(), and lookup_fnfields_1().

#define CLASSTYPE_DESTRUCTORS ( NODE   )     (TREE_VEC_ELT (CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_DESTRUCTOR_SLOT))

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

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

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

Referenced by do_type_instantiation(), and import_export_decl().

#define CLASSTYPE_FIRST_CONVERSION_SLOT   2

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

#define CLASSTYPE_GOT_SEMICOLON ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->got_semicolon)

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

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

Referenced by check_field_decls(), and cp_has_mutable_p().

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

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

#define CLASSTYPE_INLINE_FRIENDS ( NODE   )     CLASSTYPE_PURE_VIRTUALS (NODE)

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

Referenced by finish_method(), and fixup_inline_methods().

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

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

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

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

Referenced by cxx_print_type(), duplicate_tag_error(), and instantiate_class_template().

#define CLASSTYPE_IS_TEMPLATE ( NODE   ) 

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

#define CLASSTYPE_MARKED ( NODE   )     CLASSTYPE_MARKED_N (NODE, 0)

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

Referenced by dfs_class_hint_mark(), and xref_basetypes().

#define CLASSTYPE_MARKED2 ( NODE   )     CLASSTYPE_MARKED_N (NODE, 1)

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

Referenced by dfs_class_hint_mark().

#define CLASSTYPE_MARKED3 ( NODE   )     CLASSTYPE_MARKED_N (NODE, 2)

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

#define CLASSTYPE_MARKED4 ( NODE   )     CLASSTYPE_MARKED_N (NODE, 3)

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

Referenced by is_subobject_of_p_1().

#define CLASSTYPE_MARKED5 ( NODE   )     CLASSTYPE_MARKED_N (NODE, 4)

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

#define CLASSTYPE_MARKED6 ( NODE   )     CLASSTYPE_MARKED_N (NODE, 5)

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

#define CLASSTYPE_MARKED_N ( NODE,
 ) 

Value:

(((CLASS_TYPE_P (NODE) ? LANG_TYPE_CLASS_CHECK (NODE)->marks  \
     : ((unsigned) TYPE_ALIAS_SET (NODE))) & (1 << (N))) != 0)

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

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

#define CLASSTYPE_N_BASECLASSES ( NODE   )     (BINFO_N_BASETYPES (TYPE_BINFO (NODE)))

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

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

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

#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)

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

Referenced by check_field_decls(), and zero_init_p().

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

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

#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 1561 of file cp-tree.h.

Referenced by check_field_decls(), check_initializer(), and process_init_constructor().

#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 1569 of file cp-tree.h.

Referenced by check_field_decls(), and check_initializer().

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

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

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

Referenced by build_base_field(), cp_expr_size(), and end_of_base().

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

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

#define CLASSTYPE_TEMPLATE_LEVEL ( NODE   )     (TREE_INT_CST_LOW (TREE_PURPOSE (CLASSTYPE_TI_TEMPLATE (NODE))))

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

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

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

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

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

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

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

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

Referenced by build_base_field().

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

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

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

Referenced by add_vcall_offset(), and get_vcall_index().

#define CLASSTYPE_VFIELDS ( NODE   )     (LANG_TYPE_CLASS_CHECK (NODE)->vfields)

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

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

#define cleanup_type   cp_global_trees[CPTI_CLEANUP_TYPE]

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

Referenced by build_throw().

#define CLEAR_BINFO_MARKED ( NODE   ) 

Value:

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

Referenced by dfs_fixup_binfo_vtbls(), and dfs_unmark().

#define CLEAR_BINFO_PUSHDECLS_MARKED ( NODE   )     CLEAR_BINFO_VTABLE_PATH_MARKED (NODE)

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

Referenced by dfs_push_decls().

#define CLEAR_BINFO_VTABLE_PATH_MARKED ( NODE   ) 

Value:

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

Referenced by build_vtbl_initializer().

#define CLEAR_CLASSTYPE_MARKED ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 0)

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

Referenced by dfs_class_hint_unmark(), and xref_basetypes().

#define CLEAR_CLASSTYPE_MARKED2 ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 1)

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

Referenced by dfs_class_hint_unmark().

#define CLEAR_CLASSTYPE_MARKED3 ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 2)

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

#define CLEAR_CLASSTYPE_MARKED4 ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 3)

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

Referenced by is_subobject_of_p().

#define CLEAR_CLASSTYPE_MARKED5 ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 4)

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

#define CLEAR_CLASSTYPE_MARKED6 ( NODE   )     CLEAR_CLASSTYPE_MARKED_N (NODE, 5)

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

#define CLEAR_CLASSTYPE_MARKED_N ( NODE,
 ) 

Value:

(CLASS_TYPE_P (NODE)            \
   ? (void) (LANG_TYPE_CLASS_CHECK (NODE)->marks &= ~(1 << (N)))  \
   : (void) (TYPE_ALIAS_SET (NODE) &= ~(1 << (N))))

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

#define COMPARE_BASE   1

#define COMPARE_NO_ATTRIBUTES   8

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

Referenced by build_op_delete_call(), comptypes(), and instantiate_type().

#define COMPARE_REDECLARATION   4

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

Referenced by comp_array_types(), comptypes(), and decls_match().

#define COMPARE_RELAXED   2

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

Referenced by comptypes(), convert_to_reference(), and ptr_reasonably_similar().

#define COMPARE_STRICT   0

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

Referenced by comp_target_types(), comptypes(), and instantiate_type().

#define complete_ctor_identifier   cp_global_trees[CPTI_COMPLETE_CTOR_IDENTIFIER]

#define complete_dtor_identifier   cp_global_trees[CPTI_COMPLETE_DTOR_IDENTIFIER]

#define complete_type_or_else ( T,
V   )     (complete_type_or_diagnostic ((T), (V), 0))

#define CONV_C_CAST

#define CONV_CONST   4

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

Referenced by convert_to_reference().

#define CONV_FORCE_TEMP   64

#define CONV_IMPLICIT   1

#define CONV_OLD_CONVERT

Value:

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

Referenced by convert(), and cp_convert().

#define CONV_PRIVATE   16

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

#define CONV_REINTERPRET   8

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

Referenced by convert_to_reference(), and get_tinfo_ptr().

#define CONV_STATIC   2

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

Referenced by convert_to_reference(), and ocp_convert().

#define CONV_STATIC_CAST   (CONV_IMPLICIT | CONV_STATIC | CONV_FORCE_TEMP)

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

#define CP_AGGREGATE_TYPE_P ( TYPE   ) 

Value:

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

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

Referenced by check_initializer(), cp_expr_size(), expand_default_init(), reshape_init(), and reshape_init_r().

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

#define cp_build_qualified_type ( TYPE,
QUALS   )     cp_build_qualified_type_real ((TYPE), (QUALS), tf_error | tf_warning)

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

#define cp_deprecated ( STR   ) 

Value:

do {                    \
    if (warn_deprecated)              \
      warning ("%s is deprecated, please see the documentation for details",  \
         (STR));                \
  } while (0)

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

Referenced by c_common_decode_option(), finish_named_return_value(), and grokdeclarator().

#define cp_function_chain   (cfun->language)

#define CP_INTEGRAL_TYPE_P ( TYPE   ) 

Value:

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

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

Referenced by build_reinterpret_cast_1(), build_unary_op(), and null_ptr_cst_p().

#define CP_TYPE_CONST_NON_VOLATILE_P ( NODE   ) 

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

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

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

Referenced by dump_substitution_candidates(), and verify_type().

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

#define ctor_identifier   cp_global_trees[CPTI_CTOR_IDENTIFIER]

#define CTOR_NAME   "__ct"

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

Referenced by initialize_predefined_identifiers().

#define current_access_specifier   scope_chain->access_specifier

#define current_aggr   cp_global_trees[CPTI_AGGR_TAG]

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

Referenced by grokdeclarator(), and handle_class_head_apparent_template().

#define current_class_name   scope_chain->class_name

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

Referenced by finish_function(), grokdeclarator(), popclass(), and pushclass().

#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_class_type   scope_chain->class_type

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

Referenced by accessible_p(), add_defarg_fn(), add_implicitly_declared_members(), begin_destructor_body(), build_call_from_tree(), build_enumerator(), build_expr_from_tree(), build_member_call(), build_self_reference(), build_special_member_call(), build_unary_op(), check_accessibility_of_qualified_id(), check_default_tmpl_args(), check_tag_decl(), compute_array_index_type(), convert_template_argument(), cp_finish_decl(), cp_finish_file(), cp_parser_class_head(), cp_parser_constructor_declarator_p(), cp_parser_diagnose_invalid_type_name(), cp_parser_direct_declarator(), cp_parser_lookup_name(), cp_parser_member_declaration(), cp_parser_parameter_declaration(), cp_parser_parameter_declaration_clause(), cp_parser_save_default_args(), cp_parser_template_declaration_after_export(), current_decl_namespace(), current_scope(), currently_open_class(), currently_open_derived_class(), dfs_push_decls(), dfs_push_type_decls(), do_build_assign_ref(), do_build_copy_constructor(), do_class_using_decl(), do_friend(), duplicate_decls(), emit_mem_initializers(), enter_scope_of(), expand_member_init(), finish_call_expr(), finish_destructor_body(), finish_file(), finish_function(), finish_id_expression(), finish_member_class_template(), finish_member_declaration(), finish_method(), finish_qualified_id_expr(), finish_static_data_member_decl(), finish_struct(), grok_op_properties(), grokdeclarator(), grokfield(), grokfndecl(), GTY(), hack_identifier(), handle_class_head(), identifier_type(), lookup_member(), lookup_name_real(), lookup_nested_field(), lookup_template_class(), maybe_dummy_object(), maybe_note_name_used_in_class(), maybe_process_template_type_declaration(), maybe_snarf_defarg(), pop_nested_class(), popclass(), poplevel_class(), push_base_cleanups(), push_class_binding(), push_class_level_binding(), push_scope(), push_template_decl_real(), pushclass(), pushdecl(), pushdecl_maybe_friend(), pushlevel_class(), pushtag(), resolve_offset_ref(), resolve_scoped_fn_name(), setup_class_bindings(), snarf_method(), start_method(), synthesize_method(), tsubst_baselink(), tsubst_copy(), tsubst_friend_function(), tsubst_qualified_id(), warn_about_implicit_typename_lookup(), and xref_tag().

#define current_eh_spec_block   cp_function_chain->x_eh_spec_block

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

Referenced by finish_function(), and store_parm_decls().

#define current_function_return_value   (cp_function_chain->x_return_value)

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

Referenced by check_return_expr(), finish_function(), and genrtl_start_function().

#define current_function_returns_abnormally   cp_function_chain->returns_abnormally

#define current_function_returns_null   cp_function_chain->returns_null

#define current_function_returns_value   cp_function_chain->returns_value

#define current_in_charge_parm   cp_function_chain->x_in_charge_parm

#define current_lang_base   scope_chain->lang_base

#define current_lang_name   scope_chain->lang_name

#define current_namespace   scope_chain->old_namespace

#define current_template_parms   scope_chain->template_parms

#define current_vtt_parm   cp_function_chain->x_vtt_parm

#define cxx_alignof ( T   )     cxx_sizeof_or_alignof_type (T, ALIGNOF_EXPR, true)

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

Referenced by finish_alignof().

#define cxx_binding_clear ( B   )     memset ((B), 0, sizeof (cxx_binding))

 
#define cxx_binding_make (  )     (ggc_alloc (sizeof (cxx_binding)))

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

Referenced by binding_for_name(), and push_binding().

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

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

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

Referenced by expr_sizeof(), finish_destructor_body(), and finish_sizeof().

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

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

Referenced by build_delete(), and build_unary_op().

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

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

Referenced by alter_access(), and dfs_access_in_type().

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

#define DECL_ARRAY_DELETE_OPERATOR_P ( NODE   )     (DECL_OVERLOADED_OPERATOR_P (NODE) == VEC_DELETE_EXPR)

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

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

#define DECL_BASE_CONSTRUCTOR_P ( NODE   ) 

#define DECL_BASE_DESTRUCTOR_P ( NODE   ) 

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

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

Referenced by add_friend(), duplicate_decls(), friend_accessible_p(), and tsubst_decl().

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

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

Referenced by build_class_member_access_expr(), and check_explicit_specialization().

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

#define DECL_CLASS_TEMPLATE_P ( NODE   ) 

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

#define DECL_CLONED_FUNCTION_P ( NODE   ) 

#define DECL_COMPLETE_CONSTRUCTOR_P ( NODE   ) 

#define DECL_COMPLETE_DESTRUCTOR_P ( NODE   ) 

#define DECL_CONST_MEMFUNC_P ( NODE   ) 

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

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

Referenced by add_function_candidate(), add_method(), add_template_candidate_real(), begin_function_body(), begin_mem_initializers(), build_call(), build_cplus_new(), build_new(), build_new_method_call(), build_over_call(), build_template_decl(), build_user_type_conversion_1(), check_classfn(), check_explicit_specialization(), check_return_expr(), class_method_index_for_fn(), convert_like_real(), cp_dump_tree(), cp_parser_ctor_initializer_opt(), cp_parser_mem_initializer_list(), Create_ST_For_Tree(), do_friend(), dump_expr(), dump_function_decl(), dump_function_name(), expand_end_catch_block(), expand_java_field_op(), find_methodref_with_class_index(), finish_function(), finish_function_body(), finish_named_return_value(), finish_return_stmt(), fixed_type_or_null(), function_category(), generate_bytecode_insns(), generate_classfile(), grok_special_member_properties(), grokclassfn(), grokdeclarator(), grokfndecl(), GTY(), implicitly_declare_fn(), joust(), lang_print_error(), layout_class_method(), lookup_java_constructor(), make_method_value(), make_thunk(), maybe_retrofit_in_chrg(), maybe_warn_about_overly_private_class(), pp_cxx_decl_specifier_seq(), pp_cxx_function_specifier(), pp_cxx_qualified_id(), pp_cxx_type_specifier_seq(), put_decl_node(), sh_symbian_handle_dll_attribute(), special_function_p(), start_preparsed_function(), symbian_export_vtable_and_rtti_p(), symbian_possibly_export_base_class(), synthesize_method(), tsubst_decl(), verify_function(), WFE_is_default_constructor(), write_bare_function_type(), write_encoding(), and write_unqualified_name().

#define DECL_CONV_FN_P ( 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_COPY_CONSTRUCTOR_P ( NODE   )     (DECL_CONSTRUCTOR_P (NODE) && copy_fn_p (NODE) > 0)

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

#define DECL_DECLARED_INLINE_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.base.declared_inline)

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

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

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

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

Referenced by build_clone(), defer_fn(), GTY(), make_thunk(), mark_used(), and note_vague_linkage_fn().

#define DECL_DELETING_DESTRUCTOR_P ( NODE   ) 

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

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

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

Referenced by discriminator_for_local_entity(), and push_local_name().

#define DECL_DISCRIMINATOR_P ( NODE   ) 

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

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

Referenced by check_for_out_of_scope_variable().

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

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

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

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

#define DECL_FRIEND_CONTEXT ( NODE   ) 

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

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

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

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

#define DECL_FUNCTION_SCOPE_P ( NODE   ) 

#define DECL_FUNCTION_TEMPLATE_P ( NODE   ) 

#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_HAS_IN_CHARGE_PARM_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.has_in_charge_parm_p)

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

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

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

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

#define DECL_IN_MEMORY_P ( NODE   )     (DECL_RTL_SET_P (NODE) && GET_CODE (DECL_RTL (NODE)) == MEM)

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

Referenced by maybe_inject_for_scope_var().

#define DECL_INIT_PRIORITY ( NODE   )     (VAR_DECL_CHECK (NODE)->decl.u2.i)

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

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

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

#define DECL_INTERFACE_KNOWN ( NODE   )     DECL_LANG_FLAG_5 (NODE)

#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 1941 of file cp-tree.h.

Referenced by cp_dump_tree(), duplicate_decls(), and finish_member_declaration().

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

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

Referenced by equal_functions(), lookup_arg_dependent(), pushdecl(), and pushdecl_maybe_friend().

#define DECL_MAIN_P ( NODE   ) 

Value:

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

#define DECL_MAIN_P ( NODE   ) 

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

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

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

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

#define decl_namespace_list   scope_chain->decl_ns_list

#define DECL_NAMESPACE_SCOPE_P ( NODE   ) 

#define DECL_NAMESPACE_STD_P ( NODE   ) 

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

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

Referenced by add_using_namespace().

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

#define DECL_NEEDED_P ( DECL   ) 

Value:

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

Referenced by emit_tinfo_decl(), expand_body(), finish_file(), and maybe_emit_vtables().

#define DECL_NEEDS_FINAL_OVERRIDER_P ( NODE   )     (DECL_LANG_SPECIFIC (NODE)->decl_flags.needs_final_overrider)

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

Referenced by duplicate_decls(), and get_pure_virtuals().

#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 2180 of file cp-tree.h.

Referenced by mark_used(), pushdecl(), and pushdecl_maybe_friend().

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

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

#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 2145 of file cp-tree.h.

Referenced by build_offset_ref(), check_accessibility_of_qualified_id(), and protected_accessible_p().

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

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

#define DECL_OVERLOADED_OPERATOR_P ( NODE   ) 

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

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

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

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

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

Referenced by push_template_decl_real(), tsubst_decl(), and tsubst_friend_function().

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

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

#define DECL_SAVED_FUNCTION_DATA ( NODE   ) 

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

#define DECL_SHADOWED_FOR_VAR ( NODE   )     DECL_RESULT_FLD(VAR_DECL_CHECK (NODE))

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

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

Referenced by cxx_print_decl(), finish_struct_1(), and lookup_field_1().

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

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

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

Referenced by add_method(), and push_template_decl_real().

#define DECL_TEMPLATE_INFO ( NODE   ) 

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

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

#define DECL_TEMPLATE_INSTANTIATIONS ( NODE   )     DECL_VINDEX (NODE)

#define DECL_TEMPLATE_PARM_P ( NODE   )