#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "obstack.h"#include "tree.h"#include "pointer-set.h"#include "flags.h"#include "c-common.h"#include "cp-tree.h"#include "cp-objcp-common.h"#include "tree-inline.h"#include "decl.h"#include "output.h"#include "except.h"#include "toplev.h"#include "rtl.h"#include "timevar.h"#include "tree-iterator.h"#include "vecprim.h"#include "gt-cp-pt.h"

Go to the source code of this file.
| #define ccat | ( | C | ) | obstack_1grow (&scratch_obstack, (C)); |
| #define RECUR | ( | NODE | ) |
Value:
tsubst_copy_and_build (NODE, args, complain, in_decl, \ /*function_p=*/false, \ integral_constant_expression_p)
| #define RECUR | ( | NODE | ) |
Value:
tsubst_expr ((NODE), args, complain, in_decl, \ integral_constant_expression_p)
| #define RECUR | ( | t | ) | tsubst_copy_asm_operands (t, args, complain, in_decl) |
| #define UNIFY_ALLOW_DERIVED 4 |
| #define UNIFY_ALLOW_INTEGER 8 |
| #define UNIFY_ALLOW_LESS_CV_QUAL 2 |
| #define UNIFY_ALLOW_MORE_CV_QUAL 1 |
| #define UNIFY_ALLOW_NONE 0 |
| #define UNIFY_ALLOW_OUTER_LESS_CV_QUAL 64 |
| #define UNIFY_ALLOW_OUTER_LEVEL 16 |
| #define UNIFY_ALLOW_OUTER_MORE_CV_QUAL 32 |
Definition at line 460 of file pt.c.
References add_to_template_args(), gcc_assert, TMPL_ARGS_DEPTH, and TREE_VEC_LENGTH.
Definition at line 4390 of file pt.c.
References CLASSTYPE_TEMPLATE_INFO, DECL_TEMPLATE_INFO, NULL_TREE, pop_tinst_level(), pt, push_tinst_level(), ti, TI_PENDING_TEMPLATE_FLAG, TINST_DECL, TREE_CHAIN, tree_cons, and TYPE_P.
Definition at line 433 of file pt.c.
References i, make_tree_vec, SET_TMPL_ARGS_LEVEL, TMPL_ARGS_DEPTH, and TMPL_ARGS_LEVEL.
Definition at line 13143 of file pt.c.
References dependent_template_arg_p(), error_mark_node, i, TMPL_ARGS_DEPTH, TMPL_ARGS_LEVEL, TREE_VEC_ELT, and TREE_VEC_LENGTH.
Referenced by dependent_template_id_p(), dependent_type_p_r(), finish_id_expression(), grokdeclarator(), type_dependent_expression_p(), and uses_template_parms().
Definition at line 13108 of file pt.c.
References TREE_CHAIN, TREE_VALUE, and type_dependent_expression_p().
Referenced by build_new(), build_offset_ref_call_from_tree(), cp_parser_postfix_expression(), finish_call_expr(), and perform_koenig_lookup().
Definition at line 585 of file pt.c.
References begin_scope(), check_specialization_scope(), note_template_header(), NULL, and sk_template_spec.
Definition at line 519 of file pt.c.
References begin_scope(), note_template_header(), NULL, processing_template_decl, and sk_template_parms.
| static void bt_instantiate_type_proc | ( | binding_entry | entry, | |
| void * | data | |||
| ) | [static] |
Definition at line 11722 of file pt.c.
References CLASSTYPE_TI_ARGS, do_type_instantiation(), IS_AGGR_TYPE, storage, TYPE_MAIN_DECL, and uses_template_parms().
Definition at line 13365 of file pt.c.
References a, build_non_dependent_expr(), nreverse(), NULL_TREE, TREE_CHAIN, tree_cons, and TREE_VALUE.
Referenced by build_new(), build_new_method_call(), build_offset_ref_call_from_tree(), and finish_call_expr().
Definition at line 13287 of file pt.c.
References build1, build2, build3, build_non_dependent_expr(), COMPOUND_EXPR_OVERLOADED, gcc_assert, is_overloaded_fn(), non_reference(), null_ptr_cst_p(), TREE_CODE, TREE_OPERAND, TREE_TYPE, and unknown_type_node.
Referenced by build_new(), build_new_method_call(), build_non_dependent_args(), build_non_dependent_expr(), build_offset_ref_call_from_tree(), build_x_binary_op(), build_x_compound_expr(), build_x_conditional_expr(), build_x_indirect_ref(), build_x_unary_op(), finish_call_expr(), finish_class_member_access_expr(), finish_expr_stmt(), finish_for_expr(), finish_omp_atomic(), and grok_array_decl().
Definition at line 2597 of file pt.c.
References build_lang_decl(), DECL_ASSIGNMENT_OPERATOR_P, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_DESTRUCTOR_P, DECL_LANG_SPECIFIC, DECL_MEMBER_TEMPLATE_P, DECL_NAME, DECL_NONCONVERTING_P, DECL_OVERLOADED_OPERATOR_P, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_PARMS, NULL_TREE, and SET_OVERLOADED_OPERATOR_CODE.
| static tree build_template_parm_index | ( | int | index, | |
| int | level, | |||
| int | orig_level, | |||
| tree | decl, | |||
| tree | type | |||
| ) | [static] |
Definition at line 2326 of file pt.c.
References make_node, TEMPLATE_PARM_DECL, TEMPLATE_PARM_IDX, TEMPLATE_PARM_LEVEL, TEMPLATE_PARM_ORIG_LEVEL, TREE_CONSTANT, TREE_INVARIANT, TREE_READONLY, and TREE_TYPE.
| static int can_complete_type_without_circularity | ( | tree | type | ) | [static] |
Definition at line 5665 of file pt.c.
References can_complete_type_without_circularity(), CLASS_TYPE_P, COMPLETE_TYPE_P, error_mark_node, NULL_TREE, TREE_CODE, TREE_TYPE, TYPE_BEING_DEFINED, TYPE_DOMAIN, and TYPE_MAIN_VARIANT.
Definition at line 10318 of file pt.c.
References cp_type_quals(), POINTER_TYPE_P, TREE_CODE, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, UNIFY_ALLOW_LESS_CV_QUAL, UNIFY_ALLOW_MORE_CV_QUAL, UNIFY_ALLOW_OUTER_LESS_CV_QUAL, and UNIFY_ALLOW_OUTER_MORE_CV_QUAL.
| static void check_default_tmpl_args | ( | tree | decl, | |
| tree | parms, | |||
| int | is_primary, | |||
| int | is_partial | |||
| ) | [static] |
Definition at line 2856 of file pt.c.
References CP_DECL_CONTEXT, current_class_type, DECL_CONTEXT, DECL_FRIEND_CONTEXT, DECL_FUNCTION_MEMBER_P, DECL_INITIALIZED_IN_CLASS_P, DECL_LANG_SPECIFIC, error(), error_mark_node, i, msg, NULL_TREE, same_type_p, template_class_depth(), TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, and TYPE_BEING_DEFINED.
Definition at line 673 of file pt.c.
References current_namespace, decl_namespace_context(), is_ancestor(), and pedwarn().
Referenced by do_decl_instantiation(), and do_type_instantiation().
Definition at line 1822 of file pt.c.
References abort, CLASSTYPE_DESTRUCTORS, CLASSTYPE_FIRST_CONVERSION_SLOT, CLASSTYPE_METHOD_VEC, CLASSTYPE_TEMPLATE_INSTANTIATION, clone_function_decl(), constructor_name_p(), copy_default_args_to_explicit_spec(), CP_DECL_CONTEXT, ctor_identifier, current_lang_name, current_namespace, current_tmpl_spec_kind(), DECL_ARGUMENTS, DECL_CLASS_CONTEXT, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_CONV_FN_P, DECL_DESTRUCTOR_P, DECL_INITIAL, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_SOURCE_LOCATION, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, determine_specialization(), dtor_identifier, error(), error_mark_node, gcc_assert, gcc_unreachable, i, IDENTIFIER_NAMESPACE_VALUE, idx, instantiate_template(), is_associated_namespace(), is_friend(), is_overloaded_fn(), lang_name_c, last_function_parms, lookup_fnfields_1(), lookup_qualified_name(), lookup_template_function(), make_tree_vec, most_general_template(), my_friendly_assert, NULL_TREE, ovl_cons(), OVL_CURRENT, OVL_NEXT, pedantic, pedwarn(), processing_specialization, register_specialization(), revert_static_member_fn(), SET_DECL_IMPLICIT_INSTANTIATION, SET_DECL_TEMPLATE_SPECIALIZATION, tf_error, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, tree_cons, TREE_OPERAND, TREE_PRIVATE, TREE_PROTECTED, TREE_PURPOSE, TREE_TYPE, TREE_VEC_ELT, TREE_VEC_LENGTH, tsk_excessive_parms, tsk_expl_inst, tsk_expl_spec, tsk_insufficient_parms, tsk_invalid_expl_inst, tsk_invalid_member_spec, tsk_none, tsk_template, TYPE_ARG_TYPES, TYPE_BEING_DEFINED, TYPE_HAS_CONSTRUCTOR, TYPE_HAS_DESTRUCTOR, uses_template_parms(), VEC, VEC_index, and VEC_iterate.
| static bool check_instantiated_args | ( | tree | tmpl, | |
| tree | args, | |||
| tsubst_flags_t | complain | |||
| ) | [static] |
Definition at line 9482 of file pt.c.
References DECL_NTPARMS, error(), INTEGRAL_OR_ENUMERATION_TYPE_P, len, no_linkage_check(), NULL_TREE, result, tf_error, TREE_CONSTANT, TREE_TYPE, TREE_VEC_ELT, TYPE_ANONYMOUS_P, TYPE_P, and variably_modified_type_p().
Definition at line 645 of file pt.c.
References current_namespace, decl_namespace_context(), is_associated_namespace(), and pedwarn().
Definition at line 546 of file pt.c.
References current_scope(), current_template_parms, error(), and TREE_CODE.
Definition at line 2285 of file pt.c.
References cp_error_at(), current_template_parms, DECL_NAME, DECL_P, DECL_TEMPLATE_PARM_P, error(), IDENTIFIER_VALUE, innermost_non_namespace_value(), OVL_CURRENT, TEMPLATE_PARMS_FOR_INLINE, and TREE_CODE.
Definition at line 4362 of file pt.c.
References CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_SPECIALIZATION, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NAME, get_identifier(), IDENTIFIER_POINTER, IDENTIFIER_TEMPLATE, mangle_class_name_for_template(), most_general_template(), PRIMARY_TEMPLATE_P, and TYPE_IDENTIFIER.
| static tree coerce_template_parms | ( | tree | parms, | |
| tree | args, | |||
| tree | in_decl, | |||
| tsubst_flags_t | complain, | |||
| bool | require_all_args, | |||
| bool | use_default_args | |||
| ) | [static] |
Definition at line 4141 of file pt.c.
References add_outermost_template_args(), convert_template_argument(), error(), error_mark_node, gcc_assert, i, INNERMOST_TEMPLATE_ARGS, make_tree_vec, NUM_TMPL_ARGS, skip_evaluation, tf_error, TREE_PURPOSE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, and tsubst_template_arg().
| static int coerce_template_template_parms | ( | tree | parm_parms, | |
| tree | arg_parms, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl, | |||
| tree | outer_args | |||
| ) | [static] |
Definition at line 3878 of file pt.c.
References coerce_template_template_parms(), DECL_INNERMOST_TEMPLATE_PARMS, dependent_type_p(), error_mark_node, gcc_assert, gcc_unreachable, i, NULL_TREE, same_type_p, TREE_CODE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, and tsubst().
Definition at line 4253 of file pt.c.
References i, template_args_equal(), TREE_VEC_ELT, and TREE_VEC_LENGTH.
Definition at line 2229 of file pt.c.
References error_mark_node, gcc_assert, i, my_friendly_assert, NULL_TREE, p1, p2, same_type_p, t1, t2, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, and TREE_VEC_LENGTH.
Definition at line 3553 of file pt.c.
References addr(), at_least_as_qualified_p(), build_address(), build_nop(), can_convert(), CONV_IMPLICIT, convert_nontype_argument_function(), decay_conversion(), DECL_EXTERNAL_LINKAGE_P, DECL_P, DECL_TEMPLATE_PARM_P, error(), error_mark_node, error_operand_p, fold(), fold_decl_constant_value(), fold_non_dependent_expr(), gcc_assert, gcc_unreachable, inform(), instantiate_type(), INTEGRAL_TYPE_P, LOOKUP_PROTECT, NULL_TREE, ocp_convert(), perform_qualification_conversions(), real_lvalue_p(), same_type_ignoring_top_level_qualifiers_p, same_type_p, STRIP_NOPS, tf_none, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_PTRFN_P, TYPE_PTRMEM_P, TYPE_PTRMEMFUNC_P, TYPE_PTROBV_P, TYPE_REF_OBJ_P, TYPE_REFFN_P, and type_unknown_p().
Definition at line 3500 of file pt.c.
References BASELINK_FUNCTIONS, DECL_EXTERNAL_LINKAGE_P, error(), error_mark_node, instantiate_type(), NULL_TREE, tf_none, TREE_CODE, and TREE_OPERAND.
| static tree convert_template_argument | ( | tree | parm, | |
| tree | arg, | |||
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| int | i, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 3961 of file pt.c.
References canonical_type_variant(), coerce_template_template_parms(), convert_nontype_argument(), DECL_INNERMOST_TEMPLATE_PARMS, DECL_NAME, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_TEMPLATE_PARM_P, error(), error_mark_node, invalid_nontype_parm_type_p(), make_typename_type(), NULL_TREE, pedwarn(), tf_error, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, tsubst(), TYPE_P, TYPE_STUB_DECL, typename_type, unknown_type_node, uses_template_parms(), and val.
Definition at line 1705 of file pt.c.
References build_exception_variant(), build_function_type(), build_method_type_directly(), copy_default_args_to_explicit_spec_1(), cp_build_type_attribute_variant(), DECL_HAS_IN_CHARGE_PARM_P, DECL_HAS_VTT_PARM_P, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_TEMPLATE_RESULT, DECL_TI_TEMPLATE, hash_tree_cons(), NULL_TREE, TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_ATTRIBUTES, and TYPE_RAISES_EXCEPTIONS.
Definition at line 1671 of file pt.c.
References copy_default_args_to_explicit_spec_1(), hash_tree_cons(), NULL_TREE, TREE_CHAIN, TREE_PURPOSE, TREE_VALUE, and void_list_node.
Definition at line 2540 of file pt.c.
References a, args, copy_node, current_template_parms, DECL_INITIAL, error_mark_node, i, length, make_tree_vec, NULL_TREE, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, and TREE_VEC_LENGTH.
Definition at line 12815 of file pt.c.
References currently_open_class(), DECL_P, dependent_type_p(), gcc_assert, TREE_CODE, TREE_OPERAND, and TYPE_P.
Definition at line 13124 of file pt.c.
References dependent_template_p(), dependent_type_p(), processing_template_decl, TREE_CODE, type_dependent_expression_p(), TYPE_P, and value_dependent_expression_p().
Definition at line 13197 of file pt.c.
References any_dependent_template_arguments_p(), and dependent_template_p().
Referenced by finish_class_member_access_expr().
Definition at line 13167 of file pt.c.
References CP_DECL_CONTEXT, DECL_CONTEXT, DECL_TEMPLATE_TEMPLATE_PARM_P, dependent_template_p(), dependent_type_p(), OVL_CHAIN, OVL_FUNCTION, TREE_CODE, and TYPE_P.
Referenced by dependent_template_arg_p(), dependent_template_id_p(), dependent_template_p(), and finish_id_expression().
Definition at line 12779 of file pt.c.
References dependent_type_p_r(), error_mark_node, gcc_assert, processing_template_decl, TREE_CODE, TYPE_DEPENDENT_P, and TYPE_DEPENDENT_P_VALID.
Referenced by build_cplus_array_type_1(), build_new(), build_offset_ref(), cast_valid_in_integral_constant_expression_p(), check_accessibility_of_qualified_id(), check_function_type(), coerce_template_template_parms(), complete_type(), compute_array_index_type(), cp_finish_decl(), cp_parser_cast_expression(), cp_parser_class_name(), cp_parser_diagnose_invalid_type_name(), cp_parser_lookup_name(), cp_parser_nested_name_specifier_opt(), cp_parser_parse_and_diagnose_invalid_type_name(), cp_parser_postfix_expression(), cp_parser_template_name(), currently_open_derived_class(), cxx_sizeof_or_alignof_type(), dependent_scope_ref_p(), dependent_template_arg_p(), dependent_template_p(), dependent_type_p_r(), do_class_using_decl(), finish_class_member_access_expr(), finish_function(), finish_id_expression(), finish_stmt_expr_expr(), grokbitfield(), grokdeclarator(), implicitly_declare_fn(), instantiate_class_template(), make_typename_type(), make_unbound_class_template(), mark_used(), pp_cxx_template_keyword_if_needed(), require_complete_types_for_parms(), tsubst_friend_function(), tsubst_qualified_id(), type_dependent_expression_p(), uses_template_parms(), value_dependent_expression_p(), and xref_basetypes().
Definition at line 12679 of file pt.c.
References any_dependent_template_arguments_p(), CLASS_TYPE_P, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, dependent_type_p(), INNERMOST_TEMPLATE_ARGS, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_CONTEXT, type_dependent_expression_p(), TYPE_DOMAIN, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_P, TYPE_PTR_TO_MEMBER_P, TYPE_PTRMEM_CLASS_TYPE, TYPE_PTRMEM_POINTED_TO_TYPE, and value_dependent_expression_p().
| static tree determine_specialization | ( | tree | template_id, | |
| tree | decl, | |||
| tree * | targs_out, | |||
| int | need_member_template, | |||
| int | template_count, | |||
| tmpl_spec_kind | tsk | |||
| ) | [static] |
Definition at line 1378 of file pt.c.
References b, BASELINK_FUNCTIONS, BASELINK_P, chainon(), compparms(), copy_node, current_binding_level, current_template_parms, DECL_ARTIFICIAL, DECL_FUNCTION_MEMBER_P, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_RESULT, DECL_TI_ARGS, DECL_TI_TEMPLATE, error(), error_mark_node, get_bindings(), INNERMOST_TEMPLATE_PARMS, is_overloaded_fn(), list_length(), most_specialized_instantiation(), NULL_TREE, OVL_CURRENT, OVL_NEXT, print_candidates(), same_type_p, SET_TMPL_ARGS_LEVEL, sk_template_parms, skip_artificial_parms_for(), TMPL_ARGS_DEPTH, TMPL_ARGS_HAVE_MULTIPLE_LEVELS, TREE_CHAIN, TREE_CODE, tree_cons, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_LENGTH, tsk_template, and TYPE_ARG_TYPES.
Definition at line 11600 of file pt.c.
References check_explicit_instantiation_namespace(), DECL_CONTEXT, DECL_EXPLICIT_INSTANTIATION, DECL_IMPLICIT_INSTANTIATION, DECL_INTERFACE_KNOWN, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NOT_REALLY_EXTERN, DECL_TEMPLATE_INFO, DECL_TEMPLATE_SPECIALIZATION, error(), error_mark_node, flag_external_templates, flag_use_repository, in_system_header, instantiate_decl(), lookup_field(), mark_decl_instantiated(), NULL_TREE, pedantic, pedwarn(), repo_template_instantiated(), result, RID_EXTERN, ridpointers, SET_DECL_EXPLICIT_INSTANTIATION, and TREE_CODE.
Referenced by cp_parser_explicit_instantiation().
| void do_type_instantiation | ( | tree | t, | |
| tree | storage, | |||
| tsubst_flags_t | complain | |||
| ) |
Definition at line 11749 of file pt.c.
References binding_table_foreach(), bt_instantiate_type_proc(), check_explicit_instantiation_namespace(), CLASS_TYPE_P, CLASSTYPE_EXPLICIT_INSTANTIATION, CLASSTYPE_INTERFACE_ONLY, CLASSTYPE_NESTED_UDTS, CLASSTYPE_NESTED_UTDS, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_SPECIALIZATION, complete_type(), COMPLETE_TYPE_P, DECL_TEMPLATE_INSTANTIATION, error(), flag_external_templates, flag_use_repository, IDENTIFIER_POINTER, in_system_header, instantiate_class_member(), instantiate_decl(), mark_class_instantiated(), mark_decl_instantiated(), NULL_TREE, pedantic, pedwarn(), repo_template_instantiated(), RID_EXTERN, RID_INLINE, RID_STATIC, ridpointers, tf_error, tmp, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_FIELDS, TYPE_METHODS, and TYPE_NAME.
Definition at line 633 of file pt.c.
References gcc_assert, my_friendly_assert, and processing_explicit_instantiation.
Definition at line 2522 of file pt.c.
References current_template_parms, finish_scope(), processing_template_decl, reset_specialization(), and TREE_CHAIN.
Definition at line 2497 of file pt.c.
References current_template_parms, list_length(), make_tree_vec, next, NULL_TREE, processing_template_decl, size_int, TREE_CHAIN, tree_cons, and TREE_VEC_ELT.
Definition at line 1327 of file pt.c.
References CLASSTYPE_TEMPLATE_SPECIALIZATION, CLASSTYPE_TI_ARGS, and uses_template_parms().
Referenced by cp_parser_check_declarator_template_parameters().
Definition at line 219 of file pt.c.
References check_member_template(), CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_SPECIALIZATION, CLASSTYPE_TI_TEMPLATE, DECL_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_SPECIALIZATION, DECL_TI_TEMPLATE, error(), error_mark_node, gcc_assert, IS_AGGR_TYPE, NULL_TREE, TREE_CODE, TREE_TYPE, TREE_VALUE, and void_type_node.
| int fn_type_unification | ( | tree | fn, | |
| tree | explicit_targs, | |||
| tree | targs, | |||
| tree | args, | |||
| tree | return_type, | |||
| unification_kind_t | strict, | |||
| int | flags | |||
| ) |
Definition at line 9675 of file pt.c.
References coerce_template_parms(), DECL_INNERMOST_TEMPLATE_PARMS, DECL_NONSTATIC_MEMBER_FUNCTION_P, error_mark_node, gcc_assert, i, my_friendly_assert, NULL_TREE, NUM_TMPL_ARGS, processing_template_decl, result, skip_artificial_parms_for(), tf_none, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TREE_VEC_ELT, TREE_VEC_LENGTH, tsubst(), TYPE_ARG_TYPES, and type_unification_real().
Definition at line 3481 of file pt.c.
References fold_non_dependent_expr(), and integral_constant_value().
Definition at line 3440 of file pt.c.
References HOST_WIDE_INT, NULL_TREE, processing_template_decl, tf_error, tsubst_copy_and_build(), type_dependent_expression_p(), and value_dependent_expression_p().
Referenced by constant_value_1(), convert_nontype_argument(), cp_finish_decl(), cp_parser_condition(), cp_parser_direct_declarator(), cp_parser_initializer_clause(), cp_parser_parenthesized_expression_list(), cp_parser_template_argument(), fold_decl_constant_value(), integral_constant_value(), and tsubst_template_arg().
| static int for_each_template_parm | ( | tree | t, | |
| tree_fn_t | fn, | |||
| void * | data, | |||
| struct pointer_set_t * | visited | |||
| ) | [static] |
Definition at line 5128 of file pt.c.
References pair_fn_data::data, pair_fn_data::fn, for_each_template_parm_r(), NULL_TREE, pointer_set_create(), pointer_set_destroy(), result, pair_fn_data::visited, and walk_tree().
Definition at line 4952 of file pt.c.
References BASELINK_FUNCTIONS, pair_fn_data::data, DECL_CONTEXT, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARM_P, DECL_TEMPLATE_TEMPLATE_PARM_P, DECL_TI_ARGS, error_mark_node, pair_fn_data::fn, for_each_template_parm(), NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_CONTEXT, TYPE_FIELDS, TYPE_METHOD_BASETYPE, TYPE_P, TYPE_PTRMEMFUNC_FN_TYPE, TYPE_PTRMEMFUNC_P, TYPE_TEMPLATE_INFO, TYPE_TI_ARGS, TYPENAME_TYPE_FULLNAME, and pair_fn_data::visited.
Definition at line 11256 of file pt.c.
References coerce_template_parms(), DECL_CONV_FN_P, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NTPARMS, DECL_TEMPLATE_INFO, DECL_TI_TEMPLATE, DEDUCE_EXACT, error_mark_node, fn_type_unification(), LOOKUP_NORMAL, make_tree_vec, NULL_TREE, skip_artificial_parms_for(), tf_none, TREE_TYPE, tsubst(), TYPE_ARG_TYPES, and uses_template_parms().
Definition at line 11322 of file pt.c.
References comp_template_args(), copy_node, error_mark_node, i, INNERMOST_TEMPLATE_ARGS, make_tree_vec, NULL_TREE, SET_TMPL_ARGS_LEVEL, tf_none, TMPL_ARGS_DEPTH, TMPL_ARGS_HAVE_MULTIPLE_LEVELS, TREE_VEC_ELT, TREE_VEC_LENGTH, tsubst(), unify(), and UNIFY_ALLOW_NONE.
Definition at line 487 of file pt.c.
References gcc_assert, i, make_tree_vec, my_friendly_assert, SET_TMPL_ARGS_LEVEL, TMPL_ARGS_DEPTH, and TMPL_ARGS_LEVEL.
Definition at line 12570 of file pt.c.
References DECL_NTPARMS, DECL_TEMPLATE_PARMS, DECL_TI_ARGS, DECL_TI_TEMPLATE, flag_access_control, gcc_assert, i, make_tree_vec, most_general_template(), my_friendly_assert, NULL_TREE, pop_access_scope(), processing_template_decl, push_access_scope(), SET_TMPL_ARGS_LEVEL, tf_error, TMPL_ARGS_DEPTH, TMPL_ARGS_LEVEL, TMPL_PARMS_DEPTH, TREE_TYPE, TREE_VEC_LENGTH, tsubst(), and tsubst_template_parms().
Definition at line 10255 of file pt.c.
References BINFO_TYPE, complete_type(), gcc_assert, IS_AGGR_TYPE_CODE, NULL_TREE, r, same_type_p, TREE_CHAIN, TREE_CODE, try_class_unification(), and TYPE_BINFO.
| static int inline_needs_template_parms | ( | tree | decl | ) | [static] |
Definition at line 310 of file pt.c.
References DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_SPECIALIZATION, most_general_template(), processing_template_decl, and TMPL_PARMS_DEPTH.
Definition at line 5681 of file pt.c.
References access, access_private_node, access_private_virtual_node, access_protected_node, access_protected_virtual_node, access_public_node, access_public_virtual_node, add_friend(), ANON_AGGR_TYPE_P, args, base, BINFO_BASE_ACCESS, BINFO_BASE_ITERATE, BINFO_N_BASE_BINFOS, BINFO_TYPE, BINFO_VIRTUAL_P, bitsize_zero_node, can_complete_type_without_circularity(), check_static_variable_definition(), CLASSTYPE_DECL_LIST, CLASSTYPE_GOT_SEMICOLON, CLASSTYPE_INTERFACE_ONLY, CLASSTYPE_INTERFACE_UNKNOWN, CLASSTYPE_IS_TEMPLATE, CLASSTYPE_KEY_METHOD, CLASSTYPE_NESTED_UDTS, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, CLASSTYPE_USE_TEMPLATE, CLASSTYPE_VBASECLASSES, CLASSTYPE_VISIBILITY, CLASSTYPE_VISIBILITY_SPECIFIED, complete_type(), COMPLETE_TYPE_P, copy_node, cp_error_at(), cxx_incomplete_type_error, DECL_ARTIFICIAL, DECL_CLASS_SCOPE_P, DECL_CLASS_TEMPLATE_P, DECL_FUNCTION_TEMPLATE_P, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_INITIALIZED_IN_CLASS_P, decl_namespace_context(), DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_SOURCE_LOCATION, DECL_TEMPLATE_INFO, DECL_TEMPLATE_SPECIALIZATIONS, dependent_type_p(), dk_no_check, dk_no_deferred, error(), error_mark_node, finish_member_declaration(), finish_static_data_member_decl(), finish_struct_1(), flag_alt_external_templates, flag_external_templates, gcc_assert, get_class_bindings(), global_namespace, grok_special_member_properties(), hidden_name_p(), i, in_system_header, input_filename, input_location, integer_type_node, interface_only, interface_unknown, keyed_classes, lineno, make_friend_class(), maybe_push_to_top_level(), member(), most_general_template(), most_specialized_class(), my_friendly_assert, nreverse(), NULL_TREE, PARTIAL_INSTANTIATION_P, pattern, pedantic, pop_deferring_access_checks(), pop_from_top_level(), pop_nested_namespace(), pop_scope(), pop_tinst_level(), popclass(), PRIMARY_TEMPLATE_P, processing_template_decl, push_deferring_access_checks(), push_nested_namespace(), push_scope(), push_tinst_level(), push_to_top_level(), pushclass(), pushtag(), r, repo_template_used(), SET_ANON_AGGR_TYPE_P, SET_CLASSTYPE_INTERFACE_UNKNOWN, SET_CLASSTYPE_INTERFACE_UNKNOWN_X, set_current_access_from_decl(), SET_IDENTIFIER_TYPE_VALUE, SET_TMPL_ARGS_LEVEL, str, tag, tf_error, tf_warning, tf_warning_or_error, TMPL_ARGS_DEPTH, TMPL_ARGS_HAVE_MULTIPLE_LEVELS, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TREE_VIA_PROTECTED, TREE_VIA_PUBLIC, TREE_VIA_VIRTUAL, ts_current, tsubst(), tsubst_default_arguments(), tsubst_expr(), tsubst_friend_class(), tsubst_friend_function(), TYPE_ALIGN, TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_BEING_DEFINED, TYPE_BINFO, TYPE_BINFO_BASETYPES, TYPE_CONTAINS_VPTR_P, TYPE_CONTEXT, TYPE_FIELDS, TYPE_FOR_JAVA, TYPE_GETS_DELETE, TYPE_HAS_ABSTRACT_ASSIGN_REF, TYPE_HAS_ARRAY_NEW_OPERATOR, TYPE_HAS_ASSIGN_REF, TYPE_HAS_CONST_ASSIGN_REF, TYPE_HAS_CONST_INIT_REF, TYPE_HAS_CONSTRUCTOR, TYPE_HAS_CONVERSION, TYPE_HAS_DEFAULT_CONSTRUCTOR, TYPE_HAS_DESTRUCTOR, TYPE_HAS_INIT_REF, TYPE_HAS_NEW_OPERATOR, TYPE_IDENTIFIER, TYPE_LANG_SPECIFIC, TYPE_MAIN_DECL, TYPE_METHODS, TYPE_NAME, TYPE_OVERLOADS_ARRAY_REF, TYPE_OVERLOADS_ARROW, TYPE_OVERLOADS_CALL_EXPR, TYPE_P, TYPE_PACKED, TYPE_SIZE, TYPE_USER_ALIGN, TYPE_USES_MULTIPLE_INHERITANCE, TYPE_USES_VIRTUAL_BASECLASSES, unreverse_member_declarations(), uses_template_parms(), xref_basetypes(), and xref_tag_from_type().
Definition at line 12038 of file pt.c.
References add_pending_template(), args, at_eof, cfun, cp_finish_decl(), DECL_ARGUMENTS, DECL_CLONED_FUNCTION, DECL_CLONED_FUNCTION_P, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXPLICIT_INSTANTIATION, DECL_EXTERNAL, DECL_IN_AGGR_P, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P, DECL_INITIALIZED_IN_CLASS_P, DECL_INITIALIZED_P, DECL_INLINE, DECL_INTERFACE_KNOWN, decl_namespace_context(), DECL_NAMESPACE_SCOPE_P, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_NOT_REALLY_EXTERN, DECL_REALLY_EXTERN, DECL_SAVED_TREE, DECL_SOURCE_LOCATION, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATED, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATION, DECL_TI_ARGS, DECL_TI_TEMPLATE, dk_no_deferred, eq_local_specializations(), expand_or_defer_fn(), finish_decl(), finish_function(), flag_inline_trees, gcc_assert, get_innermost_template_args(), global_bindings_p(), hash_local_specialization(), htab_create(), htab_delete(), in_system_header, input_location, LOOKUP_ONLYCONVERTING, mark_definable(), most_general_template(), NULL, NULL_RTX, NULL_TREE, out, pch_file, pedwarn(), pop_access_scope(), pop_deferring_access_checks(), pop_from_top_level(), pop_nested_class(), pop_nested_namespace(), pop_tinst_level(), push_access_scope(), push_deferring_access_checks(), push_nested_class(), push_nested_namespace(), push_tinst_level(), push_to_top_level(), regenerate_decl_from_template(), register_local_specialization(), repo_emit_p(), retrieve_specialization(), SET_DECL_IMPLICIT_INSTANTIATION, SET_DECL_RTL, SF_PRE_PARSED, skip_artificial_parms_for(), start_preparsed_function(), template_for_substitution(), tf_error, tf_warning, tf_warning_or_error, TI_PENDING_TEMPLATE_FLAG, timevar_pop, timevar_push, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_TYPE, tsubst(), tsubst_expr(), and TYPE_RAISES_EXCEPTIONS.
| void instantiate_pending_templates | ( | int | retries | ) |
Definition at line 12382 of file pt.c.
References CLASSTYPE_TEMPLATE_INSTANTIATION, COMPLETE_TYPE_P, cp_error_at(), DECL_ARTIFICIAL, DECL_INITIAL, DECL_TEMPLATE_INSTANTIATED, DECL_TEMPLATE_SPECIALIZATION, error(), error_mark_node, in_system_header, input_location, instantiate_class_template(), instantiate_decl(), last, NULL_TREE, reopen_tinst_level(), TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_VALUE, TYPE_METHODS, and TYPE_P.
| tree instantiate_template | ( | tree | tmpl, | |
| tree | targ_ptr, | |||
| tsubst_flags_t | complain | |||
| ) |
Definition at line 9543 of file pt.c.
References add_outermost_template_args(), check_instantiated_args(), clone_function_decl(), DECL_CLONED_FUNCTION, DECL_CLONED_FUNCTION_P, DECL_NAME, DECL_TEMPLATE_RESULT, DECL_TI_ARGS, DECL_TI_TEMPLATE, dk_deferred, error_mark_node, FOR_EACH_CLONE, gcc_assert, gcc_unreachable, HOST_WIDE_INT, INNERMOST_TEMPLATE_ARGS, instantiate_template(), most_general_template(), NULL_TREE, perform_deferred_access_checks(), pop_access_scope(), pop_deferring_access_checks(), processing_template_decl, push_access_scope(), push_deferring_access_checks(), retrieve_specialization(), TREE_CHAIN, TREE_CODE, and tsubst().
| static int invalid_nontype_parm_type_p | ( | tree | type, | |
| tsubst_flags_t | complain | |||
| ) | [static] |
Definition at line 12657 of file pt.c.
References error(), INTEGRAL_TYPE_P, POINTER_TYPE_P, tf_error, TREE_CODE, and TYPE_PTR_TO_MEMBER_P.
Definition at line 937 of file pt.c.
References CLASSTYPE_TI_TEMPLATE, CLASSTYPE_USE_TEMPLATE, DECL_TEMPLATE_INFO, DECL_TI_TEMPLATE, gcc_assert, my_friendly_assert, NULL_TREE, same_type_ignoring_top_level_qualifiers_p, TREE_CODE, and TREE_TYPE.
Definition at line 968 of file pt.c.
References add_to_template_args(), args, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_TEMPLATE, comp_template_parms(), compparms(), DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_NAME, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARMS, DECL_TI_TEMPLATE, DECL_USE_TEMPLATE, error_mark_node, gcc_assert, is_specialization_of(), NULL_TREE, PRIMARY_TEMPLATE_P, same_type_p, template_class_depth(), tf_none, TREE_CHAIN, TREE_CODE, TREE_TYPE, tsubst_function_type(), tsubst_template_parms(), TYPE_ARG_TYPES, TYPE_CONTEXT, TYPE_NAME, and TYPE_TI_ARGS.
Referenced by is_friend().
| tree lookup_template_class | ( | tree | d1, | |
| tree | arglist, | |||
| tree | in_decl, | |||
| tree | context, | |||
| int | entering_scope, | |||
| tsubst_flags_t | complain | |||
| ) |
Definition at line 4499 of file pt.c.
References a, add_outermost_template_args(), add_pending_template(), add_to_template_args(), bind_template_template_parm(), check_instantiated_args(), CLASSTYPE_DECLARED_CLASS, CLASSTYPE_GOT_SEMICOLON, CLASSTYPE_INTERFACE_KNOWN, CLASSTYPE_INTERFACE_ONLY, classtype_mangled_name(), CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_SPECIALIZATION, CLASSTYPE_TI_TEMPLATE, CLASSTYPE_VISIBILITY, CLASSTYPE_VISIBILITY_SPECIFIED, coerce_template_parms(), comp_template_args(), CP_DECL_CONTEXT, cp_error_at(), create_implicit_typedef(), current_class_type, current_function_decl, current_template_args(), current_template_parms, DECL_CONTEXT, DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NAME, DECL_SOURCE_LOCATION, DECL_TEMPLATE_INSTANTIATIONS, DECL_TEMPLATE_PARM_P, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_TEMPLATE_PARM_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, determine_visibility(), error(), error_mark_node, flag_external_templates, FROB_CONTEXT, gcc_assert, global_namespace, i, IDENTIFIER_VALUE, innermost_non_namespace_value(), INNERMOST_TEMPLATE_ARGS, INNERMOST_TEMPLATE_PARMS, IS_AGGR_TYPE, lookup_name(), make_aggr_type(), make_node, make_tree_vec, maybe_get_template_decl_from_type_decl(), most_general_template(), my_friendly_assert, NULL_TREE, pop_decl_namespace(), POP_TIMEVAR_AND_RETURN, PRIMARY_TEMPLATE_P, push_decl_namespace(), pushtag(), retrieve_specialization(), same_type_p, SET_CLASSTYPE_IMPLICIT_INSTANTIATION, set_current_access_from_decl(), SET_TMPL_ARGS_LEVEL, SET_TYPE_TEMPLATE_INFO, start_enum(), tf_error, tf_user, timevar_pop, timevar_push, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PRIVATE, TREE_PROTECTED, TREE_PUBLIC, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_LENGTH, ts_current, ts_global, tsubst(), tsubst_enum(), TYPE_CONTEXT, TYPE_FOR_JAVA, TYPE_IDENTIFIER, TYPE_NAME, TYPE_P, TYPE_STUB_DECL, TYPE_TI_ARGS, TYPE_TI_TEMPLATE, uses_template_parms(), and xref_tag_from_type().
Definition at line 4429 of file pt.c.
References BASELINK_FUNCTIONS, BASELINK_P, build(), build2, error(), error_mark_node, gcc_assert, is_overloaded_fn(), my_friendly_assert, NULL_TREE, TREE_CODE, TREE_TYPE, and unknown_type_node.
| static char* mangle_class_name_for_template | ( | const char * | name, | |
| tree | parms, | |||
| tree | arglist | |||
| ) | [static] |
Definition at line 4275 of file pt.c.
References cat, ccat, CLASS_TYPE_P, decl_as_string(), DECL_CONTEXT, DECL_NAME, error_mark_node, expr_as_string(), gcc_assert, gcc_obstack_init, i, IDENTIFIER_POINTER, INNERMOST_TEMPLATE_ARGS, obstack_alloc, obstack_base, obstack_blank_fast, obstack_free, obstack_next_free, offset, TFF_CHASE_TYPEDEF, TFF_PLAIN_IDENTIFIER, TREE_CODE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, and type_as_string().
Definition at line 11706 of file pt.c.
References CLASSTYPE_DEBUG_REQUESTED, CLASSTYPE_INTERFACE_ONLY, rest_of_type_compilation(), SET_CLASSTYPE_EXPLICIT_INSTANTIATION, SET_CLASSTYPE_INTERFACE_KNOWN, TYPE_DECL_SUPPRESS_DEBUG, and TYPE_NAME.
Definition at line 10990 of file pt.c.
References comdat_linkage(), DECL_ARTIFICIAL, DECL_COMDAT, DECL_INTERFACE_KNOWN, DECL_NOT_REALLY_EXTERN, defer_fn(), flag_weak, mark_definable(), maybe_make_one_only(), SET_DECL_EXPLICIT_INSTANTIATION, TREE_ASM_WRITTEN, TREE_CODE, and TREE_PUBLIC.
Definition at line 2646 of file pt.c.
References template_parm_data::arg_uses_template_parms, template_parm_data::current_arg, idx, template_parm_data::level, template_parm_data::parms, TEMPLATE_PARM_IDX, TEMPLATE_PARM_LEVEL, TEMPLATE_TYPE_IDX, TEMPLATE_TYPE_LEVEL, and TREE_CODE.
| static int maybe_adjust_types_for_deduction | ( | unification_kind_t | strict, | |
| tree * | parm, | |||
| tree * | arg | |||
| ) | [static] |
Definition at line 9785 of file pt.c.
References build_pointer_type(), DEDUCE_CALL, DEDUCE_CONV, DEDUCE_EXACT, gcc_unreachable, result, obstack::temp, TREE_CODE, TREE_TYPE, TYPE_MAIN_VARIANT, and UNIFY_ALLOW_OUTER_MORE_CV_QUAL.
Definition at line 385 of file pt.c.
References DECL_TEMPLATE_PARMS, DECL_TEMPLATE_SPECIALIZATION, inline_needs_template_parms(), most_general_template(), processing_template_decl, push_inline_template_parms_recursive(), TMPL_PARMS_DEPTH, TREE_CHAIN, VARRAY_GROW, VARRAY_INT, VARRAY_INT_INIT, and VEC_safe_push.
Definition at line 412 of file pt.c.
References current_template_parms, i, last, poplevel(), processing_template_decl, TREE_CHAIN, VARRAY_INT, VEC_length, and VEC_pop.
Definition at line 4464 of file pt.c.
References CLASS_TYPE_P, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_TEMPLATE, DECL_ARTIFICIAL, NULL_TREE, TREE_CODE, and TREE_TYPE.
Definition at line 690 of file pt.c.
References check_specialization_namespace(), CLASS_TYPE_P, CLASSTYPE_IMPLICIT_INSTANTIATION, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_INSTANTIATION, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, CLASSTYPE_USE_TEMPLATE, COMPLETE_TYPE_P, cp_pedwarn_at(), current_namespace, decl_namespace_context(), DECL_TEMPLATE_INSTANTIATIONS, error(), error_mark_node, INNERMOST_TEMPLATE_ARGS, most_general_template(), NULL_TREE, pedwarn(), processing_specialization, processing_template_decl, push_template_decl(), SET_CLASSTYPE_TEMPLATE_SPECIALIZATION, TREE_CHAIN, TREE_CODE, TREE_VALUE, TYPE_CONTEXT, TYPE_MAIN_DECL, TYPE_NAME, and TYPE_P.
Definition at line 11219 of file pt.c.
References CLASSTYPE_TI_ARGS, get_class_bindings(), processing_template_decl, TREE_TYPE, TREE_VALUE, and winner.
Definition at line 11056 of file pt.c.
References build_pointer_type(), cp_type_quals(), DECL_CONV_FN_P, DECL_FUNCTION_MEMBER_P, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_NTPARMS, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_RESULT, make_tree_vec, NULL_TREE, processing_template_decl, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, unify(), and UNIFY_ALLOW_NONE.
Referenced by joust().
Definition at line 11463 of file pt.c.
References CLASS_TYPE_P, CLASSTYPE_TEMPLATE_SPECIALIZATION, DECL_CONTEXT, DECL_NAMESPACE_SCOPE_P, DECL_TEMPLATE_INFO, DECL_TI_TEMPLATE, NULL_TREE, TREE_CODE, and TREE_TYPE.
Definition at line 11517 of file pt.c.
References args, CLASSTYPE_TI_ARGS, DECL_TEMPLATE_SPECIALIZATIONS, error(), error_mark_node, get_class_bindings(), more_specialized_class(), most_general_template(), NULL_TREE, str, TREE_CHAIN, tree_cons, TREE_TYPE, and TREE_VALUE.
Definition at line 11384 of file pt.c.
References DECL_TEMPLATE_RESULT, DEDUCE_EXACT, error_mark_node, get_bindings(), more_specialized(), NULL_TREE, processing_template_decl, TREE_CHAIN, TREE_PURPOSE, and TREE_VALUE.
| static void note_template_header | ( | int | specialization | ) | [static] |
Definition at line 800 of file pt.c.
References CLASS_TYPE_P, CLASSTYPE_TEMPLATE_SPECIALIZATION, DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_CONV_FN_P, DECL_FRIEND_P, DECL_FUNCTION_TEMPLATE_P, DECL_MEMBER_TEMPLATE_P, and DECL_TEMPLATE_RESULT.
Definition at line 199 of file pt.c.
References current_function_decl, DECL_CLASS_SCOPE_P, DECL_FRIEND_CONTEXT, pop_from_top_level(), pop_nested_class(), TREE_CHAIN, TREE_CODE, and TREE_VALUE.
Definition at line 5270 of file pt.c.
References in_system_header, input_location, TINST_IN_SYSTEM_HEADER_P, TINST_LOCATION, and TREE_CHAIN.
Definition at line 1337 of file pt.c.
References cp_error_at(), error(), f, NULL_TREE, OVL_CURRENT, OVL_NEXT, str, TREE_CHAIN, and TREE_VALUE.
Definition at line 2677 of file pt.c.
References alloca, template_parm_data::arg_uses_template_parms, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, comp_template_args(), template_parm_data::current_arg, current_template_parms, DECL_INNERMOST_TEMPLATE_PARMS, DECL_NTPARMS, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_SPECIALIZATIONS, error(), for_each_template_parm(), gcc_assert, i, INNERMOST_TEMPLATE_ARGS, INNERMOST_TEMPLATE_PARMS, template_parm_data::level, mark_template_parm(), memset, NULL, template_parm_data::parms, retrieve_specialization(), TMPL_PARMS_DEPTH, TREE_CODE, tree_cons, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, and TYPE_P.
Definition at line 2387 of file pt.c.
References build_decl, build_template_parm_index(), build_tree_list, chainon(), DECL_ARTIFICIAL, DECL_INITIAL, DECL_NAME, DECL_TEMPLATE_RESULT, error_mark_node, gcc_assert, idx, invalid_nontype_parm_type_p(), make_aggr_type(), p, processing_template_decl, pushdecl(), SET_DECL_TEMPLATE_PARM_P, TEMPLATE_PARM_IDX, TEMPLATE_TYPE_IDX, TEMPLATE_TYPE_PARM_INDEX, TREE_CODE, TREE_CONSTANT, TREE_INVARIANT, tree_last(), TREE_PURPOSE, TREE_READONLY, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_STUB_DECL, and void_type_node.
Definition at line 325 of file pt.c.
References begin_scope(), build_decl, current_template_parms, DECL_ARTIFICIAL, DECL_INITIAL, DECL_NAME, DECL_P, error_mark_node, gcc_assert, gcc_unreachable, i, NULL, processing_template_decl, push_inline_template_parms_recursive(), pushdecl(), SET_DECL_TEMPLATE_PARM_P, size_int, sk_template_parms, sk_template_spec, TEMPLATE_PARMS_FOR_INLINE, TREE_CHAIN, TREE_CODE, tree_cons, TREE_CONSTANT, TREE_INVARIANT, TREE_READONLY, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, and TREE_VEC_LENGTH.
Definition at line 3029 of file pt.c.
References a, add_outermost_template_args(), ANON_AGGRNAME_P, args, build_template_decl(), check_default_tmpl_args(), CLASS_TYPE_P, classtype_mangled_name(), CLASSTYPE_TEMPLATE_SPECIALIZATION, CP_DECL_CONTEXT, current_class_type, current_lang_name, current_namespace, current_scope(), current_template_args(), current_template_parms, DECL_ANTICIPATED, DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_CONV_FN_P, DECL_DESTRUCTOR_P, DECL_FRIEND_P, DECL_FUNCTION_TEMPLATE_P, DECL_IMPLICIT_TYPEDEF_P, DECL_LANG_SPECIFIC, DECL_MEMBER_TEMPLATE_P, DECL_NAME, DECL_PRIMARY_TEMPLATE, DECL_TEMPLATE_CONV_FN_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATION, DECL_TI_ARGS, DECL_TI_TEMPLATE, error(), error_mark_node, for_each_template_parm(), FROB_CONTEXT, i, IDENTIFIER_TEMPLATE, info, INNERMOST_TEMPLATE_PARMS, IS_AGGR_TYPE_CODE, is_member_template(), lang_name_c, most_general_template(), NEW_DELETE_OPNAME_P, NULL, NULL_TREE, template_parm_data::parms, process_partial_specialization(), pushdecl_namespace_level(), redeclare_class_template(), register_specialization(), SET_DECL_TEMPLATE_SPECIALIZATION, SET_TYPE_TEMPLATE_INFO, template_class_depth(), template_parm_scope_p(), template_parm_this_level_p(), TMPL_ARGS_DEPTH, TMPL_ARGS_LEVEL, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TREE_VEC_LENGTH, TYPE_ARG_TYPES, TYPE_BEING_DEFINED, TYPE_CONTEXT, TYPE_TEMPLATE_INFO, TYPE_TI_TEMPLATE, uses_template_parms_level(), and void_list_node.
| static int push_tinst_level | ( | tree | d | ) | [static] |
Definition at line 5227 of file pt.c.
References error(), in_system_header, input_location, make_node, print_instantiation_context(), TINST_DECL, TINST_IN_SYSTEM_HEADER_P, TINST_LOCATION, TREE_CHAIN, and uses_template_parms().
Definition at line 3346 of file pt.c.
References cp_error_at(), DECL_INNERMOST_TEMPLATE_PARMS, error(), error_mark_node, i, INNERMOST_TEMPLATE_PARMS, NULL_TREE, PRIMARY_TEMPLATE_P, same_type_p, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TYPE_TEMPLATE_INFO, and TYPE_TI_TEMPLATE.
Definition at line 2351 of file pt.c.
References build_decl, build_template_parm_index(), DECL_ARTIFICIAL, DECL_NAME, DECL_TEMPLATE_PARMS, NULL_TREE, SET_DECL_TEMPLATE_PARM_P, TEMPLATE_PARM_DECL, TEMPLATE_PARM_DESCENDANTS, TEMPLATE_PARM_IDX, TEMPLATE_PARM_LEVEL, TEMPLATE_PARM_ORIG_LEVEL, TREE_CODE, TREE_CONSTANT, TREE_INVARIANT, and TREE_READONLY.
Definition at line 11893 of file pt.c.
References args, attributes, build_exception_variant(), cplus_decl_attributes(), DECL_ARGUMENTS, DECL_ATTRIBUTES, DECL_DECLARED_INLINE_P, DECL_INITIAL, DECL_INLINE, DECL_NAME, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TI_ARGS, DECL_TI_TEMPLATE, gcc_unreachable, get_innermost_template_args(), NULL_TREE, pop_access_scope(), push_access_scope(), same_type_p, skip_artificial_parms_for(), specs, tf_error, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, TREE_TYPE, tsubst(), tsubst_exception_specification(), tsubst_expr(), and type_decays_to().
Definition at line 1314 of file pt.c.
References build_tree_list, htab_find_slot_with_hash(), htab_hash_pointer, and INSERT.
Definition at line 1152 of file pt.c.
References check_specialization_namespace(), DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXPLICIT_INSTANTIATION, DECL_INITIAL, DECL_INLINE, decl_namespace_context(), DECL_SOURCE_LOCATION, DECL_TEMPLATE_INSTANTIATION, DECL_TEMPLATE_SPECIALIZATION, DECL_TEMPLATE_SPECIALIZATIONS, DECL_TI_ARGS, duplicate_decls(), error(), error_mark_node, FOR_EACH_CLONE, FROB_CONTEXT, gcc_assert, NULL_TREE, optimize_specialization_lookup_p(), retrieve_specialization(), TREE_CODE, tree_cons, TREE_USED, and uses_template_parms().
Definition at line 1273 of file pt.c.
References DECL_TEMPLATE_SPECIALIZATIONS, NULL_TREE, s, TREE_CHAIN, and TREE_VALUE.
| static int resolve_overloaded_unification | ( | tree | tparms, | |
| tree | targs, | |||
| tree | parm, | |||
| tree | arg, | |||
| unification_kind_t | strict, | |||
| int | sub_strict | |||
| ) | [static] |
Definition at line 10024 of file pt.c.
References BASELINK_FUNCTIONS, BASELINK_P, copy_node, DECL_TEMPLATE_RESULT, gcc_assert, get_bindings(), i, NULL_TREE, OVL_CURRENT, OVL_NEXT, tf_none, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VEC_ELT, TREE_VEC_LENGTH, try_one_overload(), and tsubst().
Definition at line 13211 of file pt.c.
References args, CLASSTYPE_PRIMARY_TEMPLATE_TYPE, cp_build_qualified_type, cp_type_quals(), currently_open_class(), DECL_CLASS_TEMPLATE_P, error_mark_node, gcc_assert, lookup_member(), lookup_template_class(), NULL_TREE, pop_scope(), push_scope(), resolve_typename_type(), tf_error, tf_user, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_CONTEXT, TYPE_IDENTIFIER, and TYPENAME_TYPE_FULLNAME.
Referenced by comptypes(), cp_parser_class_head(), cp_parser_constructor_declarator_p(), cp_parser_direct_declarator(), cp_parser_nested_name_specifier_opt(), and resolve_typename_type().
Definition at line 927 of file pt.c.
References htab_find_with_hash(), htab_hash_pointer, NULL_TREE, and TREE_PURPOSE.
Definition at line 840 of file pt.c.
References class_method_index_for_fn(), CLASSTYPE_METHOD_VEC, CLASSTYPE_TI_TEMPLATE, comp_template_args(), DECL_CONTEXT, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATIONS, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATIONS, DECL_TI_TEMPLATE, error_mark_node, gcc_assert, idx, NULL_TREE, optimize_specialization_lookup_p(), OVL_CURRENT, OVL_NEXT, retrieve_specialization(), sp, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_VALUE, VEC, and VEC_index.
Definition at line 12521 of file pt.c.
References access_private_node, access_protected_node, access_public_node, current_access_specifier, TREE_PRIVATE, and TREE_PROTECTED.
Definition at line 4233 of file pt.c.
References comp_template_args(), cp_tree_equal(), same_type_p, TREE_CODE, and TYPE_P.
| int template_class_depth | ( | tree | type | ) |
Definition at line 278 of file pt.c.
References CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, CP_DECL_CONTEXT, DECL_TEMPLATE_INFO, DECL_TI_ARGS, DECL_TI_TEMPLATE, PRIMARY_TEMPLATE_P, template_class_depth_real(), TREE_CODE, TYPE_CONTEXT, and uses_template_parms().
| static int template_decl_level | ( | tree | decl | ) | [static] |
Definition at line 10296 of file pt.c.
References DECL_INITIAL, gcc_unreachable, TEMPLATE_PARM_LEVEL, TEMPLATE_TYPE_LEVEL, TREE_CODE, and TREE_TYPE.
Definition at line 11976 of file pt.c.
References DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION, DECL_IN_AGGR_P, DECL_INITIAL, DECL_TEMPLATE_INSTANTIATION, DECL_TEMPLATE_RESULT, DECL_TI_TEMPLATE, gcc_assert, and TREE_CODE.
Referenced by cp_cannot_inline_tree_fn(), instantiate_decl(), mark_used(), redeclaration_error_message(), and tsubst_friend_function().
Definition at line 3009 of file pt.c.
References template_parm_data::level, TEMPLATE_PARM_LEVEL, TEMPLATE_TYPE_LEVEL, and TREE_CODE.
Definition at line 10198 of file pt.c.
References CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, make_tree_vec, most_general_template(), NULL_TREE, TREE_VEC_LENGTH, unify(), and UNIFY_ALLOW_NONE.
| static int try_one_overload | ( | tree | tparms, | |
| tree | orig_targs, | |||
| tree | targs, | |||
| tree | parm, | |||
| tree | arg, | |||
| unification_kind_t | strict, | |||
| int | sub_strict, | |||
| bool | addr_p | |||
| ) | [static] |
Definition at line 10123 of file pt.c.
References build_pointer_type(), build_ptrmemfunc_type(), i, make_tree_vec, maybe_adjust_types_for_deduction(), NULL_TREE, template_args_equal(), TREE_CODE, TREE_VEC_ELT, TREE_VEC_LENGTH, unify(), and uses_template_parms().
| static tree tsubst | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 7250 of file pt.c.
References at_function_scope_p(), build_cplus_array_type(), build_exception_variant(), build_method_type_directly(), build_nt(), build_pointer_type(), build_ptrmem_type(), build_ptrmemfunc_type(), build_qualified_name(), build_reference_type(), char_type_node, CLASS_TYPE_P, CLASSTYPE_PURE_VIRTUALS, complete_type(), COMPLETE_TYPE_P, COMPLEX_TYPE, compute_array_index_type(), copy_type, cp_build_qualified_type, cp_build_qualified_type_real(), cp_type_quals(), cxx_incomplete_type_error, DECL_CONTEXT, DECL_P, DECL_TEMPLATE_PARMS, error(), error_mark_node, f, finish_typeof(), fold_build1, fold_build2, fold_decl_constant_value(), gcc_assert, gcc_unreachable, hash_tree_cons(), IDENTIFIER_TYPE_VALUE, idx, input_filename, input_line, input_location, INT_CST_LT, integer_type_node, integer_zero_node, integer_zerop(), IS_AGGR_TYPE, last_loc, layout_type(), lookup_template_class(), make_typename_type(), make_unbound_class_template(), max, NULL_TREE, QUALIFIED_NAME_IS_TEMPLATE, r, reduce_template_parm_level(), sorry(), specs, TEMPLATE_PARM_IDX, TEMPLATE_PARM_LEVEL, TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO, TEMPLATE_TYPE_DECL, TEMPLATE_TYPE_IDX, TEMPLATE_TYPE_LEVEL, TEMPLATE_TYPE_PARM_INDEX, tf_error, tf_ignore_bad_quals, tf_keep_type_decl, TMPL_ARG, TMPL_ARGS_DEPTH, TREE_CHAIN, TREE_CODE, tree_code_name, tree_cons, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_LENGTH, tsubst(), tsubst_aggr_type(), tsubst_copy(), tsubst_decl(), tsubst_exception_specification(), tsubst_expr(), tsubst_function_type(), tsubst_template_args(), tsubst_template_parms(), TYPE_ARG_TYPES, TYPE_BEING_DEFINED, TYPE_CONTEXT, TYPE_DOMAIN, TYPE_IDENTIFIER, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_NAME, TYPE_OFFSET_BASETYPE, TYPE_P, TYPE_POINTER_TO, TYPE_QUALS, TYPE_REFERENCE_TO, TYPE_STUB_DECL, TYPE_TI_ARGS, TYPE_TI_TEMPLATE, TYPENAME_IS_CLASS_P, TYPENAME_IS_ENUM_P, typename_type, TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR, unknown_type_node, uses_template_parms(), void_list_node, and void_type_node.
| static tree tsubst_aggr_type | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl, | |||
| int | entering_scope | |||
| ) | [static] |
Definition at line 6265 of file pt.c.
References cp_build_qualified_type_real(), error_mark_node, lookup_template_class(), NULL_TREE, r, skip_evaluation, TREE_CODE, tsubst(), tsubst_aggr_type(), tsubst_template_args(), TYPE_CONTEXT, TYPE_PTRMEMFUNC_FN_TYPE, TYPE_PTRMEMFUNC_P, TYPE_QUALS, TYPE_TEMPLATE_INFO, and TYPE_TI_ARGS.
| static tree tsubst_arg_types | ( | tree | arg_types, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 7057 of file pt.c.
References DEFARG_INSTANTIATIONS, default_arg(), error(), error_mark_node, hash_tree_cons(), NULL_TREE, result, tf_error, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_VALUE, tsubst(), tsubst_arg_types(), type_decays_to(), TYPE_MAIN_VARIANT, VEC_safe_push, void_list_node, and VOID_TYPE_P.
| static tree tsubst_baselink | ( | tree | baselink, | |
| tree | object_type, | |||
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 7850 of file pt.c.
References adjust_result_of_qualified_name_lookup(), BASELINK_ACCESS_BINFO, BASELINK_FUNCTIONS, BASELINK_OPTYPE, BASELINK_P, BINFO_TYPE, build_nt(), current_class_type, DECL_NAME, get_first_fn(), lookup_fnfields(), mark_used(), OVL_CURRENT, really_overloaded_fn(), TREE_CODE, TREE_OPERAND, tsubst(), and tsubst_template_args().
| static tree tsubst_copy | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 8032 of file pt.c.
References base, build1, build_nt(), build_qualified_name(), build_x_va_arg(), current_class_type, DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_FUNCTION_TEMPLATE_P, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_MEMBER_TEMPLATE_P, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARM_P, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_TEMPLATE_PARM_P, DELETE_EXPR_USE_GLOBAL, DELETE_EXPR_USE_VEC, enum_type, error(), error_mark_node, gcc_assert, gcc_unreachable, IDENTIFIER_TYPENAME_P, integral_constant_value(), local_variable_p(), lookup_field(), lookup_template_function(), mangle_conv_op_name_for_type(), mark_used(), NEW_EXPR_USE_GLOBAL, non_reference(), NULL, NULL_TREE, QUALIFIED_NAME_IS_TEMPLATE, r, retrieve_local_specialization(), tf_error, TREE_CHAIN, TREE_CODE, tree_cons, TREE_NO_WARNING, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, tsubst(), tsubst_aggr_type(), tsubst_baselink(), tsubst_copy(), tsubst_template_args(), TYPE_VALUES, uses_template_parms(), void_list_node, and void_type_node.
| tree tsubst_copy_and_build | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl, | |||
| bool | function_p, | |||
| bool | integral_constant_expression_p | |||
| ) |
Definition at line 8874 of file pt.c.
References adjust_result_of_qualified_name_lookup(), BASELINK_BINFO, baselink_for_fns(), BASELINK_FUNCTIONS, BASELINK_P, BASELINK_QUALIFIED_P, begin_stmt_expr(), BINFO_TYPE, build3, build_const_cast(), build_constructor(), build_dynamic_cast(), build_functional_cast(), build_new(), build_new_method_call(), build_nop(), build_nt(), build_offset_ref_call_from_tree(), build_reinterpret_cast(), build_static_cast(), build_throw(), build_typeid(), build_x_arrow(), build_x_binary_op(), build_x_compound_expr(), build_x_conditional_expr(), build_x_indirect_ref(), build_x_modify_expr(), build_x_unary_op(), build_x_va_arg(), cast_valid_in_integral_constant_expression_p(), CLASS_TYPE_P, constructor_elt, CONSTRUCTOR_ELTS, convert_from_reference(), cxx_sizeof_or_alignof_expr(), cxx_sizeof_or_alignof_type(), DECL_FUNCTION_MEMBER_P, DECL_INITIAL, DECL_NAME, DECL_P, DELETE_EXPR_USE_GLOBAL, DELETE_EXPR_USE_VEC, delete_sanity(), error(), error_mark_node, finish_call_expr(), finish_class_member_access_expr(), finish_compound_literal(), finish_id_expression(), finish_label_address_expr(), finish_non_static_data_member(), finish_offsetof(), finish_pseudo_destructor_expr(), finish_stmt_expr(), function, gcc_unreachable, get_first_fn(), get_typeid(), HOST_WIDE_INT, IDENTIFIER_TYPENAME_P, idx, IS_AGGR_TYPE, is_overloaded_fn(), KOENIG_LOOKUP_P, lookup_name(), LOOKUP_NONVIRTUAL, LOOKUP_NORMAL, lookup_qualified_name(), lookup_template_function(), mangle_conv_op_name_for_type(), mark_used(), member(), n, NEW_EXPR_USE_GLOBAL, non_reference(), NULL, NULL_TREE, objcp_tsubst_copy_and_build(), perform_koenig_lookup(), qualified_name_lookup_error(), r, RECUR, REFERENCE_REF_P, skip_evaluation, STMT_EXPR_STMT, subst(), tf_error, TREE_CHAIN, TREE_CODE, tree_cons, TREE_HAS_CONSTRUCTOR, TREE_NO_WARNING, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, tsubst(), tsubst_baselink(), tsubst_copy(), tsubst_copy_and_build(), tsubst_expr(), tsubst_non_call_postfix_expression(), tsubst_qualified_id(), tsubst_template_args(), TYPE_P, TYPE_PTRMEMFUNC_P, unqualified_name_lookup_error(), used_types_insert(), VEC, VEC_copy, VEC_iterate, void_list_node, and void_type_node.
| static tree tsubst_copy_asm_operands | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 8448 of file pt.c.
References NULL, RECUR, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_VALUE, tsubst_copy_and_build(), void_list_node, and void_type_node.
Referenced by tsubst_expr().
| static tree tsubst_decl | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain | |||
| ) | [static] |
Definition at line 6422 of file pt.c.
References build_decl, build_tree_list, check_var_type(), CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, clone_function_decl(), CODE_CONTAINS_STRUCT, complete_type(), constructor_name(), copy_decl(), copy_node, cp_apply_type_quals_to_decl(), cp_type_quals(), DECL_ARG_TYPE, DECL_ARGUMENTS, DECL_ATTRIBUTES, DECL_BEFRIENDING_CLASSES, DECL_CLASS_SCOPE_P, DECL_CLASS_TEMPLATE_P, DECL_CLONED_FUNCTION, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_CONV_FN_P, DECL_DEAD_FOR_LOCAL, DECL_DEFER_OUTPUT, DECL_DEPENDENT_P, DECL_DESTRUCTOR_P, DECL_EXTERNAL, DECL_FRIEND_CONTEXT, DECL_FRIEND_P, DECL_HAS_VALUE_EXPR_P, DECL_INITIAL, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P, DECL_INITIALIZED_P, DECL_INTERFACE_KNOWN, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_PENDING_INLINE_INFO, DECL_PENDING_INLINE_P, DECL_PRIMARY_TEMPLATE, DECL_RESULT, DECL_SAVED_TREE, DECL_SELF_REFERENCE_P, DECL_SIZE, DECL_SIZE_UNIT, DECL_SOURCE_LOCATION, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATED, DECL_TEMPLATE_INSTANTIATIONS, DECL_TEMPLATE_PARM_P, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATION, DECL_TEMPLATE_SPECIALIZATIONS, DECL_TEMPLATE_TEMPLATE_PARM_P, DECL_TI_ARGS, DECL_TI_TEMPLATE, DECL_USE_TEMPLATE, DECL_VALUE_EXPR, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, determine_visibility(), do_class_using_decl(), error(), error_mark_node, gcc_assert, gcc_unreachable, get_innermost_template_args(), grok_ctor_properties(), grok_op_properties(), IDENTIFIER_OPNAME_P, input_location, layout_decl(), mangle_conv_op_name_for_type(), maybe_retrofit_in_chrg(), member(), most_general_template(), NULL_RTX, NULL_TREE, PRIMARY_TEMPLATE_P, processing_template_decl, r, register_local_specialization(), register_specialization(), remove_attribute(), retrieve_local_specialization(), retrieve_specialization(), SET_DECL_ASSEMBLER_NAME, SET_DECL_FRIEND_CONTEXT, SET_DECL_IMPLICIT_INSTANTIATION, SET_DECL_RTL, SET_DECL_SELF_REFERENCE_P, SET_DECL_TEMPLATE_PARM_P, SET_DECL_VALUE_EXPR, tf_error, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TREE_USED, TREE_VALUE, tsubst(), tsubst_aggr_type(), tsubst_copy(), tsubst_default_arguments(), tsubst_expr(), tsubst_template_args(), tsubst_template_parms(), TYPE_CONTEXT, type_decays_to(), TYPE_MAIN_DECL, TYPE_NAME, type_passed_as(), uses_template_parms(), USING_DECL_SCOPE, value_dependent_expression_p(), VISIBILITY_DEFAULT, and VOID_TYPE_P.
Definition at line 6338 of file pt.c.
References cfun, check_default_argument(), cp_function_chain, current_class_ptr, current_class_ref, DECL_TI_ARGS, dk_no_deferred, function_depth, NULL_TREE, pop_access_scope(), pop_deferring_access_checks(), push_access_scope(), push_deferring_access_checks(), tf_error, tf_warning, tf_warning_or_error, and tsubst_expr().
Definition at line 6396 of file pt.c.
References DECL_TI_ARGS, TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, tsubst_default_argument(), TYPE_ARG_TYPES, and uses_template_parms().
Definition at line 12536 of file pt.c.
References build_enumerator(), DECL_INITIAL, DECL_NAME, DECL_SOURCE_LOCATION, finish_enum(), NULL_TREE, set_current_access_from_decl(), tf_warning_or_error, TREE_CHAIN, TREE_VALUE, tsubst_expr(), TYPE_NAME, and TYPE_VALUES.
| static tree tsubst_exception_specification | ( | tree | fntype, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 7205 of file pt.c.
References add_exception_specifier(), error_mark_node, NULL_TREE, specs, TREE_CHAIN, TREE_VALUE, tsubst(), and TYPE_RAISES_EXCEPTIONS.
| static tree tsubst_expr | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl, | |||
| bool | integral_constant_expression_p | |||
| ) | [static] |
Definition at line 8483 of file pt.c.
References add_stmt(), ANON_AGGR_TYPE_P, ASM_CLOBBERS, ASM_INPUT_P, ASM_INPUTS, ASM_OUTPUTS, ASM_STRING, ASM_VOLATILE_P, BCS_TRY_BLOCK, begin_compound_stmt(), begin_do_stmt(), begin_else_clause(), begin_for_stmt(), begin_function_body(), begin_function_try_block(), begin_handler(), begin_if_stmt(), begin_omp_parallel(), begin_omp_structured_block(), begin_switch_stmt(), begin_try_block(), begin_while_stmt(), BIND_EXPR_BODY, BIND_EXPR_BODY_BLOCK, BIND_EXPR_TRY_BLOCK, CASE_HIGH, CASE_LOW, CLEANUP_P, cond, copy_node, cp_fname_init(), current_function_decl, current_stmt_tree(), cxx_printable_name(), DECL_EXPR_DECL, DECL_INITIAL, DECL_NAME, DECL_PRETTY_FUNCTION_P, DECL_TEMPLATE_INSTANTIATED, DO_BODY, DO_COND, do_local_using_decl(), do_using_directive(), ELSE_CLAUSE, error_mark_node, EXPR_HAS_LOCATION, EXPR_LOCATION, EXPR_STMT_EXPR, EXPR_STMT_STMT_EXPR_RESULT, finish_anon_union(), finish_asm_stmt(), finish_break_stmt(), finish_case_label(), finish_cleanup(), finish_cleanup_try_block(), finish_compound_stmt(), finish_continue_stmt(), finish_decl(), finish_do_body(), finish_do_stmt(), finish_else_clause(), finish_expr_stmt(), finish_for_cond(), finish_for_expr(), finish_for_init_stmt(), finish_for_stmt(), finish_function_body(), finish_function_handler_sequence(), finish_function_try_block(), finish_goto_stmt(), finish_handler(), finish_handler_parms(), finish_handler_sequence(), finish_if_stmt(), finish_if_stmt_cond(), finish_label_decl(), finish_label_stmt(), finish_mem_initializers(), finish_omp_atomic(), finish_omp_for(), finish_omp_parallel(), finish_omp_structured_block(), finish_return_stmt(), finish_stmt_expr_expr(), finish_switch_cond(), finish_switch_stmt(), finish_then_clause(), finish_try_block(), finish_while_stmt(), finish_while_stmt_cond(), FN_TRY_BLOCK_P, FOR_BODY, FOR_COND, FOR_EXPR, FOR_INIT_STMT, gcc_assert, GOTO_DESTINATION, HANDLER_BODY, HANDLER_PARMS, i, IF_COND, input_location, LABEL_EXPR_LABEL, lookup_qualified_name(), maybe_push_decl(), NULL_TREE, OMP_ATOMIC_CODE, OMP_BODY, OMP_CLAUSES, OMP_FOR_BODY, OMP_FOR_CLAUSES, OMP_FOR_COND, OMP_FOR_INCR, OMP_FOR_INIT, OMP_FOR_PRE_BODY, OMP_PARALLEL_BODY, OMP_PARALLEL_CLAUSES, OMP_PARALLEL_COMBINED, pop_stmt_list(), push_stmt_list(), qualified_name_lookup_error(), RECUR, STATEMENT_CODE_P, STMT_IS_FULL_EXPR_P, SWITCH_STMT_BODY, SWITCH_STMT_COND, THEN_CLAUSE, tmp, TREE_CODE, TREE_OPERAND, TREE_TYPE, TRY_HANDLERS, TRY_STMTS, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt(), tsubst(), tsubst_copy_and_build(), tsubst_copy_asm_operands(), tsubst_initializer_list(), tsubst_omp_clauses(), USING_DECL_SCOPE, USING_STMT_NAMESPACE, WHILE_BODY, and WHILE_COND.
Definition at line 5559 of file pt.c.
References CLASSTYPE_TI_ARGS, CLASSTYPE_USE_TEMPLATE, DECL_CLASS_TEMPLATE_P, DECL_CONTEXT, DECL_NAME, DECL_TEMPLATE_INFO, DECL_TEMPLATE_PARMS, DECL_USE_TEMPLATE, error_mark_node, INNERMOST_TEMPLATE_ARGS, LOOKUP_COMPLAIN, LOOKUP_HIDDEN, lookup_name_prefer_type(), lookup_name_real(), maybe_get_template_decl_from_type_decl(), NULL_TREE, pop_nested_class(), pop_nested_namespace(), push_nested_class(), push_nested_namespace(), pushdecl_top_level_maybe_friend(), redeclare_class_template(), tf_none, tf_warning_or_error, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CODE, TREE_TYPE, tsubst(), and tsubst_template_parms().
Definition at line 5306 of file pt.c.
References add_outermost_template_args(), chainon(), check_classfn(), complete_type_or_else, COMPLETE_TYPE_P, current_class_type, DECL_CONTEXT, DECL_INITIAL, decl_namespace_context(), DECL_NAMESPACE_SCOPE_P, DECL_PRIMARY_TEMPLATE, DECL_SAVED_TREE, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATION, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATIONS, DECL_TI_ARGS, DECL_TI_TEMPLATE, DECL_USE_TEMPLATE, dependent_type_p(), determine_specialization(), error_mark_node, instantiate_template(), lookup_template_function(), most_general_template(), NULL_RTX, NULL_TREE, pop_nested_namespace(), processing_template_decl, push_nested_namespace(), pushdecl_namespace_level(), reregister_specialization(), SET_DECL_ASSEMBLER_NAME, SET_DECL_RTL, template_for_substitution(), tf_error, tf_warning_or_error, TI_ARGS, TREE_CHAIN, TREE_CODE, TREE_VALUE, TREE_VEC_LENGTH, tsk_none, tsubst(), tsubst_expr(), and TYPE_MAIN_DECL.
| static tree tsubst_function_type | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 7131 of file pt.c.
References arg_types, build_function_type(), build_method_type_directly(), cp_build_qualified_type_real(), cp_build_type_attribute_variant(), error(), error_mark_node, gcc_assert, IS_AGGR_TYPE, NULL_TREE, r, tf_error, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, tsubst(), tsubst_arg_types(), TYPE_ARG_TYPES, TYPE_ATTRIBUTES, TYPE_CONTEXT, and TYPE_QUALS.
Definition at line 12488 of file pt.c.
References build_tree_list, DECL_P, expand_member_init(), in_base_initializer, NULL_TREE, tf_warning_or_error, TREE_CHAIN, TREE_PURPOSE, TREE_VALUE, tsubst_copy(), and tsubst_expr().
| static tree tsubst_non_call_postfix_expression | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 8855 of file pt.c.
References TREE_CODE, tsubst_copy_and_build(), and tsubst_qualified_id().
| static tree tsubst_omp_clauses | ( | tree | clauses, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 8406 of file pt.c.
References copy_node, finish_omp_clauses(), gcc_unreachable, nreverse(), NULL, oc, OMP_CLAUSE_CHAIN, OMP_CLAUSE_CODE, OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_IF, OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_OPERAND, OMP_CLAUSE_ORDERED, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_REDUCTION, OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_SHARED, and tsubst_expr().
Referenced by tsubst_expr().
| static tree tsubst_qualified_id | ( | tree | qualified_id, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl, | |||
| bool | done, | |||
| bool | address_p | |||
| ) | [static] |
Definition at line 7916 of file pt.c.
References adjust_result_of_qualified_name_lookup(), BASELINK_P, build_qualified_name(), check_accessibility_of_qualified_id(), convert_from_reference(), current_class_type, DECL_P, DECL_TEMPLATE_RESULT, dependent_type_p(), error(), error_mark_node, finish_qualified_id_expr(), gcc_assert, inform(), lookup_qualified_name(), lookup_template_function(), mark_used(), NULL_TREE, QUALIFIED_NAME_IS_TEMPLATE, qualified_name_lookup_error(), tf_error, TREE_CODE, TREE_OPERAND, tsubst(), tsubst_copy(), tsubst_template_args(), and TYPE_P.
| static tree tsubst_template_arg | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 6137 of file pt.c.
References fold_non_dependent_expr(), r, tsubst(), tsubst_expr(), and TYPE_P.
| static tree tsubst_template_args | ( | tree | t, | |
| tree | args, | |||
| tsubst_flags_t | complain, | |||
| tree | in_decl | |||
| ) | [static] |
Definition at line 6157 of file pt.c.
References alloca, error_mark_node, i, len, make_tree_vec, TREE_CODE, TREE_VEC_ELT, TREE_VEC_LENGTH, tsubst_template_arg(), and tsubst_template_args().
| static tree tsubst_template_parms | ( | tree | parms, | |
| tree | args, | |||
| tsubst_flags_t | complain | |||
| ) | [static] |
Definition at line 6199 of file pt.c.
References build_tree_list, error_mark_node, i, invalid_nontype_parm_type_p(), make_tree_vec, NULL_TREE, processing_template_decl, r, size_int, TMPL_ARGS_DEPTH, TMPL_PARMS_DEPTH, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, tsubst(), and tsubst_template_arg().
Definition at line 12993 of file pt.c.
References any_dependent_template_arguments_p(), BASELINK_FUNCTIONS, DECL_LANG_SPECIFIC, DECL_TEMPLATE_INFO, DECL_TEMPLATE_TEMPLATE_PARM_P, DECL_TI_ARGS, dependent_scope_ref_p(), dependent_type_p(), error_mark_node, gcc_assert, INNERMOST_TEMPLATE_ARGS, OVL_CURRENT, OVL_NEXT, processing_template_decl, TREE_CODE, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, type_dependent_expression_p(), unknown_type_node, and value_dependent_expression_p().
Referenced by any_type_dependent_arguments_p(), build_const_cast(), build_new(), build_offset_ref(), build_offset_ref_call_from_tree(), build_reinterpret_cast(), build_x_binary_op(), build_x_compound_expr(), build_x_conditional_expr(), build_x_indirect_ref(), build_x_unary_op(), cp_parser_functional_cast(), cp_parser_postfix_dot_deref_expression(), cp_parser_postfix_expression(), dependent_template_arg_p(), dependent_type_p_r(), finish_call_expr(), finish_expr_stmt(), finish_for_expr(), finish_id_expression(), finish_omp_atomic(), finish_omp_clauses(), finish_omp_for(), finish_typeof(), fold_non_dependent_expr(), grok_array_decl(), type_dependent_expression_p(), uses_template_parms(), and value_dependent_expression_p().
| static int type_unification_real | ( | tree | tparms, | |
| tree | targs, | |||
| tree | xparms, | |||
| tree | xargs, | |||
| int | subr, | |||
| unification_kind_t | strict, | |||
| int | flags | |||
| ) | [static] |
Definition at line 9869 of file pt.c.
References args, can_convert_arg(), DEDUCE_CALL, DEDUCE_CONV, DEDUCE_EXACT, error_mark_node, gcc_assert, gcc_unreachable, i, maybe_adjust_types_for_deduction(), NULL_TREE, resolve_overloaded_unification(), same_type_p, tparm(), TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TYPE_P, type_unknown_p(), unify(), UNIFY_ALLOW_DERIVED, UNIFY_ALLOW_LESS_CV_QUAL, UNIFY_ALLOW_MORE_CV_QUAL, UNIFY_ALLOW_NONE, UNIFY_ALLOW_OUTER_LEVEL, unknown_type_node, unlowered_expr_type(), uses_template_parms(), and void_list_node.
Definition at line 10396 of file pt.c.
References build_function_type(), build_nop(), build_qualified_type(), check_cv_quals_for_unify(), CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, coerce_template_parms(), COMPLEX_TYPE, cp_build_qualified_type_real(), cp_tree_equal(), CP_TYPE_CONST_P, cp_type_quals(), DECL_INITIAL, DECL_INNERMOST_TEMPLATE_PARMS, DECL_TEMPLATE_PARM_P, DEDUCE_EXACT, error_mark_node, EXPR_P, fold(), fold_build2, gcc_assert, get_template_base(), i, idx, INNERMOST_TEMPLATE_ARGS, integer_one_node, integer_type_node, integral_constant_value(), LOOKUP_NORMAL, NULL_TREE, PTRMEM_CST_MEMBER, same_type_ignoring_top_level_qualifiers_p, same_type_p, template_args_equal(), template_decl_level(), TEMPLATE_PARM_IDX, TEMPLATE_PARM_LEVEL, TEMPLATE_TYPE_IDX, TEMPLATE_TYPE_LEVEL, tf_none, tparm(), TREE_CHAIN, TREE_CODE, tree_int_cst_equal(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, try_class_unification(), tsubst(), TYPE_ARG_TYPES, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_OFFSET_BASETYPE, TYPE_P, TYPE_PTRMEMFUNC_FN_TYPE, TYPE_PTRMEMFUNC_OBJECT_TYPE, TYPE_PTRMEMFUNC_P, TYPE_TI_ARGS, TYPE_TI_TEMPLATE, type_unification_real(), unify(), UNIFY_ALLOW_DERIVED, UNIFY_ALLOW_INTEGER, UNIFY_ALLOW_LESS_CV_QUAL, UNIFY_ALLOW_MORE_CV_QUAL, UNIFY_ALLOW_NONE, UNIFY_ALLOW_OUTER_LESS_CV_QUAL, UNIFY_ALLOW_OUTER_LEVEL, UNIFY_ALLOW_OUTER_MORE_CV_QUAL, unknown_type_node, uses_template_parms(), and variably_modified_type_p().
| int uses_template_parms | ( | tree | t | ) |
Definition at line 5170 of file pt.c.
References any_dependent_template_arguments_p(), CONSTANT_CLASS_P, DECL_P, dependent_type_p(), error_mark_node, EXPR_P, for_each_template_parm(), gcc_assert, NULL, processing_template_decl, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, type_dependent_expression_p(), TYPE_P, uses_template_parms(), and value_dependent_expression_p().
| int uses_template_parms_level | ( | tree | t, | |
| int | level | |||
| ) |
Definition at line 5210 of file pt.c.
References for_each_template_parm(), NULL, and template_parm_this_level_p().
Referenced by do_friend(), make_friend_class(), and push_template_decl_real().
Definition at line 12851 of file pt.c.
References args, DECL_INITIAL, DECL_P, DECL_TEMPLATE_PARM_P, dependent_scope_ref_p(), dependent_type_p(), EXPR_P, function, gcc_assert, gcc_unreachable, i, INTEGRAL_OR_ENUMERATION_TYPE_P, processing_template_decl, tcc_binary, tcc_comparison, tcc_expression, tcc_reference, tcc_statement, tcc_unary, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, TREE_OPERAND, TREE_TYPE, TREE_VALUE, type_dependent_expression_p(), TYPE_P, and value_dependent_expression_p().
Referenced by build_cplus_array_type_1(), comp_array_types(), compute_array_index_type(), cp_finish_decl(), dependent_template_arg_p(), dependent_type_p_r(), fold_non_dependent_expr(), tsubst_decl(), type_dependent_expression_p(), uses_template_parms(), value_dependent_expression_p(), and write_array_type().
int last_template_error_tick [static] |
| int max_tinst_depth |
Definition at line 664 of file c-common.c.
Referenced by c_common_decode_option(), and c_common_handle_option().
int tinst_depth [static] |
int tinst_level_tick [static] |
1.5.6