#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_labels cp_function_chain->x_named_labels |
| typedef struct reshape_iterator_t reshape_iter |
| 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 5874 of file decl.c.
References error(), TREE_CODE, TREE_TYPE, TYPE_PTRFN_P, TYPE_PTRMEMFUNC_P, and TYPE_REFFN_P.
Definition at line 11018 of file decl.c.
References begin_compound_stmt(), COMPLETE_TYPE_P, current_class_ptr, current_class_type, finish_compound_stmt(), initialize_vtbl_ptrs(), and push_base_cleanups().
Definition at line 11100 of file decl.c.
References BCS_FN_BODY, begin_compound_stmt(), begin_constructor_body(), begin_destructor_body(), COMPOUND_STMT_BODY_BLOCK, current_function_decl, DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P, FUNCTION_NEEDS_BODY_BLOCK, keep_next_level(), NULL_TREE, and processing_template_decl.
Definition at line 3490 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 10337 of file decl.c.
References add_double, build_decl, build_int_cst_wide(), build_lang_decl(), constant_expression_warning(), cp_build_binary_op, current_class_type, current_scope(), decl_constant_value(), DECL_CONTEXT, DECL_INITIAL, default_conversion(), error(), error_mark_node, finish_member_declaration(), FROB_CONTEXT, HOST_WIDE_INT, int_fits_type_p(), integer_one_node, 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_int_cst_lt(), TREE_INVARIANT, TREE_READONLY, TREE_TYPE, TREE_VALUE, and TYPE_VALUES.
Definition at line 3460 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_PUBLIC, and VISIBILITY_DEFAULT.
Definition at line 6512 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.
Referenced by build_static_cast(), build_static_cast_1(), build_unary_op(), composite_pointer_type(), composite_pointer_type_r(), grokdeclarator(), merge_types(), qualify_type_recursive(), standard_conversion(), tsubst(), and unary_complex_lvalue().
Definition at line 6447 of file decl.c.
References build_decl, build_ptrmemfunc_type(), build_qualified_type(), CLASSTYPE_GOT_SEMICOLON, cp_type_quals(), delta_identifier, delta_type_node, error_mark_node, finish_builtin_struct(), finish_builtin_type(), 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 build_this_parm | ( | tree | type, | |
| cp_cv_quals | quals | |||
| ) |
Definition at line 5940 of file decl.c.
References build_artificial_parm(), cp_apply_type_quals_to_decl(), cp_build_qualified_type, this_identifier, TREE_VALUE, TYPE_ARG_TYPES, TYPE_QUAL_CONST, and TYPE_QUAL_RESTRICT.
Referenced by grokfndecl(), and implicitly_declare_fn().
| tree builtin_function | ( | const char * | name, | |
| tree | type, | |||
| int | code, | |||
| enum built_in_class | cl, | |||
| const char * | libname, | |||
| tree | attrs | |||
| ) |
Definition at line 3436 of file decl.c.
References ATTR_FLAG_BUILT_IN, bind(), build_decl, builtin_function_1(), C_DECL_BUILTIN_PROTOTYPE, decl_attributes(), DECL_BUILT_IN_CLASS, DECL_EXTERNAL, DECL_FUNCTION_CODE, DECL_LANG_SPECIFIC, gcc_assert, get_identifier(), GGC_CNEW, I_SYMBOL_BINDING, ISUPPER, NULL_TREE, pop_namespace(), push_namespace(), SET_DECL_ASSEMBLER_NAME, std_identifier, std_node, TREE_CHAIN, TREE_PUBLIC, and TYPE_ARG_TYPES.
| 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 3383 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.
| static bool check_array_designated_initializer | ( | const constructor_elt * | ce | ) | [static] |
Definition at line 4155 of file decl.c.
References error(), gcc_assert, and TREE_CODE.
Referenced by maybe_deduce_size_from_array_init(), and reshape_init_array_1().
Definition at line 5905 of file decl.c.
References current_namespace, DECL_CONTEXT, gcc_assert, is_ancestor(), pedwarn(), processing_explicit_instantiation, processing_specialization, and TREE_CODE.
Referenced by grokfndecl(), and grokvardecl().
Definition at line 8835 of file decl.c.
References can_convert_arg(), error(), error_mark_node, local_variable_p_walkfn(), LOOKUP_NORMAL, NULL, NULL_TREE, processing_template_decl, TREE_CODE, TREE_TYPE, TYPE_P, uses_template_parms(), and walk_tree_without_duplicates().
Definition at line 9581 of file decl.c.
References CLASSTYPE_IS_TEMPLATE, CLASSTYPE_TI_TEMPLATE, cp_error_at(), DECL_IMPLICIT_TYPEDEF_P, DECL_NAME, DECL_SELF_REFERENCE_P, enum_type, error(), error_mark_node, tag_name, TREE_CODE, TREE_TYPE, TYPE_NAME, and typename_type.
Definition at line 4363 of file decl.c.
References CP_TYPE_CONST_P, DECL_INITIAL, error(), TREE_CODE, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 10455 of file decl.c.
References abstract_virtuals_error(), args, build_exception_variant(), build_function_type(), build_method_type_directly(), COMPLETE_OR_VOID_TYPE_P, complete_type(), dependent_type_p(), error(), require_complete_types_for_parms(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_RAISES_EXCEPTIONS, and void_type_node.
Definition at line 2412 of file decl.c.
References b, cdtor_label, cp_error_at(), cp_pedwarn_at(), current_binding_level, DECL_ARTIFICIAL, DECL_INITIAL, decl_jump_unsafe(), DECL_P, error(), flag_openmp, gcc_assert, GGC_NEW, htab_find(), input_location, lab, named_labels, NULL, pedwarn(), sk_omp, TREE_CHAIN, TREE_CODE, TREE_VALUE, and use_label().
Definition at line 4751 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, COMPOUND_LITERAL_P, constructor_elt, CONSTRUCTOR_ELTS, 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, VEC_length, gcc_target::vector_opaque_p, and warning.
Definition at line 2512 of file decl.c.
References b, current_binding_level, error(), and sk_omp.
Referenced by finish_return_stmt().
| static bool check_previous_goto_1 | ( | tree | decl, | |
| struct cp_binding_level * | level, | |||
| tree | names, | |||
| bool | exited_omp, | |||
| const location_t * | locus | |||
| ) | [static] |
Definition at line 2329 of file decl.c.
References b, current_binding_level, decl_jump_unsafe(), error(), identify_goto(), NULL_TREE, pedwarn(), problem, sk_catch, sk_omp, sk_try, and TREE_CHAIN.
Definition at line 1071 of file decl.c.
References comp_except_specs(), DECL_IN_SYSTEM_HEADER, DECL_IS_BUILTIN, error(), flag_exceptions, pedantic, TREE_TYPE, and TYPE_RAISES_EXCEPTIONS.
Referenced by duplicate_decls().
| static tree check_special_function_return_type | ( | special_function_kind | sfk, | |
| tree | type, | |||
| tree | optype | |||
| ) | [static] |
Definition at line 6807 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 6541 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 3636 of file decl.c.
References current_class_type, current_scope(), ds_const, ds_explicit, ds_friend, ds_inline, ds_restrict, ds_thread, ds_typedef, ds_virtual, ds_volatile, error(), error_mark_node, in_system_header, int, IS_AGGR_TYPE, IS_AGGR_TYPE_CODE, cp_decl_specifier_seq::multiple_types_p, NULL_TREE, pedantic, pedwarn(), cp_decl_specifier_seq::redefined_builtin_type, SET_ANON_AGGR_TYPE_P, cp_decl_specifier_seq::specs, cp_decl_specifier_seq::storage_class, TREE_CODE, cp_decl_specifier_seq::type, TYPE_ANONYMOUS_P, and TYPE_P.
Definition at line 6857 of file decl.c.
References error(), error_mark_node, gcc_assert, IDENTIFIER_OPNAME_P, integer_type_node, TREE_CODE, and VOID_TYPE_P.
Referenced by grokdeclarator(), and tsubst_decl().
Definition at line 11571 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, my_friendly_assert, same_type_p, TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, and TREE_VALUE.
Definition at line 6576 of file decl.c.
References abi_version_at_least, build_index_type(), build_min(), constant_expression_warning(), cp_build_binary_op, cp_convert(), current_class_type, decl_constant_value(), dependent_type_p(), error(), error_mark_node, error_operand_p, 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, lookup_field(), pedantic, pedwarn(), processing_template_decl, sizetype, ssizetype, STRIP_TYPE_NOPS, TREE_CODE, TREE_CONSTANT, TREE_OPERAND, TREE_OVERFLOW, TREE_TYPE, value_dependent_expression_p(), and variable_size().
| int copy_fn_p | ( | tree | d | ) |
Definition at line 9033 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, error_mark_node, FUNCTION_FIRST_USER_PARMTYPE, gcc_assert, is_member_template(), my_friendly_assert, result, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, and void_list_node.
Definition at line 5806 of file decl.c.
References char_type_p(), complete_array_type(), constructor_elt, CONSTRUCTOR_ELTS, failure, NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_DOMAIN, TYPE_HAS_NONTRIVIAL_DESTRUCTOR, TYPE_MAIN_VARIANT, TYPE_NEEDS_CONSTRUCTING, VEC, VEC_empty, VEC_index, and VEC_length.
Referenced by finish_compound_literal(), and maybe_deduce_size_from_array_init().
Definition at line 5094 of file decl.c.
References abstract_virtuals_error(), add_decl_expr(), at_eof, at_function_scope_p(), build_zero_init(), check_initializer(), cleanup(), COMPLETE_TYPE_P, constructor_elt, CONSTRUCTOR_ELTS, CP_DECL_CONTEXT, current_binding_level, current_class_type, DECL_ARTIFICIAL, DECL_ATTRIBUTES, DECL_CLASS_SCOPE_P, DECL_CONTEXT, DECL_EXTERNAL, DECL_FUNCTION_SCOPE_P, DECL_INITIAL, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P, DECL_INITIALIZED_IN_CLASS_P, DECL_INITIALIZED_P, DECL_INTEGRAL_CONSTANT_VAR_P, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NONTRIVIALLY_INITIALIZED_P, DECL_NOT_REALLY_EXTERN, DECL_PRETTY_FUNCTION_P, DECL_THREAD_LOCAL_P, dependent_type_p(), determine_visibility(), error(), error_mark_node, expand_static_init(), fold_non_dependent_expr(), gcc_assert, global_scope_p, initialize_local_var(), IS_AGGR_TYPE, layout_type(), layout_var_decl(), lookup_attribute(), make_rtl_for_nonlocal_decl(), mark_decl_referenced(), maybe_apply_renaming_pragma(), maybe_commonize_var(), maybe_deduce_size_from_array_init(), NULL, NULL_TREE, pod_type_p(), processing_template_decl, push_cleanup(), push_local_name(), rest_of_decl_compilation(), set_identifier_type_value(), TREE_CODE, TREE_CONSTANT, TREE_READONLY, TREE_STATIC, TREE_STRING_POINTER, TREE_TYPE, TYPE_BEING_DEFINED, TYPE_DECL_SUPPRESS_DEBUG, TYPE_MAIN_DECL, value_dependent_expression_p(), VEC_index, VEC_length, and warning.
Definition at line 3300 of file decl.c.
References build_cplus_array_type(), build_index_type(), build_qualified_type(), build_string(), char_type_node, error_mark_node, length, NULL_TREE, size_int, strlen(), TREE_TYPE, and TYPE_QUAL_CONST.
Definition at line 3334 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_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 11709 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_SRCLOC, TS_CP_TINST_LEVEL, TS_CP_TPI, and TS_CP_WRAPPER.
Definition at line 6723 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 860 of file decl.c.
References build_decl, DECL_ARTIFICIAL, SET_DECL_IMPLICIT_TYPEDEF_P, and TYPE_NAME.
| const char* cxx_comdat_group | ( | tree | decl | ) |
Definition at line 11742 of file decl.c.
References CLASSTYPE_VTABLES, DECL_ASSEMBLER_NAME, DECL_CONTEXT, DECL_ONE_ONLY, DECL_SECTION_NAME, DECL_THUNK_P, DECL_VTABLE_OR_VTT_P, IDENTIFIER_POINTER, NULL, target, TARGET_USE_LOCAL_THUNK_ALIAS_P, THUNK_TARGET, and TREE_CODE.
Definition at line 3112 of file decl.c.
References abi_node, abort_fndecl, add_exception_specifier(), begin_scope(), binding_table_new(), BOOL_TYPE_SIZE, 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_2, build_int_cst(), build_lang_decl(), build_library_fn_ptr(), build_pointer_type(), build_qualified_type(), build_tree_list, c_common_nodes_and_builtins(), class_type, const_ptr_type_node, cp_make_fname_decl(), cp_missing_noreturn_ok_p(), create_implicit_typedef(), current_binding_level, current_function_decl, current_lang_name, current_namespace, DECL_CONTEXT, declare_namespace_level(), delta_type_node, empty_except_spec, error_mark_node, flag_const_strings, flag_exceptions, flag_inline_functions, flag_inline_trees, flag_no_inline, flag_pedantic_errors, flag_permissive, flag_signed_char, flag_weak, flag_writable_strings, force_align_functions_log, gcc_assert, get_identifier(), global_delete_fndecl, global_namespace, GLOBAL_SCOPE_HT_SIZE, global_scope_name, global_type_node, init_class_processing(), init_exception_processing(), init_rtti_processing(), init_search_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_missing_noreturn_ok_p, lang_name_c, lang_name_cplusplus, layout_type(), make_aggr_type(), make_fname_decl, make_node, make_unsigned_type(), my_friendly_assert, NAMESPACE_LEVEL, NULL, NULL_BINDING_LEVEL, NULL_TREE, pop_namespace(), ptr_type_node, ptrdiff_type_node, ptrmemfunc_vbit_in_pfn, push_cp_library_fn(), push_namespace(), push_to_top_level(), pushlevel(), 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_PUBLIC, TREE_SET_CODE, TREE_TYPE, truthvalue_false_node, truthvalue_true_node, truthvalue_type_node, TYPE_ARG_TYPES, TYPE_CONTEXT, TYPE_MAX_VALUE, TYPE_POINTER_TO, TYPE_PRECISION, TYPE_QUAL_CONST, TYPE_REFERENCE_TO, TYPE_STUB_DECL, UNKNOWN_TYPE, unknown_type_node, using_eh_for_cleanups(), VARRAY_TREE_INIT, void_list_node, void_type_node, vtable_entry_type, vtable_index_type, VTBL_PTR_TYPE, vtbl_ptr_type_node, vtbl_type_node, vtt_parm_type, and xref_tag().
Definition at line 11601 of file decl.c.
References build_compound_expr(), build_delete(), build_tree_list, build_unary_op(), build_vbase_delete(), 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_cons, TREE_TYPE, TYPE_HAS_DESTRUCTOR, TYPE_HAS_NONTRIVIAL_DESTRUCTOR, and TYPE_USES_VIRTUAL_BASECLASSES.
Definition at line 11668 of file decl.c.
References cp_function_chain, current_stmt_tree(), DECL_INLINE, DECL_SAVED_FUNCTION_DATA, expanding_p, ggc_alloc_cleared, GGC_CNEW, NULL, and p.
| static int decl_jump_unsafe | ( | tree | decl | ) | [static] |
Definition at line 2291 of file decl.c.
References DECL_NONTRIVIALLY_INITIALIZED_P, error_mark_node, pod_type_p(), TREE_CODE, TREE_STATIC, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 5410 of file decl.c.
References build_decl, DECL_ARTIFICIAL, DECL_EXTERNAL, finish_decl(), NULL_TREE, pop_from_top_level(), push_to_top_level(), pushdecl(), and TREE_PUBLIC.
Definition at line 2271 of file decl.c.
References current_binding_level, IDENTIFIER_LABEL_VALUE, make_label_decl(), NULL_TREE, tree_cons, and TREE_VALUE.
Definition at line 919 of file decl.c.
References add_duplicates(), 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 2528 of file decl.c.
References bind(), C_DECL_UNDEFINABLE_STMT_EXPR, C_DECL_UNDEFINABLE_VM, C_DECLARED_LABEL_FLAG, check_previous_goto(), current_binding_level, current_function_decl, DECL_CONTEXT, DECL_INITIAL, DECL_SOURCE_LOCATION, error(), error_mark_node, gcc_assert, get_identifier(), htab_find(), I_LABEL_DECL, IDENTIFIER_POINTER, if(), in_system_header, c_label_list::label, label_context_stack_se, label_context_stack_vm, c_label_context_se::labels_def, c_label_context_vm::labels_def, locate_old_decl(), lookup_label(), lookup_name(), make_label(), named_labels, c_label_list::next, NULL, NULL_TREE, p, parser_obstack, pedwarn(), POP_TIMEVAR_AND_RETURN, sk_function_parms, timevar_push, warn_traditional, warning, and XOBNEW.
Definition at line 1111 of file decl.c.
References CAN_HAVE_FULL_LANG_DECL_P, chainon(), check_default_args(), check_redeclaration_exception_specification(), CLASSTYPE_FRIEND_CLASSES, comp_template_parms(), compparms(), COPY_DECL_ASSEMBLER_NAME, COPY_DECL_RTL, cp_build_type_attribute_variant(), CP_DECL_CONTEXT, CP_DECL_THREADPRIVATE_P, current_lang_depth(), DECL_ABSTRACT, DECL_ANTICIPATED, DECL_ARGUMENTS, DECL_ARTIFICIAL, 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_HAS_INIT_PRIORITY_P, DECL_HIDDEN_FRIEND_P, DECL_IMPLICIT_TYPEDEF_P, DECL_IN_AGGR_P, DECL_INIT_PRIORITY, DECL_INITIAL, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P, DECL_INITIALIZED_IN_CLASS_P, DECL_INITIALIZED_P, DECL_INLINE, DECL_INTERFACE_KNOWN, DECL_IS_MALLOC, DECL_IS_PURE, DECL_LANG_SPECIFIC, DECL_LANGUAGE, DECL_NAME, DECL_NAMESPACE_ALIAS, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK, DECL_NONCONVERTING_P, DECL_NONTRIVIALLY_INITIALIZED_P, DECL_NOT_REALLY_EXTERN, 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_SET_P, DECL_SAVED_TREE, DECL_SECTION_NAME, DECL_SIZE, 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_TLS_MODEL, DECL_UID, DECL_UNINLINABLE, DECL_USE_TEMPLATE, DECL_VINDEX, DECL_VIRTUAL_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, decls_match(), duplicate_decls(), error(), error_mark_node, fileptr_type_node, gcc_assert, get_identifier(), ggc_free(), i, layout_decl(), layout_type(), lookup_attribute(), make_decl_rtl(), memcpy, gcc_target::merge_decl_attributes, gcc_target::merge_type_attributes, merge_types(), merge_weak(), namespace_bindings_p(), NAMESPACE_LEVEL, NULL_TREE, pedwarn(), processing_template_decl, redeclaration_error_message(), reregister_specialization(), retrofit_lang_decl(), same_type_p, SET_DECL_INIT_PRIORITY, SET_DECL_LANGUAGE, SET_DECL_TEMPLATE_SPECIALIZATION, SET_OVERLOADED_OPERATOR_CODE, simple_cst_equal(), size, static_aggregates, t1, t2, targetm, TREE_ADDRESSABLE, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, TREE_CODE_LENGTH, tree_code_size(), 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, uses_template_parms(), value_member(), void_list_node, warn_extern_redeclared_static(), warn_inline, warn_redundant_decls, and warning.
Definition at line 5588 of file decl.c.
References expand_or_defer_fn(), finish_function(), and pop_from_top_level().
Definition at line 5662 of file decl.c.
References add_stmt_to_compound(), BCS_NO_SCOPE, begin_compound_stmt(), begin_if_stmt(), boolean_false_node, boolean_true_node, build2, build3, 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 2638 of file decl.c.
References add_stmt(), build_case_label(), build_decl, c_add_case_label(), c_switch::cases, cp_switch::cases, check_switch_goto(), cond, current_binding_level, error(), error_mark_node, cp_switch::level, NULL_TREE, p, processing_template_decl, r, sk_function_parms, SWITCH_COND, switch_stack, c_switch::switch_stmt, cp_switch::switch_stmt, SWITCH_STMT_COND, TREE_CODE, TREE_TYPE, and TREE_VALUE.
Definition at line 10995 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 5397 of file decl.c.
References add_decl_stmt(), add_stmt(), bcopy_libfunc, build_function_call(), build_stmt(), build_tree_list, build_unary_op(), built_in_decls, BUILT_IN_NORMAL, bzero_libfunc, cleanup(), complete_array_type(), COMPLETE_TYPE_P, constant_expression_warning(), cp_finish_decl(), current_binding_level, DECL_ATTRIBUTES, DECL_BUILT_IN_CLASS, DECL_C_HARD_REGISTER, DECL_CONTEXT, DECL_DEFER_OUTPUT, DECL_EXTERNAL, DECL_FUNCTION_CODE, DECL_INITIAL, DECL_REGISTER, DECL_RTL, DECL_SIZE, eh_personality_libfunc, error_mark_node, failure, flag_exceptions, flag_objc, get_identifier(), get_pending_sizes(), global_binding_level, init_block_clear_fn(), init_block_move_fn(), init_one_libfunc(), layout_decl(), lookup_attribute(), lookup_name(), maybe_apply_renaming_pragma(), memcmp_libfunc, memcpy_libfunc, memmove_libfunc, memset_libfunc, NULL, NULL_RTX, NULL_TREE, objc_check_decl(), pedantic, rest_of_decl_compilation(), SET_DECL_ASSEMBLER_NAME, SET_DECL_RTL, store_init_value(), TREE_ADDRESSABLE, TREE_ASM_WRITTEN, TREE_CODE, tree_int_cst_sgn(), TREE_PUBLIC, TREE_STATIC, TREE_STRING_POINTER, TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_DOMAIN, TYPE_MAX_VALUE, using_eh_for_cleanups(), USING_SJLJ_EXCEPTIONS, WFE_Decl(), WFE_Initialize_Decl(), and XEXP.
Definition at line 11045 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 10139 of file decl.c.
References add_stmt(), at_function_scope_p(), build_min(), c_common_type_for_size(), copy_node, DECL_INITIAL, DECL_SOURCE_LOCATION, error(), error_mark_node, fixup_signed_type(), fixup_unsigned_type(), flag_short_enums, input_location, integer_type_node, integer_types, integer_zero_node, itk_char, itk_int, itk_none, itk_unsigned_long_long, layout_type(), 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_UNSIGNED, 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 11176 of file decl.c.
References abort, aggregate_value_p(), alloc_stmt_list(), annotate_with_file_line(), BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, build_stmt(), building_stmt_tree, c_warn_unused_result(), calls_setjmp_p(), 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_pcc_struct, current_function_returns_value, DECL_ALIGN, 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_REPLACEABLE_P, DECL_RESULT, DECL_SAVED_FUNCTION_DATA, DECL_SAVED_TREE, DECL_UNINLINABLE, DECL_VIRTUAL_P, dependent_type_p(), error_mark_node, errorcount, f, finalize_nrv(), finish_eh_spec_block(), finish_fname_decls(), finish_return_stmt(), finish_stmt_tree(), flag_enforce_eh_specs, flag_exceptions, flag_non_call_exceptions, free_after_compilation(), free_after_parsing(), function_depth, gcc_assert, input_filename, input_location, integer_one_node, integer_zero_node, keyed_classes, local_names, maybe_end_member_template_processing(), my_friendly_assert, NULL, NULL_TREE, nullify_returns_r(), outer_curly_brace_block(), pop_nested_class(), pop_stmt_list(), poplevel(), processing_template_decl, r, save_function_data(), SET_EXPR_LOCATION, sk_class, sk_function_parms, stmts_are_full_exprs_p(), TREE_CODE, tree_cons, TREE_NOTHROW, TREE_TYPE, TYPE_RAISES_EXCEPTIONS, UNKNOWN_LOCATION, use_eh_spec_block(), walk_tree_without_duplicates(), warn_return_type, and warning.
Definition at line 11135 of file decl.c.
References current_function_decl, DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P, finish_compound_stmt(), finish_constructor_body(), finish_destructor_body(), NULL_TREE, and processing_template_decl.
Definition at line 11492 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, my_friendly_assert, NULL_TREE, pop_binding(), poplevel(), TREE_CHAIN, TREE_CODE, tree_cons, VEC_safe_push, and void_type_node.
Definition at line 3574 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 5435 of file decl.c.
References arg_types, atexit_node, build_function_type(), build_library_fn_ptr(), build_pointer_type(), gcc_target::cxx, 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(), targetm, tree_cons, gcc_target::cxx::use_aeabi_atexit, void_list_node, and void_type_node.
Definition at line 5511 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 6702 of file decl.c.
References cdk_id, cp_declarator::declarator, cp_declarator::id, cp_declarator::kind, NULL_TREE, and cp_declarator::u.
Referenced by cp_parser_direct_declarator(), and cp_parser_init_declarator().
Definition at line 9136 of file decl.c.
References copy_fn_p(), DECL_NAME, error(), and SET_IDENTIFIER_ERROR_LOCUS.
Definition at line 9193 of file decl.c.
References abort, 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(), error_mark_node, gcc_assert, gcc_unreachable, global_namespace, IDENTIFIER_TYPENAME_P, integer_type_node, IS_AGGR_TYPE, my_friendly_assert, non_reference(), NULL_TREE, p, pedantic, pedwarn(), processing_template_decl, ret, revert_static_member_fn(), 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, TYPE_OVERLOADS_ARRAY_REF, TYPE_OVERLOADS_ARROW, TYPE_OVERLOADS_CALL_EXPR, unary_op_p(), void_list_node, warn_conversion, warn_ecpp, and warning.
Definition at line 4094 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 9083 of file decl.c.
References class_type, copy_fn_p(), ctor(), DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_NONSTATIC_MEMBER_FUNCTION_P, DECL_OVERLOADED_OPERATOR_P, DECL_PURE_VIRTUAL_P, FUNCTION_FIRST_USER_PARMTYPE, sufficient_parms_p(), TYPE_HAS_ABSTRACT_ASSIGN_REF, TYPE_HAS_ASSIGN_REF, TYPE_HAS_CONST_ASSIGN_REF, TYPE_HAS_CONST_INIT_REF, TYPE_HAS_CONSTRUCTOR, 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 6920 of file decl.c.
References ANON_AGGR_TYPE_P, any_dependent_template_arguments_p(), cp_decl_specifier_seq::any_specifiers_p, arg_types, args, cp_declarator::array, at_class_scope_p(), at_function_scope_p(), ATTR_FLAG_ARRAY_NEXT, ATTR_FLAG_DECL_NEXT, ATTR_FLAG_FUNCTION_NEXT, cp_declarator::attributes, b, bad_specifiers(), BITFIELD, build_complex_type(), build_cplus_array_type(), build_decl, build_decl_attribute_variant(), build_function_type(), build_lang_decl(), build_memfn_type(), 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_IS_TEMPLATE, CLASSTYPE_TEMPLATE_INFO, CLASSTYPE_TEMPLATE_SPECIALIZATION, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, CLASSTYPE_USE_TEMPLATE, complete_type(), complete_type_or_else, COMPLETE_TYPE_P, complex_double_type_node, complex_float_type_node, complex_integer_type_node, complex_long_double_type_node, compute_array_index_type(), cp_decl_specifier_seq::conflicting_specifiers_p, constructor_name(), constructor_name_p(), 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, currently_open_class(), DECL_ABSTRACT, DECL_ARTIFICIAL, DECL_ATTRIBUTES, decl_attributes(), DECL_CONSTRUCTOR_P, DECL_CONTEXT, decl_default_tls_model(), 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, DECL_TLS_MODEL, cp_declarator::declarator, decls, dependent_type_p(), deprecated_state, DEPRECATED_SUPPRESS, do_friend(), double_type_node, ds_complex, ds_const, ds_explicit, ds_friend, ds_inline, 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, grokfndecl(), grokparms(), grokvardecl(), gcc_target::have_tls, 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_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, targetm, template_class_depth(), tf_ignore_bad_quals, tf_warning_or_error, 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_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_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, | |||
| bool | funcdef_flag, | |||
| int | template_count, | |||
| tree | in_namespace, | |||
| tree * | attrlist | |||
| ) | [static] |
Definition at line 5976 of file decl.c.
References args, build_exception_variant(), build_function_type(), build_lang_decl(), build_this_parm(), check_class_member_definition_namespace(), check_classfn(), check_explicit_specialization(), check_java_method(), 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 8908 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, DECL_SELF_REFERENCE_P, 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, processing_template_decl, 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 | |||
| ) |
Definition at line 3782 of file decl.c.
References cp_decl_specifier_seq::attributes, cplus_decl_attributes(), grokdeclarator(), NULL_TREE, and TYPENAME.
| static tree grokvardecl | ( | tree | type, | |
| tree | name, | |||
| const cp_decl_specifier_seq * | declspecs, | |||
| int | initialized, | |||
| int | constp, | |||
| tree | scope | |||
| ) | [static] |
Definition at line 6322 of file decl.c.
References at_function_scope_p(), build_decl, build_lang_decl(), check_class_member_definition_namespace(), current_lang_name, current_namespace, current_scope(), DECL_CLASS_SCOPE_P, DECL_CONTEXT, decl_default_tls_model(), DECL_EXTERN_C_P, DECL_EXTERNAL, DECL_INTERFACE_KNOWN, DECL_ORIGINAL_TYPE, DECL_THIS_EXTERN, DECL_TLS_MODEL, ds_thread, error(), FROB_CONTEXT, 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 2719 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_entry GTY | ( | () | ) | [read, write] |
| static void identify_goto | ( | tree | decl, | |
| const location_t * | locus | |||
| ) | [static] |
Definition at line 2312 of file decl.c.
References pedwarn().
Referenced by check_previous_goto_1().
Definition at line 5068 of file decl.c.
References build_constructor(), build_constructor_from_list(), DECL_ARTIFICIAL, DECL_INITIAL, DECL_INITIALIZED_P, determine_visibility(), gcc_assert, layout_var_decl(), make_rtl_for_nonlocal_decl(), maybe_commonize_var(), NULL, NULL_TREE, and TREE_CODE.
Referenced by build_ctor_vtbl_group(), build_vtt(), and initialize_vtable().
Definition at line 5004 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 3068 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 4246 of file decl.c.
References complete_type(), COMPLETE_TYPE_P, constant_expression_warning(), 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, TREE_CODE, TREE_CONSTANT, TREE_STATIC, TREE_TYPE, and TYPE_DOMAIN.
| int local_variable_p | ( | tree | t | ) |
Definition at line 8787 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 8817 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 9663 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_prefer_type(), lookup_type_scope(), NULL_TREE, TREE_CODE, ts_current, ts_global, and ts_within_enclosing_non_class.
Definition at line 2247 of file decl.c.
References build_decl, C_DECLARED_LABEL_FLAG, current_function_decl, DECL_CONTEXT, DECL_MODE, DECL_SOURCE_FILE, DECL_SOURCE_LINE, error(), IDENTIFIER_LABEL_VALUE, IDENTIFIER_POINTER, input_filename, lineno, make_label_decl(), named_labels, NULL_TREE, POP_TIMEVAR_AND_RETURN, shadow_label(), timevar_push, tree_cons, and void_type_node.
Definition at line 2205 of file decl.c.
References build_decl, C_DECLARED_LABEL_FLAG, current_function_decl, DECL_CONTEXT, DECL_MODE, DECL_SOURCE_LOCATION, gcc_assert, GGC_CNEW, htab_create_ggc, htab_find_slot(), input_location, INSERT, named_label_entry_eq(), named_label_entry_hash(), named_labels, NULL, SET_IDENTIFIER_LABEL_VALUE, and void_type_node.
Definition at line 4916 of file decl.c.
References at_eof, BUILT_IN_NORMAL, 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, filename, gcc_assert, get_fileinfo(), input_filename, c_fileinfo::interface_only, c_fileinfo::interface_unknown, NULL, 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 | |||
| ) |
Definition at line 2781 of file decl.c.
References build_nt(), CLASSTYPE_IS_TEMPLATE, CLASSTYPE_TI_ARGS, CLASSTYPE_TI_TEMPLATE, CLASSTYPE_USE_TEMPLATE, currently_open_class(), DECL_ARTIFICIAL, DECL_CLASS_TEMPLATE_P, DECL_NAME, dependent_type_p(), error(), error_mark_node, gcc_assert, IS_AGGR_TYPE, lookup_field(), lookup_template_class(), NULL_TREE, perform_or_defer_access_check(), tf_error, tf_keep_type_decl, tf_user, tf_warning, tf_warning_or_error, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_BINFO, TYPE_IDENTIFIER, TYPE_LANG_SPECIFIC, and TYPE_P.
| tree make_unbound_class_template | ( | tree | context, | |
| tree | name, | |||
| tree | parm_list, | |||
| tsubst_flags_t | complain | |||
| ) |
Definition at line 2895 of file decl.c.
References build_decl, comp_template_parms(), cp_error_at(), currently_open_class(), d, DECL_ARTIFICIAL, DECL_CLASS_TEMPLATE_P, DECL_CONTEXT, DECL_NAME, DECL_P, DECL_TEMPLATE_PARMS, dependent_type_p(), error(), error_mark_node, FROB_CONTEXT, gcc_assert, IS_AGGR_TYPE, lookup_field(), make_aggr_type(), NULL_TREE, perform_or_defer_access_check(), tf_error, TREE_CODE, TREE_TYPE, TYPE_BINFO, TYPE_CONTEXT, TYPE_IDENTIFIER, TYPE_NAME, TYPE_P, and TYPE_STUB_DECL.
Definition at line 4305 of file decl.c.
References comdat_linkage(), 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 4176 of file decl.c.
References check_array_designated_initializer(), constructor_elt, CONSTRUCTOR_ELTS, cp_apply_type_quals_to_decl(), cp_complete_array_type(), cp_type_quals(), DECL_EXTERNAL, DECL_INITIAL, error(), error_mark_node, failure, HOST_WIDE_INT, i, layout_decl(), NULL_TREE, pedantic, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TYPE_DOMAIN, VEC, and VEC_iterate.
Definition at line 11544 of file decl.c.
References CLASS_TYPE_P, COMPLETE_TYPE_P, DECL_EXTERNAL, error_mark_node, gcc_assert, my_friendly_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 4396 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 443 of file decl.c.
References b, C_DECL_REGISTER, current_binding_level, current_scope(), DECL_REGISTER, objc_volatilize_decl(), sk_function_parms, TREE_CHAIN, TREE_CODE, and TREE_THIS_VOLATILE.
Definition at line 11156 of file decl.c.
References BLOCK_SUBBLOCKS, current_function_decl, DECL_INITIAL, and FUNCTION_NEEDS_BODY_BLOCK.
Referenced by finish_function().
Definition at line 355 of file decl.c.
References DECL_INITIAL, DECL_NAME, define_label(), error(), input_filename, input_location, location, NULL_TREE, processing_template_decl, SET_IDENTIFIER_LABEL_VALUE, TREE_USED, and warning.
Definition at line 403 of file decl.c.
References htab_traverse(), named_labels, NULL, and pop_labels_1().
Definition at line 385 of file decl.c.
References BLOCK_VARS, htab_clear_slot(), named_labels, NULL_TREE, pop_label(), and TREE_CHAIN.
Referenced by pop_labels().
Definition at line 415 of file decl.c.
References htab_clear_slot(), htab_find_slot(), named_labels, NO_INSERT, and pop_label().
Referenced by poplevel().
Definition at line 2614 of file decl.c.
References c_do_switch_warnings(), cp_switch::cases, cs, EXPR_HAS_LOCATION, EXPR_LOCATION, free(), input_location, c_switch::next, cp_switch::next, processing_template_decl, splay_tree_delete(), switch_stack, cp_switch::switch_stmt, SWITCH_STMT_COND, and SWITCH_STMT_TYPE.
| tree poplevel | ( | int | keep, | |
| int | reverse, | |||
| int | functionbody | |||
| ) |
Definition at line 529 of file decl.c.
References add_stmt(), BLOCK, BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, c_build_bind_expr(), cfun, chainon(), clear_limbo_values(), COMPLETE_TYPE_P, cp_class_binding, current_binding_level, current_function_decl, d, DECL_ABSTRACT_ORIGIN, DECL_ARTIFICIAL, DECL_ASSEMBLER_NAME, DECL_DEAD_FOR_LOCAL, DECL_EXTERNAL, DECL_HAS_SHADOWED_FOR_VAR_P, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_NAME, DECL_P, decls, define_label(), error(), flag_new_for_scope, gcc_assert, getdecls(), htab_traverse(), IDENTIFIER_BINDING, IDENTIFIER_LABEL_VALUE, IDENTIFIER_LOCAL_VALUE, IDENTIFIER_NAMESPACE_VALUE, IDENTIFIER_POINTER, input_filename, leave_scope(), lineno, make_node, named_labels, nreverse(), NULL_TREE, outer_binding(), OVL_FUNCTION, pop_binding(), pop_binding_level(), pop_labels(), pop_local_label(), pop_stmt_list(), POP_TIMEVAR_AND_RETURN, poplevel_named_label_1(), processing_template_decl, SET_DECL_SHADOWED_FOR_VAR, SET_IDENTIFIER_TYPE_VALUE, sk_class, sk_cleanup, sk_for, timevar_push, tmp, TREE_ADDRESSABLE, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_USED, TREE_VALUE, TYPE_CONTEXT, TYPE_NAME, VEC_length, warn_about_unused_variables(), warn_unused_label, warn_unused_variable, and warning.
Definition at line 465 of file decl.c.
References bl, decl_jump_unsafe(), NULL, sk_catch, sk_omp, sk_try, TREE_CHAIN, and tree_cons.
Referenced by poplevel().
Definition at line 3532 of file decl.c.
References ansi_opname, build_cp_library_fn(), and pushdecl().
Definition at line 878 of file decl.c.
References DECL_DISCRIMINATOR, DECL_LANG_SPECIFIC, DECL_NAME, i, local_names, retrofit_lang_decl(), timevar_pop, timevar_push, VEC_index, VEC_length, VEC_replace, and VEC_safe_push.
Definition at line 2603 of file decl.c.
References case_compare(), cp_switch::cases, current_binding_level, cp_switch::level, cp_switch::next, NULL, p, splay_tree_new(), switch_stack, cp_switch::switch_stmt, xmalloc(), and XNEW.
Definition at line 3555 of file decl.c.
References push_library_fn(), TREE_NOTHROW, and TREE_THIS_VOLATILE.
Definition at line 3545 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 3009 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 2963 of file decl.c.
References build_decl, debug_hooks, DECL_ARTIFICIAL, get_identifier(), int, NULL_TREE, pushdecl(), RID_MAX, ridpointers, SET_IDENTIFIER_GLOBAL_VALUE, gcc_debug_hooks::type_decl, and TYPE_NAME.
Definition at line 3040 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 2080 of file decl.c.
References COMPLETE_TYPE_P, CP_DECL_THREADPRIVATE_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, DECL_THREAD_LOCAL_P, decls_match(), NULL, NULL_TREE, same_type_p, template_for_substitution(), toplevel_bindings_p(), TREE_CODE, and TREE_TYPE.
Definition at line 5599 of file decl.c.
References args, BCS_FN_BODY, begin_compound_stmt(), build_cleanup(), build_function_call(), build_unary_op(), cleanup(), gcc_target::cxx, cxx_mark_addressable(), dk_no_check, end_cleanup_fn(), finish_compound_stmt(), finish_expr_stmt(), flag_access_control, 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(), targetm, tree_cons, TREE_TYPE, TYPE_HAS_TRIVIAL_DESTRUCTOR, gcc_target::cxx::use_aeabi_atexit, and void_zero_node.
Definition at line 8765 of file decl.c.
References complete_type_or_else, DECL_ARG_TYPE, dependent_type_p(), error_mark_node, relayout_decl(), TREE_CHAIN, TREE_TYPE, type_passed_as(), and VOID_TYPE_P.
Definition at line 4712 of file decl.c.
References BRACE_ENCLOSED_INITIALIZER_P, constructor_elt, CONSTRUCTOR_ELTS, reshape_iterator_t::cur, d, reshape_iterator_t::end, error(), error_mark_node, gcc_assert, reshape_init_r(), VEC, VEC_empty, VEC_index, and VEC_length.
| static tree reshape_init_array | ( | tree | type, | |
| reshape_iter * | d | |||
| ) | [static] |
Definition at line 4459 of file decl.c.
References array_type_nelts(), gcc_assert, NULL_TREE, reshape_init_array_1(), TREE_CODE, TREE_TYPE, and TYPE_DOMAIN.
| static tree reshape_init_array_1 | ( | tree | elt_type, | |
| tree | max_index, | |||
| reshape_iter * | d | |||
| ) | [static] |
Definition at line 4414 of file decl.c.
References build_constructor(), check_array_designated_initializer(), CONSTRUCTOR_APPEND_ELT, CONSTRUCTOR_ELTS, reshape_iterator_t::cur, reshape_iterator_t::end, error_mark_node, fold_convert(), host_integerp(), HOST_WIDE_INT, index(), integer_all_onesp(), NULL, NULL_TREE, reshape_init_r(), size_type_node, and tree_low_cst().
Referenced by reshape_init_array(), and reshape_init_vector().
| static tree reshape_init_class | ( | tree | type, | |
| reshape_iter * | d, | |||
| bool | first_initializer_p | |||
| ) | [static] |
Definition at line 4509 of file decl.c.
References build_constructor(), CLASS_TYPE_P, CONSTRUCTOR_APPEND_ELT, CONSTRUCTOR_ELTS, reshape_iterator_t::cur, reshape_iterator_t::end, error(), error_mark_node, field_init(), gcc_assert, lookup_field_1(), next_initializable_field(), NULL, NULL_TREE, reshape_init_r(), TREE_CHAIN, TREE_CODE, TREE_TYPE, and TYPE_FIELDS.
Referenced by reshape_init_r().
| static tree reshape_init_r | ( | tree | type, | |
| reshape_iter * | d, | |||
| bool | first_initializer_p | |||
| ) | [static] |
Definition at line 4582 of file decl.c.
References BRACE_ENCLOSED_INITIALIZER_P, can_convert_arg(), char_type_p(), CLASS_TYPE_P, COMPOUND_LITERAL_P, constructor_elt, CONSTRUCTOR_ELTS, CP_AGGREGATE_TYPE_P, reshape_iterator_t::cur, error(), error_mark_node, gcc_assert, gcc_unreachable, LOOKUP_NORMAL, reshape_init(), reshape_init_array(), reshape_init_class(), reshape_init_vector(), TREE_CODE, TREE_TYPE, TYPE_MAIN_VARIANT, TYPE_PTRMEMFUNC_P, VEC_index, VEC_length, and warning.
Referenced by reshape_init(), reshape_init_array_1(), and reshape_init_class().
| static tree reshape_init_vector | ( | tree | type, | |
| reshape_iter * | d | |||
| ) | [static] |
Definition at line 4475 of file decl.c.
References array_type_nelts(), COMPOUND_LITERAL_P, reshape_iterator_t::cur, error(), error_mark_node, gcc_assert, NULL_TREE, reshape_init_array_1(), same_type_p, TREE_CODE, TREE_TYPE, TYPE_DEBUG_REPRESENTATION_TYPE, TYPE_DOMAIN, and TYPE_FIELDS.
Referenced by reshape_init_r().
Definition at line 11643 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 10972 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 6300 of file decl.c.
References DECL_INTERFACE_KNOWN, processing_template_decl, TREE_PUBLIC, and TREE_STATIC.
| tree shadow_tag | ( | cp_decl_specifier_seq * | declspecs | ) |
Definition at line 3741 of file decl.c.
References ANON_AGGR_TYPE_P, cp_decl_specifier_seq::attributes, check_tag_decl(), class_key_or_enum_as_string(), cp_warning_at(), error_mark_node, finish_anon_union(), fixup_anonymous_aggr(), grokdeclarator(), maybe_process_partial_specialization(), NORMAL, NULL, NULL_TREE, TYPE_FIELDS, and warning.
| 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 3811 of file decl.c.
References chainon(), check_classfn(), CLASSTYPE_TEMPLATE_INSTANTIATION, CLASSTYPE_TEMPLATE_SPECIALIZATION, complete_type(), COMPLETE_TYPE_P, cp_type_readonly(), cplus_decl_attributes(), current_template_parms, DECL_ARTIFICIAL, DECL_ATTRIBUTES, DECL_COMMON, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_DLLIMPORT_P, DECL_EXTERNAL, DECL_IN_AGGR_P, DECL_INITIAL, DECL_INITIALIZED_IN_CLASS_P, DECL_LANG_SPECIFIC, DECL_NAME, DECL_NAMESPACE_SCOPE_P, DECL_TEMPLATE_SPECIALIZATION, DECL_THIS_STATIC, DECL_THREAD_LOCAL, DECL_THREAD_LOCAL_P, DECL_UNINLINABLE, DECL_USE_TEMPLATE, DEPRECATED_NORMAL, deprecated_state, DEPRECATED_SUPPRESS, duplicate_decls(), error(), error_mark_node, flag_conserve_space, gcc_assert, grokdeclarator(), have_extern_spec, have_global_bss_p(), lookup_attribute(), lookup_field(), maybe_apply_pragma_weak(), maybe_push_decl(), NORMAL, NULL_TREE, pedwarn(), processing_specialization, processing_template_decl, push_scope(), push_template_decl(), same_type_p, sc_extern, SET_DECL_TEMPLATE_SPECIALIZATION, start_decl_1(), cp_decl_specifier_seq::storage_class, template_class_depth(), toplevel_bindings_p(), TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, and warning.
Definition at line 4016 of file decl.c.
References complete_type(), COMPLETE_TYPE_P, DECL_EXTERNAL, DECL_LANG_SPECIFIC, DECL_TEMPLATE_INFO, error(), error_mark_node, error_operand_p, gcc_assert, IS_AGGR_TYPE, maybe_push_cleanup_level(), processing_template_decl, TREE_CODE, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.
Definition at line 10099 of file decl.c.
References C_TYPE_BEING_DEFINED, current_binding_level, enum_next_value, enum_overflow, enum_type, error(), error_mark_node, flag_short_enums, gcc_assert, IDENTIFIER_POINTER, integer_zero_node, lookup_and_check_tag(), lookup_tag(), make_anon_name(), make_node, NULL_TREE, pushtag(), TREE_CODE, ts_current, TYPE_MAIN_DECL, TYPE_PACKED, and TYPE_VALUES.
| int start_function | ( | cp_decl_specifier_seq * | declspecs, | |
| const cp_declarator * | declarator, | |||
| tree | attrs | |||
| ) |
Definition at line 10845 of file decl.c.
References current_binding_level, DECL_MAIN_P, FUNCDEF, gcc_assert, global_scope_p, grokdeclarator(), have_extern_spec, integer_type_node, maybe_apply_pragma_weak(), NULL_TREE, same_type_p, sc_extern, SF_DEFAULT, start_preparsed_function(), cp_decl_specifier_seq::storage_class, TREE_CODE, and TREE_TYPE.
| tree start_method | ( | cp_decl_specifier_seq * | declspecs, | |
| const cp_declarator * | declarator, | |||
| tree | attrlist | |||
| ) |
Definition at line 11416 of file decl.c.
References begin_scope(), check_template_shadow(), copy_node, cp_finish_decl(), cplus_decl_attributes(), DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_FRIEND_P, DECL_IN_AGGR_P, DECL_INLINE, DECL_TEMPLATE_SPECIALIZATION, error(), error_mark_node, finish_decl(), flag_default_inline, grok_special_member_properties(), grokdeclarator(), MEMFUNCDEF, NULL, NULL_TREE, processing_template_decl, push_template_decl(), sk_function_parms, TREE_CHAIN, TREE_CODE, and void_type_node.
Definition at line 10505 of file decl.c.
References adjust_clone_args(), allocate_struct_function(), announce_function(), begin_scope(), bl, build_decl, build_indirect_ref(), c_promoting_integer_type_p(), cdtor_label, gcc_target::cxx::cdtor_returns_this, cfun, check_default_args(), check_function_type(), comdat_linkage(), cp_apply_type_quals_to_decl(), cp_function_chain, cp_type_quals(), current_binding_level, current_function_decl, current_function_parms, current_in_charge_parm, current_vtt_parm, gcc_target::cxx, DECL_ARGUMENTS, DECL_ARTIFICIAL, DECL_CLONED_FUNCTION_P, DECL_CONSTRUCTOR_P, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_DEFER_OUTPUT, DECL_DESTRUCTOR_P, DECL_EXTERNAL, DECL_FRIEND_CONTEXT, DECL_FRIEND_P, decl_function_context(), DECL_FUNCTION_MEMBER_P, DECL_HAS_IN_CHARGE_PARM_P, DECL_HAS_VTT_PARM_P, DECL_IGNORED_P, DECL_INITIAL, DECL_INTERFACE_KNOWN, DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P, DECL_NAME, DECL_NOT_REALLY_EXTERN, DECL_OVERLOADED_OPERATOR_P, DECL_PENDING_INLINE_P, DECL_RESULT, DECL_SAVED_FUNCTION_DATA, DECL_SAVED_TREE, DECL_SOURCE_LOCATION, DECL_STATIC_FUNCTION_P, DECL_TEMPLATE_INFO, DECL_TEMPLATE_INSTANTIATION, DECL_TI_TEMPLATE, DECL_USE_TEMPLATE, DECL_VINDEX, determine_visibility(), error_mark_node, flag_implement_inlines, function_depth, gcc_assert, get_fileinfo(), c_fileinfo::interface_only, c_fileinfo::interface_unknown, lbasename(), LOCATION_FILE, lookup_attribute(), mark_needed(), maybe_apply_pragma_weak(), maybe_begin_member_template_processing(), maybe_make_one_only(), NULL, NULL_TREE, PRIMARY_TEMPLATE_P, processing_template_decl, push_nested_class(), push_stmt_list(), push_template_decl(), pushdecl(), revert_static_member_fn(), SF_INCLASS_INLINE, SF_PRE_PARSED, sk_function_parms, start_fname_decls(), store_parm_decls(), targetm, TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, TYPE_METHOD_BASETYPE, type_promotes_to(), void_list_node, vtt_parm_identifier, warn_ecpp, and warning.
Referenced by cp_parser_late_parsing_for_member(), instantiate_decl(), maybe_clone_body(), start_function(), start_objects(), synthesize_method(), and use_thunk().
Definition at line 10899 of file decl.c.
References begin_eh_spec_block(), chainon(), current_binding_level, current_eh_spec_block, current_function_decl, DECL_ARGUMENTS, DECL_NAME, error(), getdecls(), next, nreverse(), NULL, NULL_TREE, pushdecl(), TREE_CHAIN, TREE_CODE, and use_eh_spec_block().
| static const char * tag_name | ( | enum tag_types | code | ) | [static] |
Definition at line 9555 of file decl.c.
References class_type, enum_type, gcc_unreachable, record_type, typename_type, and union_type.
Definition at line 2699 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 2677 of file decl.c.
References DECL_NAME, htab_hash_pointer, TYPE_CONTEXT, and TYPE_NAME.
Definition at line 10872 of file decl.c.
References DECL_ARTIFICIAL, DECL_CLONED_FUNCTION_P, flag_enforce_eh_specs, flag_exceptions, processing_template_decl, TREE_TYPE, and TYPE_RAISES_EXCEPTIONS.
Referenced by finish_function(), and store_parm_decls().
| 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 807 of file decl.c.
References NAMESPACE_LEVEL, result, TREE_CHAIN, and walk_namespaces_r().
Definition at line 1035 of file decl.c.
References cp_pedwarn_at(), DECL_ARTIFICIAL, DECL_ASSEMBLER_NAME, DECL_STATIC_FUNCTION_P, DECL_THIS_STATIC, pedwarn(), and TREE_CODE.
Definition at line 834 of file decl.c.
References check_global_declarations(), emit_debug_global_declarations(), len, NAMESPACE_LEVEL, VARRAY_ACTIVE_SIZE, VARRAY_TREE, varray_type, VEC, vec, VEC_address, VEC_length, and wrapup_global_declarations().
Definition at line 9903 of file decl.c.
References access, access_default_node, access_default_virtual_node, access_private_node, access_private_virtual_node, access_protected_node, access_protected_virtual_node, access_public_node, access_public_virtual_node, base, BINFO_BASE_ACCESS_APPEND, BINFO_BASE_ACCESSES, BINFO_BASE_APPEND, BINFO_BASE_ITERATE, BINFO_BASETYPES, BINFO_INHERITANCE_CHAIN, BINFO_OFFSET, BINFO_TYPE, class_type, CLASS_TYPE_P, CLASSTYPE_DECLARED_CLASS, CLASSTYPE_DIAMOND_SHAPED_P, CLASSTYPE_MARKED, CLASSTYPE_NON_AGGREGATE, CLASSTYPE_REPEATED_BASE_P, CLASSTYPE_VBASECLASSES, CLEAR_CLASSTYPE_MARKED, complete_type(), complete_type_or_else, COMPLETE_TYPE_P, copy_binfo(), current_lang_depth(), current_template_parms, dependent_type_p(), error(), error_mark_node, gcc_assert, get_vbase_types(), i, len, list_length(), make_binfo(), make_tree_binfo, make_tree_vec, NULL, NULL_TREE, processing_template_decl, record_type, SET_CLASSTYPE_MARKED, size_zero_node, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TREE_VIA_PROTECTED, TREE_VIA_PUBLIC, TREE_VIA_VIRTUAL, TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_BINFO, TYPE_BINFO_VIRTUALS, TYPE_BINFO_VTABLE, 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, TYPE_USES_MULTIPLE_INHERITANCE, TYPE_USES_VIRTUAL_BASECLASSES, unshare_base_binfos(), uses_template_parms(), VEC_alloc, VEC_length, and VEC_space.
Definition at line 9744 of file decl.c.
References ANON_AGGRNAME_P, class_type, CLASS_TYPE_P, CLASSTYPE_IS_TEMPLATE, current_class_type, current_template_parms, DECL_ANTICIPATED, DECL_FRIEND_P, enum_type, error(), error_mark_node, gcc_assert, gcc_unreachable, hidden_name_p(), IS_AGGR_TYPE, lookup_and_check_tag(), make_aggr_type(), NULL_TREE, POP_TIMEVAR_AND_RETURN, processing_template_decl, pushtag(), record_type, redeclare_class_template(), template_class_depth(), timevar_push, TREE_CODE, ts_current, ts_within_enclosing_non_class, TYPE_CONTEXT, TYPE_NAME, TYPE_TEMPLATE_INFO, TYPE_TI_TEMPLATE, and union_type.
Definition at line 9879 of file decl.c.
References class_type, CLASSTYPE_DECLARED_CLASS, NULL_TREE, record_type, TREE_CODE, TYPE_IDENTIFIER, union_type, and xref_tag().
| tree cp_global_trees[CPTI_MAX] |
enum deprecated_states deprecated_state = DEPRECATED_NORMAL [static] |
| int function_depth |
Definition at line 232 of file decl.c.
Referenced by cp_parser_parameter_declaration(), expand_body(), expand_or_defer_fn(), finish_function(), genrtl_finish_function(), genrtl_start_function(), optimize_function(), start_preparsed_function(), and tsubst_default_argument().
struct cp_switch* switch_stack [static] |
1.5.6