#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "tree.h"#include "rtl.h"#include "expr.h"#include "flags.h"#include "cp-tree.h"#include "tree-inline.h"#include "decl.h"#include "output.h"#include "except.h"#include "toplev.h"#include "hashtab.h"#include "tm_p.h"#include "target.h"#include "c-common.h"#include "c-pragma.h"#include "diagnostic.h"#include "debug.h"#include "timevar.h"#include "tree-flow.h"#include "operators.def"#include "gt-cp-decl.h"

Go to the source code of this file.
| #define DEF_OPERATOR | ( | NAME, | |||
| CODE, | |||||
| MANGLING, | |||||
| ARITY, | |||||
| ASSN_P | ) |
Value:
if (ansi_opname (CODE) == name) \ { \ operator_code = (CODE); \ break; \ } \ else if (ansi_assopname (CODE) == name) \ { \ operator_code = (CODE); \ DECL_ASSIGNMENT_OPERATOR_P (decl) = 1; \ break; \ }
| #define named_label_uses cp_function_chain->x_named_label_uses |
| #define named_labels cp_function_chain->x_named_labels |
| enum deprecated_states |
| static void bad_specifiers | ( | tree | object, | |
| const char * | type, | |||
| int | virtualp, | |||
| int | quals, | |||
| int | inlinep, | |||
| int | friendp, | |||
| int | raises | |||
| ) | [static] |
Definition at line 5431 of file decl.c.
References cp_error_at(), error(), TREE_CODE, TREE_TYPE, TYPE_PTRFN_P, TYPE_PTRMEMFUNC_P, and TYPE_REFFN_P.
Definition at line 10434 of file decl.c.
References begin_compound_stmt(), begin_if_stmt(), boolean_true_node, current_class_ptr, finish_compound_stmt(), finish_if_stmt(), finish_if_stmt_cond(), finish_then_clause(), initialize_vtbl_ptrs(), and push_base_cleanups().
Definition at line 10535 of file decl.c.
References BCS_FN_BODY, begin_compound_stmt(), begin_destructor_body(), current_function_decl, DECL_DESTRUCTOR_P, keep_next_level(), and processing_template_decl.
Definition at line 3248 of file decl.c.
References build_library_fn_1(), current_namespace, DECL_CONTEXT, FROB_CONTEXT, lang_cplusplus, SET_DECL_LANGUAGE, TREE_NOTHROW, and TYPE_NOTHROW_P.
Definition at line 9773 of file decl.c.
References add_double, build_decl, build_int_cst_wide(), build_lang_decl(), constant_expression_warning(), current_class_type, current_scope(), DECL_CONTEXT, DECL_INITIAL, error(), error_mark_node, finish_member_declaration(), FROB_CONTEXT, HOST_WIDE_INT, int_fits_type_p(), integer_zero_node, integral_constant_value(), lo, NULL_TREE, perform_integral_promotions(), processing_template_decl, pushdecl(), STRIP_TYPE_NOPS, TREE_CODE, tree_cons, TREE_CONSTANT, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_INVARIANT, TREE_READONLY, TREE_TYPE, TREE_VALUE, and TYPE_VALUES.
Definition at line 3219 of file decl.c.
References build_lang_decl(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, lang_c, SET_DECL_LANGUAGE, SET_OVERLOADED_OPERATOR_CODE, TREE_NOTHROW, TREE_PUBLIC, and VISIBILITY_DEFAULT.
Definition at line 6001 of file decl.c.
References arg_types, build_method_type_directly(), build_offset_type(), build_pointer_type(), build_ptrmemfunc_type(), cp_build_qualified_type, cp_type_quals(), gcc_assert, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, and TYPE_ARG_TYPES.
Definition at line 5936 of file decl.c.
References build_decl, build_ptrmemfunc_type(), build_qualified_type(), cp_type_quals(), delta_identifier, delta_type_node, error_mark_node, finish_builtin_struct(), make_aggr_type(), NULL_TREE, pfn_identifier, ptr_type_node, SET_IS_AGGR_TYPE, TREE_CHAIN, TYPE_GET_PTRMEMFUNC_TYPE, TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_NEXT_VARIANT, TYPE_PTRMEMFUNC_FLAG, TYPE_SET_PTRMEMFUNC_TYPE, TYPE_UNQUALIFIED, and xref_basetypes().
| tree builtin_function | ( | const char * | name, | |
| tree | type, | |||
| int | code, | |||
| enum built_in_class | cl, | |||
| const char * | libname, | |||
| tree | attrs | |||
| ) |
Definition at line 3195 of file decl.c.
References builtin_function_1(), NULL_TREE, pop_namespace(), push_namespace(), std_identifier, and std_node.
| static tree builtin_function_1 | ( | const char * | name, | |
| tree | type, | |||
| tree | context, | |||
| enum built_in_function | code, | |||
| enum built_in_class | cl, | |||
| const char * | libname, | |||
| tree | attrs | |||
| ) | [static] |
Definition at line 3143 of file decl.c.
References ATTR_FLAG_BUILT_IN, build_library_fn_1(), DECL_ANTICIPATED, decl_attributes(), DECL_BUILT_IN_CLASS, DECL_CONTEXT, DECL_FUNCTION_CODE, get_identifier(), NULL_TREE, pushdecl(), and SET_DECL_ASSEMBLER_NAME.
Definition at line 8323 of file decl.c.
References can_convert_arg(), error(), error_mark_node, local_variable_p_walkfn(), NULL, NULL_TREE, processing_template_decl, TREE_CODE, TREE_TYPE, TYPE_P, uses_template_parms(), and walk_tree_without_duplicates().
Definition at line 4075 of file decl.c.
References CP_TYPE_CONST_P, DECL_INITIAL, error(), TREE_CODE, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 9888 of file decl.c.
References abstract_virtuals_error(), build_exception_variant(), build_function_type(), build_method_type_directly(), COMPLETE_OR_VOID_TYPE_P, complete_type(), dependent_type_p(), error(), FUNCTION_ARG_CHAIN, require_complete_types_for_parms(), TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_RAISES_EXCEPTIONS, and void_type_node.
Definition at line 2239 of file decl.c.
References b, cp_error_at(), cp_pedwarn_at(), DECL_ARTIFICIAL, DECL_INITIAL, decl_jump_unsafe(), DECL_P, error(), lab, named_labels, pedwarn(), TREE_CHAIN, TREE_VALUE, and use_label().
Definition at line 4388 of file decl.c.
References BRACE_ENCLOSED_INITIALIZER_P, build2, build_aggr_init(), building_stmt_tree, check_for_uninitialized_const_var(), CLASSTYPE_READONLY_FIELDS_NEED_INIT, CLASSTYPE_REF_FIELDS_NEED_INIT, complete_type(), COMPLETE_TYPE_P, CP_AGGREGATE_TYPE_P, current_stmt_tree(), DECL_EXTERNAL, DECL_INITIAL, error(), error_mark_node, gcc_assert, grok_reference_init(), IS_AGGR_TYPE, maybe_deduce_size_from_array_init(), NULL, NULL_TREE, PAREN_STRING_LITERAL_P, pedantic, reshape_init(), stmts_are_full_exprs_p(), store_init_value(), strip_array_types(), targetm, TREE_CODE, TREE_CONSTANT, TREE_TYPE, TYPE_HAS_CONSTRUCTOR, TYPE_NEEDS_CONSTRUCTING, TYPE_NON_AGGREGATE_CLASS, TYPE_P, TYPE_SIZE, gcc_target::vector_opaque_p, and warning.
| static void check_previous_goto_1 | ( | tree | decl, | |
| struct cp_binding_level * | level, | |||
| tree | names, | |||
| const location_t * | locus | |||
| ) | [static] |
Definition at line 2136 of file decl.c.
References b, cp_error_at(), cp_pedwarn_at(), current_binding_level, decl_jump_unsafe(), error(), NULL_TREE, pedwarn(), problem, sk_catch, sk_try, and TREE_CHAIN.
Definition at line 2215 of file decl.c.
References check_previous_goto(), named_label_uses, and TREE_USED.
| static tree check_special_function_return_type | ( | special_function_kind | sfk, | |
| tree | type, | |||
| tree | optype | |||
| ) | [static] |
Definition at line 6290 of file decl.c.
References build_pointer_type(), gcc_target::cxx::cdtor_returns_this, gcc_target::cxx, error(), gcc_unreachable, pedwarn(), same_type_p, sfk_constructor, sfk_conversion, sfk_destructor, targetm, TYPE_FOR_JAVA, and void_type_node.
Definition at line 6030 of file decl.c.
References ARITHMETIC_TYPE_P, CP_TYPE_CONST_P, error(), INTEGRAL_TYPE_P, pedantic, pedwarn(), and TREE_CODE.
| tree check_tag_decl | ( | cp_decl_specifier_seq * | declspecs | ) |
Definition at line 10987 of file decl.c.
References CLASS_TYPE_P, complete_type(), complete_type_check_abstract(), cp_apply_type_quals_to_decl(), cp_type_quals(), gcc_assert, same_type_p, TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, and TREE_VALUE.
Definition at line 6065 of file decl.c.
References abi_version_at_least, build_index_type(), build_min(), constant_expression_warning(), cp_build_binary_op, cp_convert(), dependent_type_p(), error(), flag_pedantic_errors, fold(), HOST_WIDE_INT, in_system_header, INT_CST_LT, integer_one_node, integer_zero_node, integer_zerop(), integral_constant_value(), INTEGRAL_TYPE_P, pedantic, pedwarn(), processing_template_decl, sizetype, ssizetype, STRIP_TYPE_NOPS, TREE_CODE, TREE_CONSTANT, TREE_OVERFLOW, TREE_TYPE, value_dependent_expression_p(), and variable_size().
| int copy_fn_p | ( | tree | d | ) |
Definition at line 8524 of file decl.c.
References args, CP_TYPE_CONST_P, DECL_CONTEXT, DECL_FUNCTION_MEMBER_P, DECL_MEMBER_TEMPLATE_P, DECL_TEMPLATE_INFO, DECL_TI_TEMPLATE, FUNCTION_FIRST_USER_PARMTYPE, gcc_assert, result, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, and void_list_node.
Definition at line 4717 of file decl.c.
References abstract_virtuals_error(), add_decl_expr(), add_decl_stmt(), add_stmt(), at_eof, at_function_scope_p(), build_zero_init(), building_stmt_tree, check_initializer(), CLASSTYPE_GOT_SEMICOLON, cleanup(), COMPLETE_TYPE_P, CP_DECL_CONTEXT, current_binding_level, current_class_type, current_namespace, DECL_ATTRIBUTES, DECL_CONTEXT, DECL_EXTERNAL, DECL_FUNCTION_SCOPE_P, DECL_INITIAL, DECL_INITIALIZED_IN_CLASS_P, DECL_INITIALIZED_P, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NOT_REALLY_EXTERN, DECL_PRETTY_FUNCTION_P, DECL_THREAD_LOCAL, dependent_type_p(), determine_visibility(), doing_semantic_analysis_p, error(), error_mark_node, expand_static_init(), gcc_assert, get_identifier(), global_scope_p, initialize_local_var(), IS_AGGR_TYPE, layout_type(), layout_var_decl(), lookup_attribute(), make_decl_rtl(), make_rtl_for_nonlocal_decl(), mark_decl_referenced(), maybe_apply_renaming_pragma(), maybe_commonize_var(), maybe_deduce_size_from_array_init(), maybe_inject_for_scope_var(), my_friendly_assert, NULL, NULL_RTX, NULL_TREE, pod_type_p(), pop_decl_namespace(), pop_nested_class(), processing_template_decl, push_cleanup(), rest_of_decl_compilation(), SET_DECL_ASSEMBLER_NAME, SET_DECL_RTL, set_identifier_type_value(), strip_array_types(), target_type(), TREE_CODE, TREE_READONLY, TREE_STATIC, TREE_STRING_POINTER, TREE_TYPE, TYPE_BEING_DEFINED, TYPE_DECL_SUPPRESS_DEBUG, TYPE_HAS_MUTABLE_P, TYPE_MAIN_DECL, TYPE_NEEDS_CONSTRUCTING, TYPE_P, and warning.
Definition at line 3094 of file decl.c.
References b, build_decl, cp_finish_decl(), cp_fname_init(), current_binding_level, current_function_decl, DECL_ARTIFICIAL, DECL_CONTEXT, DECL_INITIAL, DECL_PRETTY_FUNCTION_P, fname_as_string(), free(), LOOKUP_ONLYCONVERTING, NULL, NULL_TREE, processing_template_decl, pushdecl_top_level_and_finish(), pushdecl_with_scope(), sk_function_parms, TREE_READONLY, TREE_STATIC, and TREE_USED.
| enum cp_tree_node_structure_enum cp_tree_node_structure | ( | union lang_tree_node * | t | ) |
Definition at line 11125 of file decl.c.
References TREE_CODE, TS_CP_BASELINK, TS_CP_DEFAULT_ARG, TS_CP_GENERIC, TS_CP_IDENTIFIER, TS_CP_OVERLOAD, TS_CP_PTRMEM, TS_CP_TINST_LEVEL, and TS_CP_TPI.
Definition at line 6206 of file decl.c.
References abstract_virtuals_error(), build_cplus_array_type(), compute_array_index_type(), error(), error_mark_node, NULL, NULL_TREE, TREE_CODE, and TYPE_DOMAIN.
Definition at line 816 of file decl.c.
References build_decl, DECL_ARTIFICIAL, SET_DECL_IMPLICIT_TYPEDEF_P, and TYPE_NAME.
Definition at line 2870 of file decl.c.
References abi_node, abort_fndecl, add_exception_specifier(), begin_scope(), boolean_false_node, boolean_true_node, boolean_type_node, build_common_tree_nodes(), build_cplus_array_type(), build_exception_variant(), build_function_type(), build_int_cst(), build_lang_decl(), build_library_fn_ptr(), build_pointer_type(), build_qualified_type(), build_tree_list, c_common_nodes_and_builtins(), const_ptr_type_node, cp_make_fname_decl(), create_implicit_typedef(), current_binding_level, current_function_decl, current_lang_name, current_namespace, DECL_CONTEXT, delta_type_node, empty_except_spec, error_mark_list, error_mark_node, flag_exceptions, flag_inline_functions, flag_inline_trees, flag_no_inline, flag_pedantic_errors, flag_permissive, flag_signed_char, flag_weak, force_align_functions_log, gcc_assert, get_identifier(), global_delete_fndecl, global_namespace, global_scope_name, global_type_node, init_class_processing(), init_exception_processing(), init_rtti_processing(), initialize_predefined_identifiers(), integer_three_node, integer_two_node, integer_type_node, java_boolean_type_node, java_byte_type_node, java_char_type_node, java_double_type_node, java_float_type_node, java_int_type_node, java_long_type_node, java_short_type_node, lang_name_c, lang_name_cplusplus, layout_type(), make_aggr_type(), make_fname_decl, make_node, NULL, NULL_TREE, pop_namespace(), ptr_type_node, ptrdiff_type_node, ptrmemfunc_vbit_in_pfn, push_cp_library_fn(), push_namespace(), push_to_top_level(), record_builtin_java_type(), record_builtin_type(), record_unknown_type(), RID_BOOL, RID_MAX, size_type_node, sk_namespace, start_fname_decls(), std_identifier, std_node, string_type_node, supports_one_only(), TARGET_PTRMEMFUNC_VBIT_LOCATION, tree_cons, TREE_TYPE, truthvalue_false_node, truthvalue_true_node, truthvalue_type_node, TYPE_ARG_TYPES, TYPE_CONTEXT, TYPE_POINTER_TO, TYPE_QUAL_CONST, TYPE_REFERENCE_TO, TYPE_STUB_DECL, UNKNOWN_TYPE, unknown_type_node, using_eh_for_cleanups(), void_list_node, void_type_node, vtable_entry_type, vtable_index_type, VTBL_PTR_TYPE, vtbl_ptr_type_node, vtbl_type_node, and vtt_parm_type.
Definition at line 11017 of file decl.c.
References build_delete(), build_unary_op(), CLASSTYPE_VBASECLASSES, cxx_mark_addressable(), error_mark_node, flag_expensive_optimizations, flags, LOOKUP_DESTRUCTOR, LOOKUP_NONVIRTUAL, LOOKUP_NORMAL, NULL_TREE, sfk_complete_destructor, TREE_CODE, TREE_TYPE, and TYPE_HAS_NONTRIVIAL_DESTRUCTOR.
Definition at line 11084 of file decl.c.
References cp_function_chain, current_stmt_tree(), DECL_INLINE, DECL_SAVED_FUNCTION_DATA, GGC_CNEW, NULL, and p.
| static int decl_jump_unsafe | ( | tree | decl | ) | [static] |
Definition at line 2112 of file decl.c.
References DECL_INITIAL, NULL_TREE, pod_type_p(), TREE_CODE, TREE_STATIC, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 4996 of file decl.c.
References build_decl, cp_finish_decl(), DECL_ARTIFICIAL, DECL_EXTERNAL, NULL_TREE, pop_from_top_level(), push_to_top_level(), pushdecl(), and TREE_PUBLIC.
Definition at line 2090 of file decl.c.
References current_binding_level, IDENTIFIER_LABEL_VALUE, make_label_decl(), NULL_TREE, tree_cons, and TREE_VALUE.
Definition at line 877 of file decl.c.
References comp_template_parms(), COMPARE_REDECLARATION, compparms(), comptypes(), CP_DECL_CONTEXT, DECL_BUILT_IN, DECL_CLASS_SCOPE_P, DECL_EXTERN_C_P, DECL_IN_SYSTEM_HEADER, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, decls_match(), error_mark_node, f1, f2, NO_IMPLICIT_EXTERN_C, NULL_TREE, p1, p2, same_type_p, self_promoting_args_p(), TREE_CODE, TREE_TYPE, TYPE_ARG_TYPES, and void_list_node.
| tree define_label | ( | location_t | location, | |
| tree | name | |||
| ) |
Definition at line 2298 of file decl.c.
References check_previous_gotos(), current_binding_level, DECL_INITIAL, DECL_SOURCE_LOCATION, error(), error_mark_node, get_identifier(), if(), lookup_label(), named_labels, NULL_TREE, p, pedwarn(), POP_TIMEVAR_AND_RETURN, sk_function_parms, and timevar_push.
Definition at line 1026 of file decl.c.
References build_exception_variant(), CAN_HAVE_FULL_LANG_DECL_P, chainon(), CLASSTYPE_FRIEND_CLASSES, comp_except_specs(), comp_template_parms(), compparms(), COPY_DECL_ASSEMBLER_NAME, COPY_DECL_RTL, cp_build_type_attribute_variant(), CP_DECL_CONTEXT, cp_error_at(), cp_pedwarn_at(), cp_warning_at(), current_class_type, current_lang_depth(), DECL_ABSTRACT, DECL_ANTICIPATED, DECL_ARGUMENTS, DECL_ARTIFICIAL, DECL_ASSEMBLER_NAME, DECL_ASSEMBLER_NAME_SET_P, DECL_ATTRIBUTES, DECL_BEFRIENDING_CLASSES, DECL_BUILT_IN, DECL_BUILT_IN_CLASS, DECL_COMDAT, DECL_COMMON, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_DEFER_OUTPUT, DECL_EXTERN_C_P, DECL_EXTERNAL, DECL_FRIEND_P, DECL_FUNCTION_CODE, DECL_FUNCTION_TEMPLATE_P, DECL_IMPLICIT_TYPEDEF_P, 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_IS_BUILTIN, DECL_IS_MALLOC, DECL_IS_PURE, DECL_LANG_SPECIFIC, DECL_LANGUAGE, DECL_NAME, DECL_NAMESPACE_ALIAS, DECL_NEEDS_FINAL_OVERRIDER_P, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK, DECL_NONCONVERTING_P, DECL_NOT_REALLY_EXTERN, DECL_NUM_STMTS, DECL_ONE_ONLY, DECL_ORIGINAL_TYPE, DECL_OVERLOADED_OPERATOR_P, DECL_P, DECL_PENDING_INLINE_INFO, DECL_PURE_VIRTUAL_P, DECL_REPO_AVAILABLE_P, DECL_RESULT, DECL_RTL, DECL_RTL_SET_P, DECL_SAVED_TREE, DECL_SECTION_NAME, DECL_SIZE, DECL_SOURCE_LINE, DECL_SOURCE_LOCATION, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DECL_STRUCT_FUNCTION, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATED, DECL_TEMPLATE_INSTANTIATION, DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT, DECL_TEMPLATE_SPECIALIZATION, DECL_TEMPLATE_SPECIALIZATIONS, DECL_THIS_EXTERN, DECL_THIS_STATIC, DECL_THUNKS, DECL_TI_TEMPLATE, DECL_UID, DECL_UNINLINABLE, DECL_USE_TEMPLATE, DECL_VINDEX, DECL_VIRTUAL_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, decls, decls_match(), duplicate_decls(), error(), error_mark_node, fileptr_type_node, flag_exceptions, gcc_assert, get_identifier(), ggc_free(), i, IDENTIFIER_ERROR_LOCUS, layout_decl(), layout_type(), lookup_attribute(), make_decl_rtl(), memcpy, gcc_target::merge_decl_attributes, gcc_target::merge_type_attributes, merge_types(), merge_weak(), my_friendly_assert, namespace_bindings_p(), NAMESPACE_LEVEL, NULL, NULL_TREE, pedantic, pedwarn(), processing_template_decl, redeclaration_error_message(), reregister_specialization(), same_type_p, SET_DECL_LANGUAGE, SET_DECL_RTL, SET_DECL_TEMPLATE_SPECIALIZATION, SET_OVERLOADED_OPERATOR_CODE, simple_cst_equal(), static_aggregates, t1, t2, targetm, TREE_ADDRESSABLE, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, TREE_CODE_LENGTH, TREE_DEPRECATED, TREE_NOTHROW, TREE_PUBLIC, TREE_PURPOSE, TREE_READONLY, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_THIS_VOLATILE, TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_ARG_TYPES, TYPE_LANG_SPECIFIC, TYPE_NAME, TYPE_RAISES_EXCEPTIONS, uses_template_parms(), value_member(), void_list_node, warn_extern_redeclared_static(), warn_inline, warn_redundant_decls, warn_shadow, and warning.
Definition at line 5161 of file decl.c.
References expand_or_defer_fn(), finish_function(), and pop_from_top_level().
Definition at line 5227 of file decl.c.
References add_stmt_to_compound(), BCS_NO_SCOPE, begin_compound_stmt(), begin_if_stmt(), boolean_false_node, boolean_true_node, build(), build_address(), build_call(), build_function_type(), build_tree_list, CLEANUP_EH_ONLY, DECL_FUNCTION_SCOPE_P, finish_compound_stmt(), finish_expr_stmt(), finish_if_stmt(), finish_if_stmt_cond(), finish_then_clause(), flag_threadsafe_statics, gcc_assert, get_global_value_if_present(), get_guard(), get_guard_cond(), get_identifier(), get_target_expr(), identifier_global_value(), integer_type_node, NULL_TREE, push_library_fn(), register_dtor_fn(), gcc_target::relaxed_ordering, set_guard(), static_aggregates, TARGET_EXPR_CLEANUP, TARGET_EXPR_SLOT, targetm, TREE_CODE, tree_cons, TREE_STATIC, TREE_TYPE, TYPE_HAS_TRIVIAL_DESTRUCTOR, TYPE_NEEDS_CONSTRUCTING, void_list_node, void_type_node, and void_zero_node.
Definition at line 2391 of file decl.c.
References add_stmt(), build_case_label(), build_decl, c_add_case_label(), cp_switch::cases, check_switch_goto(), cond, current_binding_level, cp_switch::level, NULL_TREE, p, processing_template_decl, r, sk_function_parms, cp_switch::switch_stmt, SWITCH_STMT_COND, TREE_CODE, TREE_TYPE, and TREE_VALUE.
Definition at line 10411 of file decl.c.
References add_stmt(), build2, build_stmt(), cdtor_label, gcc_target::cxx::cdtor_returns_this, current_function_decl, gcc_target::cxx, DECL_ARGUMENTS, DECL_RESULT, targetm, TREE_TYPE, and val.
Definition at line 10481 of file decl.c.
References add_stmt(), begin_if_stmt(), build2, build_op_delete_call(), build_stmt(), cdtor_label, gcc_target::cxx::cdtor_returns_this, current_class_ptr, current_class_type, current_function_decl, current_in_charge_parm, gcc_target::cxx, cxx_sizeof, DECL_ARGUMENTS, DECL_RESULT, DECL_VIRTUAL_P, finish_expr_stmt(), finish_if_stmt(), finish_if_stmt_cond(), finish_then_clause(), integer_one_node, integer_type_node, NULL_TREE, targetm, TREE_TYPE, and val.
Definition at line 9582 of file decl.c.
References add_stmt(), at_function_scope_p(), build_min(), copy_node, DECL_INITIAL, error(), flag_short_enums, integer_types, integer_zero_node, itk_char, itk_int, itk_none, itk_unsigned_long_long, long_long_integer_type_node, lookup_attribute(), MAX, min_precision(), namespace_bindings_p(), nreverse(), NULL_TREE, perform_implicit_conversion(), processing_template_decl, rest_of_type_compilation(), set_min_and_max_values_for_integral_type(), TREE_CHAIN, tree_int_cst_lt(), tree_int_cst_sgn(), TREE_TYPE, TREE_VALUE, TYPE_ALIGN, TYPE_ATTRIBUTES, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_NEXT_VARIANT, TYPE_PRECISION, TYPE_SIZE, TYPE_SIZE_UNIT, TYPE_UNSIGNED, TYPE_USER_ALIGN, TYPE_VALUES, and values.
| tree finish_function | ( | int | flags | ) |
Definition at line 10591 of file decl.c.
References aggregate_value_p(), alloc_stmt_list(), annotate_with_file_line(), BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, building_stmt_tree, c_warn_unused_result(), cfun, chain_member(), CLASSTYPE_KEY_METHOD, cp_function_chain, cp_genericize(), current_binding_level, current_class_name, current_class_type, current_eh_spec_block, current_function_decl, current_function_return_value, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, DECL_CLONED_FUNCTION_P, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_DESTRUCTOR_P, DECL_INITIAL, DECL_INLINE, DECL_MAIN_P, DECL_NAME, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_RESULT, DECL_SAVED_FUNCTION_DATA, DECL_SAVED_TREE, DECL_VIRTUAL_P, dependent_type_p(), error_mark_node, errorcount, f, finalize_nrv(), finish_eh_spec_block(), finish_fname_decls(), finish_return_stmt(), flag_enforce_eh_specs, flag_exceptions, flag_non_call_exceptions, function_depth, gcc_assert, input_filename, input_location, integer_one_node, integer_zero_node, keyed_classes, local_names, maybe_end_member_template_processing(), named_label_uses, NULL, NULL_TREE, pop_nested_class(), pop_stmt_list(), poplevel(), processing_template_decl, r, save_function_data(), sk_class, sk_function_parms, stmts_are_full_exprs_p(), TREE_CODE, tree_cons, TREE_NOTHROW, TREE_TYPE, TYPE_RAISES_EXCEPTIONS, warn_return_type, and warning.
Definition at line 10567 of file decl.c.
References current_function_decl, DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P, finish_compound_stmt(), finish_constructor_body(), finish_destructor_body(), and processing_template_decl.
Definition at line 10908 of file decl.c.
References CLASSTYPE_INLINE_FRIENDS, current_binding_level, current_class_type, DECL_CONTEXT, DECL_FRIEND_P, DECL_INITIAL, DECL_NAME, gcc_assert, NULL_TREE, pop_binding(), poplevel(), TREE_CHAIN, TREE_CODE, VEC_safe_push, and void_type_node.
Definition at line 3332 of file decl.c.
References CLASS_TYPE_P, cp_error_at(), DECL_ARTIFICIAL, error(), q, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_FIELDS, TYPE_HAS_ASSIGN_REF, TYPE_HAS_COMPLEX_ASSIGN_REF, TYPE_HAS_CONST_ASSIGN_REF, TYPE_HAS_CONST_INIT_REF, TYPE_HAS_CONSTRUCTOR, TYPE_HAS_DEFAULT_CONSTRUCTOR, TYPE_HAS_INIT_REF, TYPE_HAS_NONTRIVIAL_DESTRUCTOR, TYPE_MAIN_DECL, TYPE_METHODS, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 5021 of file decl.c.
References arg_types, atexit_node, build_function_type(), build_library_fn_ptr(), build_pointer_type(), decay_conversion(), flag_use_cxa_atexit, integer_type_node, lang_name_c, mark_used(), NULL_TREE, pop_lang_context(), ptr_type_node, push_lang_context(), tree_cons, void_list_node, and void_type_node.
Definition at line 5084 of file decl.c.
References declare_global_var(), dso_handle_node, get_identifier(), and ptr_type_node.
| tree get_scope_of_declarator | ( | const cp_declarator * | declarator | ) |
Definition at line 8676 of file decl.c.
References ambi_op_p(), build_reference_type(), class_type, CLASS_TYPE_P, coerce_delete_type(), coerce_new_type(), COMPLETE_TYPE_P, CP_DECL_CONTEXT, current_class_type, DECL_ASSIGNMENT_OPERATOR_P, DECL_CONTEXT, DECL_CONV_FN_P, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_INFO, DERIVED_FROM_P, error(), gcc_assert, gcc_unreachable, global_namespace, IDENTIFIER_TYPENAME_P, integer_type_node, IS_AGGR_TYPE, non_reference(), NULL_TREE, ok(), p, pedantic, pedwarn(), processing_template_decl, ret, same_type_p, SET_OVERLOADED_OPERATOR_CODE, TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_GETS_DELETE, TYPE_HAS_ARRAY_NEW_OPERATOR, TYPE_HAS_NEW_OPERATOR, TYPE_MAIN_VARIANT, unary_op_p(), void_list_node, warn_conversion, warn_ecpp, and warning.
Definition at line 3852 of file decl.c.
References build_x_compound_expr_from_list(), decay_conversion(), DECL_IN_AGGR_P, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_THIS_EXTERN, error(), error_mark_node, initialize_reference(), NULL_TREE, tmp, TREE_CODE, TREE_CONSTANT, TREE_STATIC, and TREE_TYPE.
Definition at line 8571 of file decl.c.
References copy_fn_p(), ctor(), DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_OVERLOADED_OPERATOR_P, FUNCTION_FIRST_USER_PARMTYPE, sufficient_parms_p(), TYPE_HAS_ASSIGN_REF, TYPE_HAS_CONST_ASSIGN_REF, TYPE_HAS_CONST_INIT_REF, TYPE_HAS_DEFAULT_CONSTRUCTOR, and TYPE_HAS_INIT_REF.
| tree grokdeclarator | ( | const cp_declarator * | declarator, | |
| const cp_decl_specifier_seq * | declspecs, | |||
| enum decl_context decl_context | , | |||
| int | initialized, | |||
| tree * | attrlist | |||
| ) |
Definition at line 6399 of file decl.c.
References ANON_AGGR_TYPE_P, cp_decl_specifier_seq::any_specifiers_p, arg_types, args, cp_declarator::array, at_class_scope_p(), ATTR_FLAG_ARRAY_NEXT, ATTR_FLAG_DECL_NEXT, ATTR_FLAG_FUNCTION_NEXT, cp_declarator::attributes, b, bad_specifiers(), BASELINK_FUNCTIONS, BITFIELD, build_complex_type(), build_cplus_array_type(), build_decl, build_decl_attribute_variant(), build_function_type(), build_lang_decl(), build_method_type_directly(), build_pointer_type(), build_ptrmem_type(), build_ptrmemfunc_type(), build_qualified_type(), build_reference_type(), c_common_unsigned_type(), C_IS_RESERVED_WORD, C_TYPEDEF_EXPLICITLY_SIGNED, CATCHPARM, cdk_array, cdk_error, cdk_function, cdk_id, cdk_pointer, cdk_ptrmem, cdk_reference, chainon(), char_type_node, check_explicit_specialization(), check_special_function_return_type(), check_static_variable_definition(), check_var_type(), CLASS_TYPE_P, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_INSTANTIATION, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, complete_type(), COMPLETE_TYPE_P, complex_double_type_node, complex_float_type_node, complex_integer_type_node, complex_long_double_type_node, compute_array_index_type(), constructor_name(), constructor_name_p(), count, cp_apply_type_quals_to_decl(), cp_build_parm_decl(), cp_build_qualified_type, cp_build_qualified_type_real(), cp_type_quals(), create_array_type_for_decl(), current_aggr, current_binding_level, current_class_name, current_class_type, current_function_decl, current_lang_name, current_namespace, cxx_incomplete_type_error, DECL_ABSTRACT, DECL_ARTIFICIAL, DECL_ATTRIBUTES, decl_attributes(), DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_EXTERNAL, decl_function_context(), DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P, DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P, DECL_MUTABLE_P, DECL_NAME, DECL_NONADDRESSABLE_P, DECL_NONCONVERTING_P, DECL_REGISTER, DECL_THIS_EXTERN, DECL_THIS_STATIC, cp_declarator::declarator, decls, dependent_type_p(), deprecated_state, DEPRECATED_SUPPRESS, do_friend(), double_type_node, ds, ds_complex, ds_const, ds_explicit, ds_first, ds_friend, ds_inline, ds_last, ds_long, ds_restrict, ds_short, ds_signed, ds_thread, ds_typedef, ds_unsigned, ds_virtual, ds_volatile, DTOR_FLAG, error(), error_mark_node, cp_decl_specifier_seq::explicit_char_p, cp_decl_specifier_seq::explicit_int_p, FALSE, FIELD, flag_ms_extensions, flag_pedantic_errors, flag_signed_bitfields, flags, float_type_node, FROB_CONTEXT, FUNCDEF, cp_declarator::function, FUNCTION_FIRST_USER_PARMTYPE, gcc_assert, gcc_unreachable, get_first_fn(), global_namespace, grok_method_quals(), grokfndecl(), grokparms(), grokvardecl(), cp_declarator::id, IDENTIFIER_OPNAME_P, IDENTIFIER_POINTER, IDENTIFIER_TEMPLATE, IDENTIFIER_TYPENAME_P, in_system_header, int, integer_type_node, integer_zero_node, is_overloaded_fn(), is_typename_at_global_scope(), cp_declarator::kind, lang_name_java, long_double_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, MAIN_NAME_P, make_friend_class(), member_function_or_else(), MEMFUNCDEF, cp_decl_specifier_seq::multiple_storage_classes_p, cp_decl_specifier_seq::multiple_types_p, NEW_DELETE_OPNAME_P, NO_SPECIAL, NORMAL, nreverse(), NULL, NULL_TREE, ok(), PARM, pedantic, pedwarn(), cp_declarator::pointer, PRIMARY_TEMPLATE_P, processing_template_decl, same_type_p, sc_auto, sc_extern, sc_mutable, sc_none, sc_register, sc_static, set_linkage_for_static_data_member(), sfk_constructor, sfk_conversion, sfk_destructor, sfk_none, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, cp_decl_specifier_seq::specs, staticp, cp_decl_specifier_seq::storage_class, template_class_depth(), tf_error, tf_ignore_bad_quals, tf_warning, toplevel_bindings_p(), TREE_CHAIN, TREE_CODE, TREE_DEPRECATED, TREE_OPERAND, TREE_OVERFLOW, TREE_PURPOSE, TREE_STATIC, TREE_TYPE, TREE_VALUE, TRUE, cp_decl_specifier_seq::type, TYPE_ANONYMOUS_P, TYPE_ARG_TYPES, TYPE_CONTEXT, TYPE_DOMAIN, TYPE_FOR_JAVA, TYPE_HAS_CONSTRUCTOR, TYPE_HAS_CONVERSION, TYPE_IDENTIFIER, TYPE_LANG_SPECIFIC, TYPE_MAIN_DECL, TYPE_MAIN_VARIANT, TYPE_METHOD_BASETYPE, TYPE_NAME, TYPE_NEXT_VARIANT, TYPE_P, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, TYPE_SIZE_UNIT, TYPE_UNQUALIFIED, TYPE_WAS_ANONYMOUS, TYPENAME, TYPENAME_FLAG, TYPENAME_TYPE_FULLNAME, cp_declarator::u, UNIQUELY_DERIVED_FROM_P, unsigned_char_type_node, unsigned_type_node, uses_template_parms(), variably_modified_type_p(), void_list_node, void_type_node, VOID_TYPE_P, warn_deprecated_use(), warn_long_long, warn_return_type, warning, and wchar_type_node.
| static tree grokfndecl | ( | tree | ctype, | |
| tree | type, | |||
| tree | declarator, | |||
| tree | parms, | |||
| tree | orig_declarator, | |||
| int | virtualp, | |||
| enum overload_flags | flags, | |||
| cp_cv_quals | quals, | |||
| tree | raises, | |||
| int | check, | |||
| int | friendp, | |||
| int | publicp, | |||
| int | inlinep, | |||
| special_function_kind | sfk, | |||
| int | funcdef_flag, | |||
| int | template_count, | |||
| tree | in_namespace, | |||
| tree * | attrlist | |||
| ) | [static] |
Definition at line 5476 of file decl.c.
References args, build_exception_variant(), build_lang_decl(), check_classfn(), check_explicit_specialization(), check_java_method(), cp_pedwarn_at(), cplus_decl_attributes(), current_class_type, current_lang_name, current_namespace, current_template_parms, DECL_ARGUMENTS, DECL_ARTIFICIAL, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERN_C_P, DECL_EXTERNAL, decl_function_context(), DECL_INITIAL, DECL_INLINE, DECL_INTERFACE_KNOWN, DECL_MAIN_P, DECL_NAME, DECL_NO_STATIC_CHAIN, DECL_NOT_REALLY_EXTERN, DECL_ORIGINAL_TYPE, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_RESULT, DECL_VIRTUAL_P, duplicate_decls(), error(), error_mark_node, flag_inline_trees, FROB_CONTEXT, gcc_assert, grok_ctor_properties(), grok_op_properties(), grokclassfn(), IDENTIFIER_LENGTH, IDENTIFIER_OPNAME_P, IDENTIFIER_POINTER, integer_type_node, lang_c, lang_name_cplusplus, MAIN_NAME_P, no_linkage_check(), nothrow_libfn_p(), NULL_TREE, ok(), pedwarn(), pop_scope(), PROCESSING_REAL_TEMPLATE_DECL_P, processing_template_decl, push_scope(), revert_static_member_fn(), same_type_p, SET_DECL_IMPLICIT_INSTANTIATION, SET_DECL_LANGUAGE, set_decl_namespace(), sfk_constructor, staticp, strncmp(), template_class_depth(), TREE_CHAIN, TREE_CODE, tree_cons, TREE_NOTHROW, TREE_OPERAND, TREE_PUBLIC, TREE_PURPOSE, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_ANONYMOUS_P, TYPE_ARG_TYPES, TYPE_FOR_JAVA, TYPE_MAIN_DECL, TYPE_NAME, TYPE_NOTHROW_P, TYPE_UNQUALIFIED, and TYPE_VOLATILE.
| static tree grokparms | ( | cp_parameter_declarator * | first_parm, | |
| tree * | parms | |||
| ) | [static] |
Definition at line 8403 of file decl.c.
References abstract_virtuals_error(), cp_decl_specifier_seq::attributes, build_pointer_type(), chainon(), check_default_argument(), cp_build_qualified_type, cplus_decl_attributes(), cxx_incomplete_type_error, DECL_NAME, cp_parameter_declarator::decl_specifiers, cp_parameter_declarator::declarator, decls, cp_parameter_declarator::default_argument, ellipsis, cp_parameter_declarator::ellipsis_p, error(), error_mark_node, grokdeclarator(), cp_parameter_declarator::next, no_parameters, nreverse(), NULL, NULL_TREE, PARM, POINTER_TYPE_P, ptr, result, same_type_p, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TYPE_DOMAIN, TYPE_PTR_P, void_list_node, void_type_node, and VOID_TYPE_P.
| tree groktypename | ( | cp_decl_specifier_seq * | type_specifiers, | |
| const cp_declarator * | declarator | |||
| ) |
| static tree grokvardecl | ( | tree | type, | |
| tree | name, | |||
| const cp_decl_specifier_seq * | declspecs, | |||
| int | initialized, | |||
| int | constp, | |||
| tree | scope | |||
| ) | [static] |
Definition at line 5812 of file decl.c.
References at_function_scope_p(), build_decl, build_lang_decl(), cp_warning_at(), current_lang_name, current_namespace, current_scope(), DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_EXTERN_C_P, DECL_EXTERNAL, DECL_INTERFACE_KNOWN, DECL_ORIGINAL_TYPE, DECL_THIS_EXTERN, DECL_THREAD_LOCAL, ds_thread, error(), gcc_assert, gcc_target::have_tls, lang_name_cplusplus, no_linkage_check(), processing_template_decl, sc_extern, sc_static, set_decl_namespace(), set_linkage_for_static_data_member(), cp_decl_specifier_seq::specs, cp_decl_specifier_seq::storage_class, targetm, toplevel_bindings_p(), TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TYPE_ANONYMOUS_P, TYPE_NAME, TYPE_P, and warning.
| static GTY | ( | (param_is(union tree_node)) | ) | [static] |
Definition at line 2471 of file decl.c.
References build_decl, typename_info::class_p, class_type, d, DECL_ARTIFICIAL, DECL_CONTEXT, typename_info::enum_p, enum_type, FROB_CONTEXT, htab_create_ggc, htab_find_slot_with_hash(), htab_hash_pointer, INSERT, make_aggr_type(), typename_info::name, NULL, record_type, typename_info::scope, typename_info::template_id, ti, TREE_TYPE, TYPE_CONTEXT, TYPE_NAME, TYPE_STUB_DECL, typename_compare(), typename_hash(), TYPENAME_IS_CLASS_P, TYPENAME_IS_ENUM_P, TYPENAME_TYPE_FULLNAME, and union_type.
| struct named_label_use_list GTY | ( | () | ) | [read, write] |
Definition at line 4632 of file decl.c.
References building_stmt_tree, cleanup(), current_stmt_tree(), cxx_maybe_build_cleanup(), DECL_INITIAL, DECL_NAME, DECL_SIZE, error_mark_node, finish_decl_cleanup(), finish_expr_stmt(), gcc_assert, NULL_TREE, stmts_are_full_exprs_p(), TREE_ADDRESSABLE, TREE_CODE, TREE_STATIC, TREE_TYPE, TREE_USED, TYPE_HAS_TRIVIAL_DESTRUCTOR, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 2826 of file decl.c.
References base_ctor_identifier, base_dtor_identifier, complete_ctor_identifier, complete_dtor_identifier, ctor_identifier, predefined_identifier::ctor_or_dtor_p, deleting_dtor_identifier, delta_identifier, dtor_identifier, get_identifier(), global_scope_name, IDENTIFIER_CTOR_OR_DTOR_P, in_charge_identifier, IN_CHARGE_NAME, lang_name_c, lang_name_cplusplus, lang_name_java, predefined_identifier::name, nelts_identifier, predefined_identifier::node, NULL, pfn_identifier, pid, std_identifier, this_identifier, THIS_NAME, vptr_identifier, VTABLE_DELTA_NAME, VTABLE_PFN_NAME, and vtt_parm_identifier.
Definition at line 3953 of file decl.c.
References complete_type(), COMPLETE_TYPE_P, constant_expression_warning(), current_function_decl, DECL_ARTIFICIAL, DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_EXTERNAL, DECL_SIZE, error(), error_mark_node, IS_AGGR_TYPE, layout_decl(), note_debug_info_needed(), NULL_TREE, push_local_name(), target_type(), TREE_CODE, TREE_CONSTANT, TREE_STATIC, TREE_TYPE, and TYPE_DOMAIN.
| int local_variable_p | ( | tree | t | ) |
Definition at line 8275 of file decl.c.
References CP_DECL_CONTEXT, DECL_NAMESPACE_SCOPE_P, TREE_CODE, and TYPE_P.
| static tree local_variable_p_walkfn | ( | tree * | tp, | |
| int * | walk_subtrees, | |||
| void *data | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 8305 of file decl.c.
References DECL_ARTIFICIAL, local_variable_p(), NULL_TREE, and TYPE_P.
| static tree lookup_and_check_tag | ( | enum tag_types | tag_code, | |
| tree | name, | |||
| tag_scope | scope, | |||
| bool | template_header_p | |||
| ) | [static] |
Definition at line 9124 of file decl.c.
References check_elaborated_type_specifier(), DECL_CLASS_TEMPLATE_P, DECL_SELF_REFERENCE_P, DECL_TEMPLATE_RESULT, error(), error_mark_node, lookup_name(), lookup_type_scope(), NULL_TREE, TREE_CODE, ts_current, ts_global, and ts_within_enclosing_non_class.
Referenced by start_enum(), and xref_tag().
Definition at line 2052 of file decl.c.
References current_function_decl, DECL_CONTEXT, error(), GGC_CNEW, IDENTIFIER_LABEL_VALUE, make_label_decl(), named_labels, NULL_TREE, POP_TIMEVAR_AND_RETURN, and timevar_push.
Definition at line 2004 of file decl.c.
References build_decl, C_DECLARED_LABEL_FLAG, current_function_decl, DECL_CONTEXT, DECL_MODE, DECL_SOURCE_LOCATION, input_location, SET_IDENTIFIER_LABEL_VALUE, and void_type_node.
Definition at line 4547 of file decl.c.
References at_eof, BUILT_IN_NORMAL, change_decl_assembler_name(), DECL_BUILT_IN_CLASS, DECL_EXTERNAL, DECL_FUNCTION_SCOPE_P, DECL_HARD_REGISTER, DECL_IMPLICIT_INSTANTIATION, DECL_IN_AGGR_P, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_REGISTER, DECL_VIRTUAL_P, EMPTY_CONSTRUCTOR_P, error_mark_node, gcc_assert, get_fileinfo(), get_identifier(), input_filename, c_fileinfo::interface_only, c_fileinfo::interface_unknown, lbasename(), NULL_TREE, rest_of_decl_compilation(), set_builtin_user_assembler_name(), set_user_assembler_name(), toplevel_bindings_p(), TREE_CODE, TREE_PUBLIC, TREE_READONLY, and TREE_STATIC.
| tree make_typename_type | ( | tree | context, | |
| tree | name, | |||
| enum tag_types | tag_type, | |||
| tsubst_flags_t | complain | |||
| ) |
| tree make_unbound_class_template | ( | tree | context, | |
| tree | name, | |||
| tree | parm_list, | |||
| tsubst_flags_t | complain | |||
| ) |
Definition at line 4017 of file decl.c.
References comdat_linkage(), cp_warning_at(), DECL_ARTIFICIAL, DECL_COMDAT, DECL_COMMON, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_FUNCTION_SCOPE_P, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_TEMPLATE_INSTANTIATION, error_mark_node, flag_weak, NULL_TREE, TREE_PUBLIC, TREE_STATIC, and warning.
Definition at line 3910 of file decl.c.
References cp_apply_type_quals_to_decl(), cp_complete_array_type(), cp_type_quals(), DECL_EXTERNAL, DECL_INITIAL, error(), failure, layout_decl(), NULL_TREE, pedantic, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, and TYPE_DOMAIN.
Definition at line 10960 of file decl.c.
References CLASS_TYPE_P, COMPLETE_TYPE_P, DECL_EXTERNAL, error_mark_node, gcc_assert, processing_template_decl, TREE_CODE, tree_cons, TREE_TYPE, TYPE_BEING_DEFINED, TYPE_LANG_SPECIFIC, and TYPE_MAIN_VARIANT.
| static int member_function_or_else | ( | tree | ctype, | |
| tree | cur_type, | |||
| enum overload_flags | flags | |||
| ) | [static] |
Definition at line 4096 of file decl.c.
References DECL_ARTIFICIAL, DECL_C_BIT_FIELD, DECL_NAME, TREE_CHAIN, and TREE_CODE.
| int nonstatic_local_decl_p | ( | tree | t | ) |
Definition at line 421 of file decl.c.
References current_binding_level, DECL_REGISTER, sk_block, TREE_CHAIN, TREE_CODE, and TREE_THIS_VOLATILE.
Definition at line 357 of file decl.c.
References cp_error_at(), cp_warning_at(), DECL_INITIAL, DECL_NAME, define_label(), input_filename, input_location, location, NULL_TREE, processing_template_decl, SET_IDENTIFIER_LABEL_VALUE, TREE_USED, and warn_unused_label.
Definition at line 387 of file decl.c.
References BLOCK_VARS, named_labels, NULL, pop_label(), and TREE_CHAIN.
Definition at line 2375 of file decl.c.
References c_do_switch_warnings(), cp_switch::cases, cs, free(), cp_switch::next, splay_tree_delete(), and cp_switch::switch_stmt.
| tree poplevel | ( | int | keep, | |
| int | reverse, | |||
| int | functionbody | |||
| ) |
Definition at line 458 of file decl.c.
References add_stmt(), BLOCK, BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, c_build_bind_expr(), cfun, chainon(), cp_class_binding, current_binding_level, current_function_decl, d, DECL_ARTIFICIAL, DECL_DEAD_FOR_LOCAL, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, decl_jump_unsafe(), DECL_NAME, DECL_P, DECL_SHADOWED_FOR_VAR, decls, flag_new_for_scope, gcc_assert, getdecls(), IDENTIFIER_BINDING, IDENTIFIER_NAMESPACE_VALUE, leave_scope(), make_node, named_label_uses, named_labels, nreverse(), NULL_TREE, outer_binding(), OVL_FUNCTION, pop_binding(), pop_label(), pop_labels(), pop_stmt_list(), POP_TIMEVAR_AND_RETURN, processing_template_decl, SET_IDENTIFIER_TYPE_VALUE, sk_catch, sk_class, sk_cleanup, sk_for, sk_try, timevar_push, tmp, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_USED, TREE_VALUE, VEC_length, warn_unused_variable, and warning.
Definition at line 3290 of file decl.c.
References ansi_opname, build_cp_library_fn(), and pushdecl().
Definition at line 834 of file decl.c.
References DECL_DISCRIMINATOR, DECL_LANG_SPECIFIC, DECL_NAME, i, local_names, retrofit_lang_decl(), timevar_pop, timevar_push, VARRAY_ACTIVE_SIZE, VARRAY_PUSH_TREE, VARRAY_TREE, and VARRAY_TREE_INIT.
Definition at line 2364 of file decl.c.
References case_compare(), cp_switch::cases, current_binding_level, cp_switch::level, cp_switch::next, NULL, p, splay_tree_new(), cp_switch::switch_stmt, and xmalloc().
Definition at line 3313 of file decl.c.
References push_library_fn(), TREE_NOTHROW, and TREE_THIS_VOLATILE.
Definition at line 3303 of file decl.c.
References build_function_type(), push_library_fn(), and void_type_node.
| static tree record_builtin_java_type | ( | const char * | name, | |
| int | size | |||
| ) | [static] |
Definition at line 2767 of file decl.c.
References DECL_IGNORED_P, layout_type(), make_node, make_signed_type(), make_unsigned_type(), record_builtin_type(), RID_MAX, TYPE_FOR_JAVA, TYPE_NAME, and TYPE_PRECISION.
Definition at line 2721 of file decl.c.
References build_decl, debug_hooks, DECL_ARTIFICIAL, get_identifier(), int, NULL_TREE, RID_MAX, ridpointers, SET_IDENTIFIER_GLOBAL_VALUE, gcc_debug_hooks::type_decl, and TYPE_NAME.
Definition at line 2798 of file decl.c.
References build_decl, DECL_IGNORED_P, get_identifier(), pushdecl(), TYPE_ALIGN, TYPE_DECL_SUPPRESS_DEBUG, TYPE_MODE, TYPE_SIZE, TYPE_USER_ALIGN, and void_type_node.
Definition at line 1911 of file decl.c.
References COMPLETE_TYPE_P, DECL_CONTEXT, DECL_EXTERNAL, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_PURE_VIRTUAL_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_RESULT, decls_match(), NULL, NULL_TREE, same_type_p, template_for_substitution(), toplevel_bindings_p(), TREE_CODE, and TREE_TYPE.
Definition at line 5172 of file decl.c.
References args, BCS_FN_BODY, begin_compound_stmt(), build_cleanup(), build_function_call(), build_unary_op(), cleanup(), cxx_mark_addressable(), dk_no_check, end_cleanup_fn(), finish_compound_stmt(), finish_expr_stmt(), flag_use_cxa_atexit, get_atexit_node(), get_dso_handle_node(), mark_used(), null_pointer_node, NULL_TREE, pop_deferring_access_checks(), push_deferring_access_checks(), start_cleanup_fn(), tree_cons, TREE_TYPE, TYPE_HAS_TRIVIAL_DESTRUCTOR, and void_zero_node.
Definition at line 8253 of file decl.c.
References complete_type_or_else, DECL_ARG_TYPE, dependent_type_p(), error_mark_node, layout_decl(), TREE_CHAIN, TREE_TYPE, type_passed_as(), and VOID_TYPE_P.
Definition at line 4180 of file decl.c.
References array_type_nelts(), BRACE_ENCLOSED_INITIALIZER_P, build_constructor(), build_tree_list, can_convert_arg(), char_type_p(), CLASS_TYPE_P, CONSTRUCTOR_ELTS, CP_AGGREGATE_TYPE_P, error(), error_mark_node, field_init(), gcc_assert, gcc_unreachable, lookup_field_1(), next_initializable_field(), nreverse(), NULL_TREE, pedantic, pedwarn(), reshape_init(), reshape_init_array(), TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_DEBUG_REPRESENTATION_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAIN_VARIANT, warn_missing_braces, and warning.
| static bool reshape_init_array | ( | tree | elt_type, | |
| tree | max_index, | |||
| tree * | initp, | |||
| tree | new_init | |||
| ) | [static] |
Definition at line 4116 of file decl.c.
References CONSTRUCTOR_ELTS, error(), error_mark_node, fold_convert(), gcc_unreachable, host_integerp(), HOST_WIDE_INT, index(), NULL_TREE, reshape_init(), size_type_node, TREE_CHAIN, TREE_CODE, tree_low_cst(), and TREE_PURPOSE.
Referenced by reshape_init(), and reshape_init_r().
Definition at line 11059 of file decl.c.
References args, build_exception_variant(), build_function_type(), build_qualified_type(), cp_type_quals(), DECL_ARGUMENTS, DECL_STATIC_FUNCTION_P, error(), function, tmp, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_RAISES_EXCEPTIONS, and TYPE_UNQUALIFIED.
Definition at line 10387 of file decl.c.
References cp_function_chain, DECL_PENDING_INLINE_P, DECL_SAVED_FUNCTION_DATA, f, gcc_assert, GGC_NEW, memcpy, NULL, and NULL_TREE.
Definition at line 5790 of file decl.c.
References DECL_INTERFACE_KNOWN, processing_template_decl, TREE_PUBLIC, and TREE_STATIC.
Referenced by grokdeclarator(), and grokvardecl().
| tree shadow_tag | ( | cp_decl_specifier_seq * | declspecs | ) |
| tree start_decl | ( | const cp_declarator * | declarator, | |
| cp_decl_specifier_seq * | declspecs, | |||
| int | initialized, | |||
| tree | attributes, | |||
| tree | prefix_attributes, | |||
| tree * | pushed_scope_p | |||
| ) |
Definition at line 3769 of file decl.c.
References complete_type(), COMPLETE_TYPE_P, DECL_EXTERNAL, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_TEMPLATE_INFO, error(), error_mark_node, initialized, IS_AGGR_TYPE, maybe_push_cleanup_level(), NULL_TREE, processing_template_decl, TREE_CODE, TREE_TYPE, TYPE_NEEDS_CONSTRUCTING, and uses_template_parms().
Definition at line 9542 of file decl.c.
References enum_type, error(), error_mark_node, gcc_assert, lookup_and_check_tag(), make_anon_name(), make_node, NULL_TREE, pushtag(), TREE_CODE, ts_current, TYPE_MAIN_DECL, and TYPE_VALUES.
| int start_function | ( | cp_decl_specifier_seq * | declspecs, | |
| const cp_declarator * | declarator, | |||
| tree | attrs | |||
| ) |
| tree start_method | ( | cp_decl_specifier_seq * | declspecs, | |
| const cp_declarator * | declarator, | |||
| tree | attrlist | |||
| ) |
Definition at line 10306 of file decl.c.
References begin_eh_spec_block(), chainon(), current_binding_level, current_eh_spec_block, current_function_decl, DECL_ARGUMENTS, DECL_CLONED_FUNCTION_P, DECL_NAME, error(), flag_enforce_eh_specs, flag_exceptions, getdecls(), next, nreverse(), NULL, NULL_TREE, processing_template_decl, pushdecl(), TREE_CHAIN, TREE_CODE, TREE_TYPE, and TYPE_RAISES_EXCEPTIONS.
| static const char * tag_name | ( | enum tag_types | code | ) | [static] |
Definition at line 9016 of file decl.c.
References class_type, enum_type, gcc_unreachable, record_type, typename_type, and union_type.
Definition at line 2451 of file decl.c.
References typename_info::class_p, DECL_NAME, typename_info::enum_p, typename_info::name, typename_info::scope, t1, t2, typename_info::template_id, TYPE_CONTEXT, TYPE_NAME, TYPENAME_IS_CLASS_P, TYPENAME_IS_ENUM_P, and TYPENAME_TYPE_FULLNAME.
Definition at line 2429 of file decl.c.
References DECL_NAME, htab_hash_pointer, TYPE_CONTEXT, and TYPE_NAME.
Definition at line 2030 of file decl.c.
References current_binding_level, GGC_NEW, input_location, named_label_uses, and NULL.
| int walk_namespaces | ( | walk_namespaces_fn | f, | |
| void * | data | |||
| ) |
| static int walk_namespaces_r | ( | tree | namespace, | |
| walk_namespaces_fn | f, | |||
| void * | data | |||
| ) | [static] |
Definition at line 763 of file decl.c.
References NAMESPACE_LEVEL, result, TREE_CHAIN, and walk_namespaces_r().
Definition at line 790 of file decl.c.
References check_global_declarations(), emit_debug_global_declarations(), len, NAMESPACE_LEVEL, VARRAY_ACTIVE_SIZE, VARRAY_TREE, varray_type, vec, and wrapup_global_declarations().
Definition at line 9357 of file decl.c.
References access, access_default_node, access_private_node, access_public_node, BINFO_BASE_ACCESS_APPEND, BINFO_BASE_ACCESSES, BINFO_BASE_APPEND, BINFO_BASE_ITERATE, BINFO_INHERITANCE_CHAIN, BINFO_OFFSET, BINFO_TYPE, CLASS_TYPE_P, CLASSTYPE_DECLARED_CLASS, CLASSTYPE_DIAMOND_SHAPED_P, CLASSTYPE_NON_AGGREGATE, CLASSTYPE_REPEATED_BASE_P, CLASSTYPE_VBASECLASSES, complete_type_or_else, copy_binfo(), current_lang_depth(), dependent_type_p(), error(), error_mark_node, gcc_assert, i, make_tree_binfo, NULL, NULL_TREE, processing_template_decl, size_zero_node, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_BINFO, TYPE_FOR_JAVA, TYPE_GETS_DELETE, TYPE_HAS_ARRAY_NEW_OPERATOR, TYPE_HAS_CONVERSION, TYPE_HAS_NEW_OPERATOR, TYPE_MAIN_VARIANT, TYPE_MARKED_P, TYPE_SIZE, uses_template_parms(), VEC_alloc, VEC_length, and VEC_space.
| tree cp_global_trees[CPTI_MAX] |
enum deprecated_states deprecated_state = DEPRECATED_NORMAL [static] |
| int function_depth |
Definition at line 179 of file decl.c.
Referenced by begin_scope(), cxx_init_decl_processing(), initialize_predefined_identifiers(), namespace_scope_ht_size(), push_namespace(), and push_namespace_with_attribs().
Definition at line 176 of file decl.c.
Referenced by cxx_init_decl_processing(), identifier_type_value(), lookup_type_current_level(), and set_identifier_type_value_with_scope().
Definition at line 246 of file decl.c.
Referenced by cp_parser_init_declarator(), cp_parser_linkage_specification(), start_decl(), and start_function().
| int(* p_copy_fn_p)(tree) = copy_fn_p |
struct cp_switch* switch_stack [static] |
1.5.6