#include "config.h"#include "system.h"#include "tree.h"#include "rtl.h"#include "expr.h"#include "flags.h"#include "cp-tree.h"#include "decl.h"#include "lex.h"#include "output.h"#include "except.h"#include "toplev.h"#include "ggc.h"#include "timevar.h"#include "cpplib.h"#include "target.h"#include "c-common.h"#include "gt-cp-decl2.h"

Go to the source code of this file.
| #define deferred_fns_used (deferred_fns ? deferred_fns->elements_used : 0) |
Referenced by cp_finish_file(), and finish_file().
| #define pending_statics_used (pending_statics ? pending_statics->elements_used : 0) |
Referenced by cp_finish_file(), and finish_file().
| #define SSDF_IDENTIFIER "__static_initialization_and_destruction" |
| typedef struct priority_info_s * priority_info |
| static int acceptable_java_type | ( | tree | type | ) | [static] |
Definition at line 626 of file decl2.c.
References args, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, i, TREE_CODE, TREE_TYPE, TREE_VEC_ELT, TREE_VEC_LENGTH, and TYPE_FOR_JAVA.
Referenced by check_java_method().
| static int add_function | ( | struct arg_lookup * | k, | |
| tree | fn | |||
| ) | [static] |
Definition at line 4161 of file decl2.c.
References build_overload(), cp_error_at(), error(), f1, f2, is_overloaded_fn(), and OVL_CURRENT.
Referenced by arg_assoc_class(), and arg_assoc_namespace().
Definition at line 3750 of file decl2.c.
References DECL_NAMESPACE_USERS, DECL_NAMESPACE_USING, my_friendly_assert, namespace_ancestor(), NULL_TREE, POP_TIMEVAR_AND_RETURN, purpose_member(), timevar_pop, timevar_push, TREE_CHAIN, TREE_CODE, tree_cons, TREE_INDIRECT_USING, and TREE_PURPOSE.
Referenced by add_using_namespace(), and do_using_directive().
| static cxx_binding * ambiguous_decl | ( | tree | name, | |
| cxx_binding * | old, | |||
| cxx_binding * | new, | |||
| int | flags | |||
| ) | [static] |
Definition at line 3841 of file decl2.c.
References BINDING_TYPE, BINDING_VALUE, cp_error_at(), DECL_ANTICIPATED, DECL_CLASS_TEMPLATE_P, error(), error_mark_node, is_overloaded_fn(), LOOKUP_COMPLAIN, LOOKUP_NAMESPACES_ONLY, LOOKUP_QUALIFIERS_ONLY, LOOKUP_TYPES_ONLY, merge_functions(), my_friendly_assert, NULL, NULL_TREE, TREE_CODE, and val.
Referenced by lookup_using_namespace(), and qualified_lookup_using_namespace().
| static int arg_assoc | ( | struct arg_lookup* | k, | |
| tree | n | |||
| ) | [static] |
Definition at line 4391 of file decl2.c.
References arg_assoc_class(), arg_assoc_namespace(), arg_assoc_template_arg(), arg_assoc_type(), args, BASELINK_FUNCTIONS, CP_DECL_CONTEXT, error_mark_node, my_friendly_assert, NULL_TREE, OVL_CHAIN, OVL_CURRENT, OVL_FUNCTION, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_P, and type_unknown_p().
Referenced by arg_assoc_args().
| static int arg_assoc_args | ( | struct arg_lookup* | k, | |
| tree | args | |||
| ) | [static] |
Definition at line 4378 of file decl2.c.
References arg_assoc(), TREE_CHAIN, and TREE_VALUE.
Referenced by arg_assoc_type(), and lookup_arg_dependent().
| static int arg_assoc_class | ( | struct arg_lookup* | k, | |
| tree | type | |||
| ) | [static] |
Definition at line 4268 of file decl2.c.
References add_function(), arg_assoc_namespace(), arg_assoc_template_arg(), CLASS_TYPE_P, CLASSTYPE_N_BASECLASSES, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TI_ARGS, CP_DECL_CONTEXT, DECL_FRIENDLIST, decl_namespace(), error_mark_node, i, INNERMOST_TEMPLATE_ARGS, NULL_TREE, purpose_member(), TREE_CHAIN, tree_cons, TREE_PURPOSE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TYPE_BINFO_BASETYPE, and TYPE_MAIN_DECL.
Referenced by arg_assoc(), arg_assoc_class(), arg_assoc_template_arg(), and arg_assoc_type().
| static int arg_assoc_namespace | ( | struct arg_lookup * | k, | |
| tree | scope | |||
| ) | [static] |
Definition at line 4200 of file decl2.c.
References add_function(), namespace_binding(), NULL_TREE, OVL_CURRENT, OVL_NEXT, purpose_member(), and tree_cons.
Referenced by arg_assoc(), arg_assoc_class(), arg_assoc_namespace(), arg_assoc_template_arg(), and arg_assoc_type().
| static int arg_assoc_template_arg | ( | struct arg_lookup* | k, | |
| tree | arg | |||
| ) | [static] |
Definition at line 4225 of file decl2.c.
References arg_assoc_class(), arg_assoc_namespace(), arg_assoc_type(), CP_DECL_CONTEXT, TREE_CODE, and TYPE_P.
Referenced by arg_assoc(), and arg_assoc_class().
| static int arg_assoc_type | ( | struct arg_lookup * | k, | |
| tree | type | |||
| ) | [static] |
Definition at line 4321 of file decl2.c.
References abort, arg_assoc_args(), arg_assoc_class(), arg_assoc_namespace(), COMPLEX_TYPE, decl_namespace(), TREE_CODE, TREE_TYPE, TYPE_ARG_TYPES, TYPE_MAIN_DECL, TYPE_OFFSET_BASETYPE, TYPE_PTRMEMFUNC_FN_TYPE, TYPE_PTRMEMFUNC_P, and unknown_type_node.
Referenced by arg_assoc(), arg_assoc_template_arg(), and arg_assoc_type().
| static tree build_anon_union_vars | ( | tree | anon_decl, | |
| tree* | elems, | |||
| int | static_p, | |||
| int | external_p | |||
| ) | [static] |
Definition at line 1325 of file decl2.c.
References ANON_AGGR_TYPE_P, build_decl, cp_pedwarn_at(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_INITIAL, DECL_NAME, DECL_SIZE, error(), error_mark_node, NULL_TREE, pushdecl(), TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_PRIVATE, TREE_PROTECTED, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, and TYPE_FIELDS.
Referenced by build_anon_union_vars(), and finish_anon_union().
Definition at line 260 of file decl2.c.
Referenced by build_this_parm(), grokclassfn(), and maybe_retrofit_in_chrg().
Definition at line 2035 of file decl2.c.
Referenced by do_static_destruction(), one_static_initialization_or_destruction(), and register_dtor_fn().
Definition at line 3179 of file decl2.c.
References abort, args, build(), build_call_from_tree(), build_const_cast(), build_dynamic_cast(), build_functional_cast(), build_m_component_ref(), build_method_call(), build_new(), build_nt(), build_offset_ref(), build_offset_ref_call_from_tree(), build_reinterpret_cast(), build_scoped_method_call(), build_static_cast(), build_throw(), build_typeid(), build_va_arg(), 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(), c_alignof_expr(), CONSTRUCTOR_ELTS, convert_from_reference(), current_class_type, cxx_sizeof_or_alignof_type(), DELETE_EXPR_USE_GLOBAL, DELETE_EXPR_USE_VEC, delete_sanity(), digest_init(), do_identifier(), do_scoped_id(), error_mark_node, expr_sizeof(), finish_class_member_access_expr(), finish_object_call_expr(), finish_pseudo_destructor_call_expr(), get_typeid(), grok_array_decl(), IDENTIFIER_GLOBAL_VALUE, IS_AGGR_TYPE, LOOKUP_EXPR_GLOBAL, lookup_member(), LOOKUP_NORMAL, lookup_template_function(), NEW_EXPR_USE_GLOBAL, nreverse(), NULL_TREE, r, really_overloaded_fn(), resolve_scoped_fn_name(), token, TREE_CHAIN, TREE_CODE, tree_cons, TREE_HAS_CONSTRUCTOR, TREE_OPERAND, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_P, TYPE_PTRMEMFUNC_P, void_list_node, and void_type_node.
Referenced by build_expr_from_tree(), maybe_fold_nontype_arg(), reparse_decl_as_expr(), and tsubst_expr().
Definition at line 692 of file decl2.c.
References add_method(), CLASSTYPE_FIRST_CONVERSION_SLOT, CLASSTYPE_METHOD_VEC, complete_type(), COMPLETE_TYPE_P, compparms(), cp_error_at(), ctor_identifier, cxx_incomplete_type_error, DECL_CONSTRUCTOR_P, DECL_CONV_FN_P, DECL_DESTRUCTOR_P, DECL_NAME, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_SPECIALIZATION, DECL_TI_TEMPLATE, DECL_USE_TEMPLATE, dtor_identifier, error(), format, is_member_template(), lookup_fnfields_1(), NULL, NULL_TREE, OVL_CURRENT, OVL_NEXT, p1, p2, processing_template_decl, same_type_p, template_class_depth(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VEC_ELT, TREE_VEC_LENGTH, and TYPE_ARG_TYPES.
Referenced by do_friend(), grokfndecl(), start_decl(), and tsubst_friend_function().
Definition at line 4841 of file decl2.c.
Referenced by cp_parser_late_parsing_default_args(), do_pending_defargs(), duplicate_decls(), pushdecl(), pushdecl_maybe_friend(), start_function(), and start_preparsed_function().
| int check_java_method | ( | tree | method | ) |
Definition at line 1610 of file decl2.c.
Referenced by expand_or_defer_fn(), import_export_decl(), import_export_vtable(), make_thunk(), mark_decl_instantiated(), maybe_commonize_var(), maybe_emit_vtables(), note_decl_for_pch(), start_function(), start_preparsed_function(), tinfo_base_init(), and use_thunk().
Definition at line 1280 of file decl2.c.
Referenced by build_new_method_call(), build_self_reference(), check_dtor_name(), check_field_decls(), constructor_name_p(), cp_parser_direct_declarator(), dump_function_name(), finish_struct_anon(), get_vfield_name(), grokdeclarator(), grokfndecl(), implicitly_declare_fn(), name_as_c_string(), pp_cxx_unqualified_id(), push_class_level_binding(), template_self_reference_p(), tsubst_decl(), warn_about_implicit_typename_lookup(), and xref_tag().
Definition at line 1251 of file decl2.c.
References CLASSTYPE_METHOD_VEC, DECL_NAME, DECL_TEMPLATE_RESULT, IS_AGGR_TYPE_CODE, my_friendly_assert, OVL_CURRENT, TREE_CODE, TREE_VEC_ELT, TYPE_HAS_CONSTRUCTOR, TYPE_NAME, and TYPE_WAS_ANONYMOUS.
Referenced by constructor_name(), and constructor_name_p().
Definition at line 247 of file decl2.c.
Referenced by build_artificial_parm(), grokdeclarator(), implicitly_declare_fn(), and start_cleanup_fn().
Definition at line 1228 of file decl2.c.
Referenced by begin_class_definition(), cp_parser_conversion_type_id(), cp_parser_elaborated_type_specifier(), cp_parser_enum_specifier(), cp_parser_member_declaration(), cp_parser_objc_class_ivars(), do_friend(), finish_struct(), grokfield(), grokfndecl(), grokparms(), groktypename(), regenerate_decl_from_template(), start_decl(), start_function(), and start_method().
Definition at line 4080 of file decl2.c.
References current_class_type, current_function_decl, current_namespace, decl_namespace(), decl_namespace_list, result, TREE_PURPOSE, and TYPE_STUB_DECL.
Referenced by lookup_arg_dependent(), lookup_type_scope(), push_using_directive(), and unqualified_namespace_lookup().
Definition at line 4058 of file decl2.c.
References DECL_CONTEXT, DECL_P, my_friendly_assert, POP_TIMEVAR_AND_RETURN, timevar_push, TREE_CODE, TYPE_P, and TYPE_STUB_DECL.
Referenced by arg_assoc_class(), arg_assoc_type(), current_decl_namespace(), and push_decl_namespace().
Definition at line 1304 of file decl2.c.
References DECL_DEFERRED_FN, VARRAY_PUSH_TREE, and VARRAY_TREE_INIT.
Definition at line 506 of file decl2.c.
Referenced by build_expr_from_tree(), cp_parser_delete_expression(), and tsubst_copy_and_build().
Definition at line 4767 of file decl2.c.
References BASELINK_FUNCTIONS, BASELINK_P, build_lang_decl(), DECL_INITIAL, DECL_NAME, error(), get_first_fn(), my_friendly_assert, NULL_TREE, TREE_CODE, TREE_OPERAND, TYPE_P, and void_type_node.
Referenced by cp_parser_using_declaration(), grokfield(), and tsubst_decl().
Definition at line 4721 of file decl2.c.
References add_decl_stmt(), at_function_scope_p(), building_stmt_tree, do_nonmember_using_decl(), is_overloaded_fn(), lookup_name_current_level(), lookup_type_current_level(), NULL_TREE, OVL_CURRENT, OVL_FUNCTION, OVL_NEXT, PUSH_LOCAL, push_local_binding(), push_overloaded_decl(), PUSH_USING, set_identifier_type_value(), TREE_CODE, and validate_nonmember_using_decl().
Referenced by cp_parser_using_declaration(), and tsubst_expr().
| static void do_nonmember_using_decl | ( | tree | scope, | |
| tree | name, | |||
| tree | oldval, | |||
| tree | oldtype, | |||
| tree * | newval, | |||
| tree * | newtype | |||
| ) | [static] |
Definition at line 4581 of file decl2.c.
References build_overload(), compparms(), cxx_binding_clear, DECL_ANTICIPATED, DECL_IMPLICIT_TYPEDEF_P, decls, decls_match(), error(), is_overloaded_fn(), NULL_TREE, ovl_cons(), OVL_CURRENT, OVL_NEXT, OVL_USED, qualified_lookup_using_namespace(), same_type_p, tmp, tmp1, TREE_CODE, TREE_TYPE, and TYPE_ARG_TYPES.
Referenced by do_local_using_decl(), and do_toplevel_using_decl().
Definition at line 2599 of file decl2.c.
References build_cleanup(), finish_expr_stmt(), finish_static_initialization_or_destruction(), flag_use_cxa_atexit, my_friendly_assert, start_static_initialization_or_destruction(), TREE_TYPE, and TYPE_HAS_TRIVIAL_DESTRUCTOR.
Referenced by cp_finish_file(), and finish_file().
Definition at line 2569 of file decl2.c.
References finish_expr_stmt(), finish_static_initialization_or_destruction(), flag_use_cxa_atexit, register_dtor_fn(), and start_static_initialization_or_destruction().
Referenced by cp_finish_file(), and finish_file().
Definition at line 4690 of file decl2.c.
References binding_for_name(), BINDING_TYPE, BINDING_VALUE, current_namespace, do_nonmember_using_decl(), NULL_TREE, and validate_nonmember_using_decl().
Referenced by cp_parser_using_declaration().
Definition at line 4810 of file decl2.c.
Referenced by parse_using_directive(), push_namespace(), push_namespace_with_attribs(), and tsubst_expr().
Definition at line 1473 of file decl2.c.
References build_decl, DECL_FIELD_CONTEXT, get_identifier(), i, layout_decl(), layout_type(), TREE_CHAIN, TREE_TYPE, TYPE_ALIGN, TYPE_FIELDS, TYPE_NAME, TYPE_STUB_DECL, and TYPE_USER_ALIGN.
Referenced by build_ptrmemfunc_type(), create_tinfo_types(), and VPARAMS().
Definition at line 3664 of file decl2.c.
References abort, current_class_depth, make_pointer_declarator(), make_reference_declarator(), NULL_TREE, push_nested_class(), TREE_CODE, TREE_COMPLEXITY, TREE_OPERAND, TREE_TYPE, and TREE_VALUE.
Referenced by finish_decl_parsing().
Definition at line 2777 of file decl2.c.
References back_end_hook, check_global_declarations(), cp_warning_at(), current_class_type, DECL_ARTIFICIAL, DECL_DECLARED_INLINE_P, DECL_EXPLICIT_INSTANTIATION, DECL_EXTERNAL, DECL_IN_AGGR_P, DECL_INITIAL, DECL_INLINE, decl_namespace_list, DECL_NEEDED_P, DECL_NOT_REALLY_EXTERN, DECL_REALLY_EXTERN, DECL_SAVED_TREE, DEFAULT_INIT_PRIORITY, deferred_fns_used, do_static_destruction(), do_static_initialization(), dump_begin(), dump_end(), dump_node(), dump_time_statistics(), dump_tree_statistics(), emit_support_tinfos(), emit_tinfo_decl(), expand_body(), finish_repo(), finish_static_storage_duration_function(), flag_detailed_statistics, flag_syntax_only, flag_use_cxa_atexit, flags, generate_ctor_and_dtor_functions_for_priority(), generate_ctor_or_dtor_function(), global_bindings_p(), i, import_export_decl(), instantiate_pending_templates(), interface_only, interface_unknown, keyed_classes, lang_name_c, lineno, maybe_emit_vtables(), next, nreverse(), NULL_TREE, pending_statics_used, pop_from_top_level(), pop_lang_context(), prune_vars_needing_no_initialization(), push_lang_context(), push_to_top_level(), splay_tree_delete(), splay_tree_foreach(), start_static_storage_duration_function(), static_aggregates, stream, synthesize_method(), TDF_SLIM, TDI_all, timevar_pop, timevar_push, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_PURPOSE, TREE_USED, TREE_VALUE, unemitted_tinfo_decl_p(), VARRAY_TREE, vars, walk_globals(), walk_namespaces(), wrapup_global_declarations(), wrapup_globals_for_namespace(), and write_out_vars().
Definition at line 2217 of file decl2.c.
References gcc_target::asm_out, gcc_target::asm_out::constructor, DECL_RTL, gcc_target::asm_out::destructor, expand_body(), finish_compound_stmt(), finish_function(), flag_syntax_only, gcc_target::have_ctors_dtors, targetm, and XEXP.
Referenced by generate_ctor_or_dtor_function().
Definition at line 822 of file decl2.c.
Referenced by grokfield(), and instantiate_class_template().
Definition at line 2553 of file decl2.c.
References current_function_decl, DECL_CONTEXT, DECL_STATIC_FUNCTION_P, finish_if_stmt(), finish_then_clause(), and NULL_TREE.
Referenced by do_static_destruction(), and do_static_initialization().
Definition at line 2386 of file decl2.c.
References expand_body(), finish_compound_stmt(), and finish_function().
Referenced by cp_finish_file(), and finish_file().
| static int generate_ctor_and_dtor_functions_for_priority | ( | splay_tree_node | n, | |
| data | ||||
| ) | [static] |
Definition at line 2749 of file decl2.c.
References DEFAULT_INIT_PRIORITY, generate_ctor_or_dtor_function(), int, and pi.
Referenced by cp_finish_file(), and finish_file().
| static void generate_ctor_or_dtor_function | ( | int | constructor_p, | |
| int | priority | |||
| ) | [static] |
Definition at line 2696 of file decl2.c.
References build_function_call(), build_int_2, DEFAULT_INIT_PRIORITY, finish_expr_stmt(), finish_objects(), i, NULL_TREE, start_objects(), TREE_CHAIN, tree_cons, TREE_VALUE, and VARRAY_TREE.
Referenced by cp_finish_file(), finish_file(), and generate_ctor_and_dtor_functions_for_priority().
Definition at line 2066 of file decl2.c.
Referenced by expand_static_init(), one_static_initialization_or_destruction(), and start_static_initialization_or_destruction().
Definition at line 2102 of file decl2.c.
References build1, build_pointer_type(), char_type_node, and TREE_TYPE.
Referenced by get_guard_cond(), and set_guard().
Definition at line 2122 of file decl2.c.
Referenced by expand_static_init(), one_static_initialization_or_destruction(), and start_static_initialization_or_destruction().
| static priority_info get_priority_info | ( | int | priority | ) | [static] |
Definition at line 2399 of file decl2.c.
References priority_info_s::destructions_p, priority_info_s::initializations_p, n, pi, splay_tree_insert(), splay_tree_lookup(), splay_tree_node_s::value, and xmalloc().
Referenced by do_static_initialization_or_destruction(), and start_static_initialization_or_destruction().
Definition at line 431 of file decl2.c.
Referenced by build_expr_from_tree(), and cp_parser_postfix_open_square_expression().
Definition at line 1211 of file decl2.c.
References DECL_PURE_VIRTUAL_P, error(), integer_zerop(), TREE_CODE, and TREE_TYPE.
Referenced by grokfield().
Definition at line 224 of file decl2.c.
References ANON_AGGR_TYPE_P, build_decl, build_tree_list, check_tag_decl(), finish_member_declaration(), fixup_anonymous_aggr(), groktypename(), NULL_TREE, and strip_attrs().
Referenced by finish_member_class_template().
Definition at line 1095 of file decl2.c.
References BITFIELD, constant_expression_warning(), cp_finish_decl(), DECL_CONTEXT, DECL_IN_AGGR_P, DECL_INITIAL, DECL_NAME, error(), error_mark_node, grokdeclarator(), NULL, NULL_TREE, SET_DECL_C_BIT_FIELD, TREE_CODE, TREE_STATIC, and void_type_node.
Referenced by cp_parser_member_declaration(), and cp_parser_objc_class_ivars().
| void grokclassfn | ( | tree | ctype, | |
| tree | function, | |||
| enum overload_flags | flags, | |||
| tree | quals | |||
| ) |
Definition at line 370 of file decl2.c.
References build_artificial_parm(), c_apply_type_quals_to_decl(), cp_build_qualified_type, DECL_ARGUMENTS, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_DESTRUCTOR_P, DECL_NAME, DTOR_FLAG, error(), get_identifier(), grok_method_quals(), lang_cplusplus, last_function_parms, maybe_retrofit_in_chrg(), NULL_TREE, SET_DECL_LANGUAGE, this_identifier, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_HAS_DESTRUCTOR, TYPE_QUAL_CONST, and TYPE_UNQUALIFIED.
Referenced by do_friend(), grokfndecl(), and implicitly_declare_fn().
Definition at line 892 of file decl2.c.
References abort, CALL_DECLARATOR_PARMS, CLASS_TYPE_P, CLASSTYPE_GOT_SEMICOLON, cp_finish_decl(), cplus_decl_attributes(), current_class_depth, current_class_type, decl_constant_value(), DECL_CONTEXT, DECL_EXTERNAL, DECL_FRIEND_P, DECL_IN_AGGR_P, DECL_INITIAL, DECL_NAME, DECL_NONLOCAL, DECL_P, digest_init(), do_class_using_decl(), error(), error_mark_node, FIELD, finish_static_data_member_decl(), flags, get_identifier(), grok_function_init(), grok_special_member_properties(), grokdeclarator(), IDENTIFIER_POINTER, IS_AGGR_TYPE_CODE, LOOKUP_ONLYCONVERTING, NULL_RTX, NULL_TREE, parmlist_is_exprlist(), pedantic, pop_nested_class(), processing_template_decl, push_template_decl(), SET_DECL_ASSEMBLER_NAME, SET_DECL_RTL, strcmp(), TREE_CHAIN, TREE_CODE, TREE_COMPLEXITY, TREE_CONSTANT, TREE_OPERAND, TREE_READONLY_DECL_P, TREE_STATIC, TREE_STRING_POINTER, TREE_TYPE, TREE_VALUE, and void_type_node.
Definition at line 1153 of file decl2.c.
References args, current_template_args(), current_template_parms, grokdeclarator(), mangle_conv_op_name_for_type(), NULL, NULL_TREE, pop_scope(), push_scope(), tf_error, tf_warning, tsubst(), TYPENAME, and uses_template_parms().
| static GTY | ( | () | ) | [static] |
Definition at line 107 of file decl2.c.
References at_eof, build_cplus_method_type(), build_exception_variant(), cp_build_qualified_type, cp_type_qual_from_rid(), error(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_QUAL_RESTRICT, TYPE_RAISES_EXCEPTIONS, and TYPE_UNQUALIFIED.
Definition at line 1743 of file decl2.c.
References CLASSTYPE_IMPLICIT_INSTANTIATION, CLASSTYPE_INTERFACE_KNOWN, CLASSTYPE_INTERFACE_ONLY, CLASSTYPE_KEY_METHOD, DECL_REALLY_EXTERN, flag_implicit_templates, lookup_attribute(), my_friendly_assert, SET_CLASSTYPE_INTERFACE_KNOWN, TYPE_ATTRIBUTES, and TYPE_POLYMORPHIC_P.
Referenced by import_export_decl(), import_export_tinfo(), and maybe_emit_vtables().
Definition at line 1927 of file decl2.c.
Referenced by cp_finish_file(), emit_tinfo_decl(), expand_body(), expand_or_defer_fn(), finish_file(), instantiate_decl(), maybe_emit_vtables(), synthesize_method(), tinfo_base_init(), and write_out_vars().
Definition at line 1994 of file decl2.c.
References CLASSTYPE_INTERFACE_KNOWN, CLASSTYPE_INTERFACE_ONLY, DECL_COMDAT, DECL_INTERFACE_KNOWN, DECL_NOT_REALLY_EXTERN, flag_rtti, flag_weak, import_export_class(), IS_AGGR_TYPE, and TYPE_POLYMORPHIC_P.
Referenced by emit_tinfo_decl().
Definition at line 1699 of file decl2.c.
References CLASSTYPE_INTERFACE_KNOWN, CLASSTYPE_INTERFACE_ONLY, CLASSTYPE_KEY_METHOD, CLASSTYPE_TEMPLATE_INSTANTIATION, comdat_linkage(), DECL_EXTERNAL, DECL_INTERFACE_KNOWN, NULL_TREE, TREE_PUBLIC, and TYPE_FOR_JAVA.
Referenced by build_vtable(), and maybe_emit_vtables().
Definition at line 4470 of file decl2.c.
Referenced by do_identifier(), lookup_function_nonclass(), and perform_koenig_lookup().
Definition at line 1578 of file decl2.c.
References CONSTRUCTOR_ELTS, DECL_INITIAL, DECL_THUNK_P, mark_used(), TREE_ADDRESSABLE, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_VALUE, and use_thunk().
Referenced by maybe_emit_vtables().
| static int maybe_emit_vtables | ( | tree | ctype | ) | [static] |
Definition at line 1832 of file decl2.c.
References CLASSTYPE_DEBUG_REQUESTED, CLASSTYPE_VTABLES, comdat_linkage(), DECL_COMDAT, DECL_EXTERNAL, DECL_IGNORED_P, DECL_INITIAL, DECL_NEEDED_P, DWARF2_DEBUG, DWARF_DEBUG, flag_syntax_only, flag_vtable_gc, flag_weak, import_export_class(), import_export_vtable(), mark_vtable_entries(), note_debug_info_needed(), NULL, output_vtable_inherit(), rest_of_decl_compilation(), store_init_value(), TREE_ASM_WRITTEN, TREE_CHAIN, TREE_TYPE, void_type_node, and write_symbols.
Referenced by cp_finish_file(), and finish_file().
Definition at line 1664 of file decl2.c.
Referenced by import_export_decl(), mark_decl_instantiated(), start_function(), and start_preparsed_function().
Definition at line 3802 of file decl2.c.
References build_overload(), DECL_EXTERN_C_P, DECL_NAME, OVL_CURRENT, and OVL_NEXT.
Referenced by ambiguous_decl().
Definition at line 3736 of file decl2.c.
References CP_DECL_CONTEXT, is_ancestor(), POP_TIMEVAR_AND_RETURN, and timevar_push.
Referenced by add_using_namespace(), namespace_ancestor(), and push_using_directive().
Definition at line 1805 of file decl2.c.
References abort, assemble_vtable_inherit(), binfo_for_vtable(), BINFO_TYPE, const0_rtx, DECL_CONTEXT, DECL_RTL, get_vtbl_decl_for_binfo(), TYPE_BINFO, and XEXP.
Referenced by maybe_emit_vtables().
| static int arg_assoc PARAMS | ( | (struct arg_lookup *, tree) | ) | [static] |
| static int generate_ctor_and_dtor_functions_for_priority PARAMS | ( | (splay_tree_node, void *) | ) | [static] |
| static priority_info get_priority_info PARAMS | ( | (int) | ) | [static] |
Definition at line 77 of file cplus-dem.c.
| static tree start_objects PARAMS | ( | (int, int) | ) | [static] |
Definition at line 4109 of file decl2.c.
Referenced by cp_finish_decl(), grokdeclarator(), lookup_template_class(), and pop_scope().
Definition at line 4129 of file decl2.c.
Referenced by c_end_compound_stmt(), c_parser_parms_declarator(), check_classfn(), cp_parser_class_head(), cp_parser_class_specifier(), cp_parser_condition(), cp_parser_constructor_declarator_p(), cp_parser_conversion_function_id(), cp_parser_direct_declarator(), cp_parser_init_declarator(), cp_parser_lookup_name(), cp_parser_omp_for_loop(), finish_class_definition(), grokfndecl(), grokoptypename(), instantiate_class_template(), pop_file_scope(), resolve_typename_type(), and store_parm_decls_newstyle().
Definition at line 2628 of file decl2.c.
References DECL_EXTERNAL, error_mark_node, my_friendly_assert, NULL_TREE, result, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_VALUE, and value_member().
Referenced by cp_finish_file(), and finish_file().
Definition at line 4099 of file decl2.c.
Referenced by enter_scope_of(), lookup_template_class(), push_scope(), and start_decl().
Definition at line 4117 of file decl2.c.
Referenced by c_begin_compound_stmt(), c_init_decl_processing(), c_parser_parms_declarator(), check_classfn(), cp_parser_class_head(), cp_parser_class_specifier(), cp_parser_constructor_declarator_p(), cp_parser_conversion_function_id(), cp_parser_direct_declarator(), cp_parser_init_declarator(), cp_parser_lookup_name(), grokfndecl(), grokoptypename(), handle_class_head(), handle_class_head_apparent_template(), instantiate_class_template(), push_file_scope(), resolve_typename_type(), start_decl(), start_function(), and store_parm_decls_newstyle().
| bool qualified_lookup_using_namespace | ( | tree | name, | |
| tree | scope, | |||
| cxx_binding * | result, | |||
| int | flags | |||
| ) |
Definition at line 3134 of file decl2.c.
References build_c_cast(), CALL_DECLARATOR_PARMS, complete_array_type(), COMPLETE_TYPE_P, current_lang_name, digest_init(), failure, groktypename(), in_system_header, lang_name_c, my_friendly_assert, processing_template_decl, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, VOID_TYPE_P, warn_old_style_cast, and warning.
Definition at line 3112 of file decl2.c.
References build_functional_cast(), finish_call_expr(), NULL_TREE, and TREE_OPERAND.
Referenced by reparse_absdcl_as_expr().
Definition at line 3649 of file decl2.c.
References build_expr_from_tree(), build_functional_cast(), build_tree_list, and NULL_TREE.
Definition at line 2139 of file decl2.c.
Referenced by expand_static_init(), one_static_initialization_or_destruction(), and start_static_initialization_or_destruction().
| static tree start_objects | ( | int | method_type, | |
| int | initp | |||
| ) | [static] |
Definition at line 2156 of file decl2.c.
References begin_compound_stmt(), current_function_cannot_inline, current_function_decl, DECL_GLOBAL_CTOR_P, DECL_GLOBAL_DTOR_P, DECL_LANG_SPECIFIC, DEFAULT_INIT_PRIORITY, get_file_function_name_long(), gcc_target::have_ctors_dtors, JOINER, make_call_declarator(), NULL_TREE, SF_DEFAULT, sprintf(), start_function(), targetm, TREE_PUBLIC, TREE_USED, and void_list_node.
Referenced by generate_ctor_or_dtor_function().
Definition at line 2429 of file decl2.c.
References begin_if_stmt(), build_int_2, build_unary_op(), cond, cp_build_binary_op, current_function_decl, DECL_COMMON, DECL_CONTEXT, DECL_INIT_PRIORITY, DECL_ONE_ONLY, DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_STATIC_FUNCTION_P, DECL_WEAK, DEFAULT_INIT_PRIORITY, priority_info_s::destructions_p, finish_expr_stmt(), finish_if_stmt_cond(), flag_use_cxa_atexit, get_guard(), get_guard_cond(), get_priority_info(), priority_info_s::initializations_p, input_filename, integer_one_node, integer_zero_node, lineno, member_p(), my_friendly_assert, NULL_TREE, pi, set_guard(), and TREE_PUBLIC.
Referenced by do_static_destruction(), and do_static_initialization().
Definition at line 4524 of file decl2.c.
References abort, DECL_NAME, DECL_P, error(), NULL_TREE, processing_template_decl, push_using_decl(), TREE_CODE, TREE_OPERAND, and TYPE_P.
Referenced by do_local_using_decl(), and do_toplevel_using_decl().
Definition at line 193 of file decl2.c.
References cp_warning_at(), flag_alt_external_templates, input_filename, lineno, sl, TINST_FILE, tinst_for_decl(), TINST_LINE, and warning.
Referenced by instantiate_decl().
Definition at line 2681 of file decl2.c.
References rest_of_decl_compilation(), TREE_ASM_WRITTEN, TREE_CHAIN, and TREE_VALUE.
Referenced by cp_finish_file(), and finish_file().
Definition at line 54 of file c-common.c.
1.5.6