#include "config.h"#include "system.h"#include "intl.h"#include "tree.h"#include "tree-inline.h"#include "rtl.h"#include "flags.h"#include "function.h"#include "output.h"#include "expr.h"#include "c-tree.h"#include "toplev.h"#include "ggc.h"#include "tm_p.h"#include "cpplib.h"#include "target.h"#include "debug.h"#include "timevar.h"#include "c-common.h"#include "c-pragma.h"#include "libfuncs.h"#include "except.h"#include "gt-c-decl.h"

Go to the source code of this file.
| #define NULL_BINDING_LEVEL (struct binding_level *) NULL |
Definition at line 245 of file c-decl.c.
Referenced by c_init_decl_processing(), cxx_init_decl_processing(), ffecom_init_0(), java_init_decl_processing(), and pushlevel().
| enum decl_context |
| int anon_aggr_type_p | ( | node | ) |
Definition at line 2778 of file c-decl.c.
References build_nt(), flag_isoc99, NULL_TREE, pedantic, pedwarn(), TREE_STATIC, TREE_TYPE, and warning.
Referenced by c_parser_direct_declarator_inner().
Definition at line 3377 of file c-decl.c.
Referenced by build_function_call(), and c_parser_postfix_expression_after_paren_type().
Definition at line 5930 of file c-decl.c.
Referenced by c_parser_enum_specifier(), cp_parser_enumerator_definition(), and tsubst_enum().
| tree builtin_function | ( | char * | name, | |
| tree | type, | |||
| int | function_code, | |||
| enum built_in_class | class, | |||
| const char * | library_name, | |||
| tree | attrs | |||
| ) | const |
Definition at line 2635 of file c-decl.c.
References ATTR_FLAG_BUILT_IN, build_decl, C_DECL_ANTICIPATED, decl_attributes(), DECL_BUILT_IN_CLASS, DECL_EXTERNAL, DECL_FUNCTION_CODE, get_identifier(), make_decl_rtl(), NULL, NULL_TREE, pushdecl(), SET_DECL_ASSEMBLER_NAME, and TREE_PUBLIC.
Referenced by builtin_function_2(), c4x_init_builtins(), ffecom_init_0(), GTY(), java_init_decl_processing(), and synth_module_prologue().
| tree c_begin_compound_stmt | ( | ) |
Definition at line 7225 of file c-decl.c.
References add_stmt(), build_stmt(), and NULL_TREE.
Referenced by c_begin_omp_parallel(), c_begin_stmt_expr(), c_parser_c99_block_statement(), c_parser_compound_statement(), c_parser_do_statement(), c_parser_for_statement(), c_parser_if_body(), c_parser_if_statement(), c_parser_omp_for(), c_parser_omp_sections(), c_parser_switch_statement(), c_parser_while_statement(), and start_cdtor().
Definition at line 6810 of file c-decl.c.
References gcc_target::asm_out, cfun, compare_tree_int(), gcc_target::asm_out::constructor, current_function_decl, debug_hooks, DECL_ARGUMENTS, DECL_ASSEMBLER_NAME, DECL_CONTEXT, DECL_EXTERNAL, decl_function_context(), DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_NAME, DECL_RTL, DECL_SAVED_INSNS, DECL_SAVED_TREE, DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DEFAULT_INIT_PRIORITY, defer_fn(), gcc_debug_hooks::deferred_inline_function, gcc_target::asm_out::destructor, dump_enabled_p(), error_mark_node, expand_function_end(), expand_function_start(), expand_main_function(), expand_pending_sizes(), expand_stmt(), flag_inline_trees, flag_syntax_only, ggc_pop_context(), ggc_push_context(), gcc_target::have_ctors_dtors, IDENTIFIER_POINTER, immediate_size_expand, init_function_start(), input_filename, larger_than_size, lineno, MAIN_NAME_P, NULL, NULL_TREE, optimize_inline_calls(), pop_function_context(), push_function_context(), rest_of_compilation(), set_save_expr_context(), targetm, TDI_all, timevar_pop, timevar_push, TREE_CODE, tree_cons, tree_inlinable_function_p(), TREE_INT_CST_LOW, TREE_TYPE, TYPE_SIZE_UNIT, variably_modified_type_p(), walk_tree(), warn_larger_than, WFE_Assemble_Constructor(), WFE_Assemble_Destructor(), WFE_Finish_Function(), and XEXP.
Referenced by c_expand_decl_stmt(), c_expand_deferred_function(), and finish_function().
Definition at line 7239 of file c-decl.c.
References c_expand_body(), current_function_decl, DECL_CONTEXT, DECL_SAVED_TREE, DECL_STMT_DECL, and TREE_CODE.
Referenced by c_objc_common_init().
Definition at line 6772 of file c-decl.c.
References c_expand_body(), current_function_decl, DECL_INLINE, DECL_RESULT, and NULL.
Referenced by expand_deferred_fns().
Definition at line 2671 of file c-decl.c.
References c_common_insert_default_attributes(), and TREE_PUBLIC.
Definition at line 2594 of file c-decl.c.
References build_array_type(), build_decl, build_index_type(), build_qualified_type(), build_string(), char_type_node, current_function_decl, DECL_ARTIFICIAL, DECL_CONTEXT, DECL_INITIAL, finish_decl(), fname_as_string(), length, NULL_TREE, size_int, strlen(), TREE_READONLY, TREE_STATIC, TREE_TYPE, TREE_USED, and TYPE_QUAL_CONST.
Referenced by c_init_decl_processing().
Definition at line 7019 of file c-decl.c.
Referenced by c_parser_for_statement(), and c_parser_omp_for_loop().
Definition at line 485 of file c-decl.c.
References BLOCK_SUBBLOCKS, BLOCK_VARS, DECL_NAME, IDENTIFIER_LIMBO_VALUE, and TREE_CHAIN.
Referenced by clear_limbo_values(), and poplevel().
| void clear_parm_order | ( | ) |
Definition at line 3438 of file c-decl.c.
References build(), build_index_type(), build_int_2, CONSTRUCTOR_ELTS, copy_node, error_mark_node, fold(), int_size_in_bytes(), integer_one_node, integer_type_node, layout_type(), NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_STRING_LENGTH, TREE_TYPE, and TYPE_DOMAIN.
Referenced by add_flexible_array_elts_to_size(), build_compound_literal(), c_finish_incomplete_decl(), cp_complete_array_type(), finish_decl(), maybe_deduce_size_from_array_init(), process_init_constructor(), and reparse_absdcl_as_casts().
| tree* current_scope_stmt_stack | ( | ) |
Definition at line 7191 of file c-decl.c.
Referenced by build_aggr_init(), build_vec_init(), check_initializer(), cp_gimplify_expr(), cxx_push_function_context(), expand_stmt(), initialize_local_var(), prep_stmt(), stmts_are_full_exprs_p(), and tsubst_expr().
| void declare_parm_level | ( | definition_flag | ) |
Definition at line 431 of file c-decl.c.
References current_binding_level.
Referenced by c_parser_parms_declarator(), common_type(), and start_function().
Definition at line 2324 of file c-decl.c.
References current_function_decl, DECL_CONTEXT, DECL_INITIAL, DECL_SOURCE_FILE, DECL_SOURCE_LINE, error_mark_node, IDENTIFIER_LABEL_VALUE, IDENTIFIER_POINTER, in_system_header, lookup_label(), lookup_name(), NULL_TREE, shadowed_labels, tree_cons, and warn_traditional.
Referenced by c_parser_label(), finish_label_stmt(), pop_label(), pop_label_level(), and poplevel().
Definition at line 882 of file c-decl.c.
References abort, build_function_type(), build_type_attribute_variant(), c_type_promotes_to(), char_type_node, common_type(), comptypes(), COPY_DECL_ASSEMBLER_NAME, COPY_DECL_RTL, Create_ST_For_Tree(), current_binding_level, debug_hooks, DECL_ABSTRACT_ORIGIN, DECL_ALIGN, DECL_ARGUMENTS, DECL_ATTRIBUTES, DECL_BUILT_IN, DECL_BUILT_IN_CLASS, DECL_BUILT_IN_NONANSI, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_FUNCTION_CODE, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_INLINE, DECL_MODE, DECL_NAME, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK, DECL_NUM_STMTS, DECL_ORIGIN, DECL_P, DECL_RESULT, DECL_RTL_SET_P, DECL_SAVED_INSNS, DECL_SAVED_TREE, DECL_SECTION_NAME, DECL_SIZE, DECL_SIZE_UNIT, DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_ST, DECL_ST2(), DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DECL_THREAD_LOCAL, DECL_UID, DECL_UNINLINABLE, DECL_USER_ALIGN, error(), error_mark_node, global_binding_level, in_system_header, layout_decl(), layout_type(), lookup_attribute(), make_decl_rtl(), make_var_volatile(), memcpy, merge_attributes(), gcc_target::merge_decl_attributes, merge_weak(), NOT_BUILT_IN, NULL, NULL_TREE, gcc_debug_hooks::outlining_inline_function, pedantic, redeclaration_error_message(), self_promoting_args_p(), targetm, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PUBLIC, TREE_READONLY, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_THIS_VOLATILE, TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_ACTUAL_ARG_TYPES, TYPE_ARG_TYPES, TYPE_ATTRIBUTES, TYPE_MAIN_VARIANT, TYPE_MODE, void_type_node, warn_redundant_decls, warn_shadow, warn_traditional, and WFE_Resolve_Duplicate_Decls().
Referenced by add_binding(), duplicate_decls(), grokfndecl(), push_overloaded_decl(), pushdecl(), pushdecl_maybe_friend(), regenerate_decl_from_template(), register_specialization(), start_decl(), and supplement_binding().
| void extract_interface_info | ( | ) |
Definition at line 7217 of file c-decl.c.
Referenced by cb_file_change(), expand_body(), pop_tinst_level(), process_next_inline(), and synthesize_method().
Definition at line 5338 of file c-decl.c.
References DECL_NAME, NULL, x, and is::y.
Referenced by finish_struct(), and finish_struct_1().
Definition at line 3040 of file c-decl.c.
Referenced by add_objc_decls(), build_module_descriptor(), build_selector_translation_table(), c_make_fname_decl(), c_parser_declaration_or_fndef(), declare_global_var(), define_decl(), emit_tinfo_decl(), ffecom_debug_kludge_(), ffecom_do_entry_(), ffecom_end_transition(), ffecom_finish_decl(), ffecom_finish_global_(), ffecom_init_0(), ffecom_make_gfrt_(), ffecom_make_tempvar(), ffecom_member_phase2_(), ffecom_sym_transform_(), ffecom_sym_transform_assign_(), ffecom_transform_common_(), ffecom_transform_equiv_(), ffecom_transform_namelist_(), ffecom_vardesc_(), ffecom_vardesc_array_(), ffecom_vardesc_dims_(), generate_category(), generate_classref_translation_entry(), generate_descriptor_table(), generate_dispatch_table(), generate_ivars_list(), generate_objc_symtab_decl(), generate_protocol_list(), generate_protocols(), generate_shared_structures(), generate_static_references(), generate_strings(), get_vtable_decl(), grokbitfield(), grokdeclarator(), grokfield(), instantiate_decl(), push_parm_decl(), pushdecl_top_level_1(), start_method(), and tsubst_expr().
Definition at line 5795 of file c-decl.c.
Referenced by c_parser_enum_specifier(), cp_parser_enum_specifier(), and tsubst_enum().
| void finish_function | ( | int | nested, | |
| int | can_defer_p | |||
| ) |
Definition at line 6682 of file c-decl.c.
References BLOCK_SUPERCONTEXT, c_expand_body(), c_expand_return(), C_FUNCTION_IMPLICIT_INT, cfun, current_function_decl, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, DECL_CONTEXT, DECL_INITIAL, DECL_INLINE, DECL_NAME, DECL_RESULT, DECL_SAVED_TREE, DEFAULT_MAIN_RETURN, extra_warnings, finish_fname_decls(), finish_stmt_tree(), flag_hosted, flag_isoc99, free_after_compilation(), free_after_parsing(), integer_type_node, integer_zero_node, MAIN_NAME_P, NULL, poplevel(), TREE_CODE, TREE_READONLY, TREE_TYPE, TYPE_MAIN_VARIANT, warn_main, warn_return_type, and warning.
Referenced by build_module_descriptor(), c_parser_declaration_or_fndef(), cp_parser_function_definition_after_declarator(), end_cleanup_fn(), ffecom_do_entry_(), ffecom_finish_progunit(), ffecom_gen_sfuncdef_(), finish_cdtor(), finish_method_def(), finish_objects(), finish_static_storage_duration_function(), instantiate_decl(), maybe_clone_body(), synthesize_method(), and use_thunk().
Definition at line 5361 of file c-decl.c.
Referenced by build_category_template(), build_class_template(), build_ivar_list_template(), build_ivar_template(), build_method_list_template(), build_method_prototype_list_template(), build_method_prototype_template(), build_method_template(), build_module_descriptor(), build_objc_symtab_template(), build_private_template(), build_protocol_template(), build_selector_template(), build_string_class_template(), build_super_template(), c_parser_struct_or_union_specifier(), continue_class(), cp_parser_class_specifier(), and finish_class_definition().
Definition at line 3507 of file c-decl.c.
References NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAX_VALUE, TYPE_SIZE, and x.
Referenced by finish_struct(), flexible_array_type_p(), and grokdeclarator().
| tree get_parm_info | ( | int | void_at_end | ) | [read] |
Definition at line 5032 of file c-decl.c.
Referenced by build_tmp_function_decl(), c_parser_parms_list_declarator(), continue_method_def(), and hack_method_prototype().
Definition at line 2367 of file c-decl.c.
Referenced by bison_rule_compstmt_(), c_objc_common_finish_file(), check_for_loop_decls(), end_java_method(), finish_for_cond(), finish_while_stmt_cond(), force_poplevels(), get_parm_info(), java_lang_expand_expr(), maybe_poplevels(), poplevel(), and store_parm_decls().
| tree gettags | ( | ) |
Definition at line 2375 of file c-decl.c.
References current_binding_level.
Referenced by check_for_loop_decls(), get_parm_info(), and store_parm_decls().
| int global_bindings_p | ( | void | ) |
Definition at line 401 of file c-decl.c.
Referenced by build_utf8_ref(), c_parser_declaration_or_fndef(), compile_resource_file(), cp_finish_file(), finish_file(), and instantiate_decl().
| static tree grokdeclarator | ( | tree | declarator, | |
| tree | declspecs, | |||
| enum decl_context decl_context | , | |||
| int | initialized | |||
| ) | [static] |
Definition at line 3567 of file c-decl.c.
References abort, arg_types, ATTR_FLAG_ARRAY_NEXT, ATTR_FLAG_DECL_NEXT, ATTR_FLAG_FUNCTION_NEXT, BITFIELD, bitsize_zero_node, build(), build_array_type(), build_complex_type(), build_decl, build_decl_attribute_variant(), build_function_type(), build_index_type(), build_pointer_type(), build_range_type(), c_apply_type_quals_to_decl(), c_build_qualified_type(), c_common_signed_type(), c_common_unsigned_type(), C_DECL_VARIABLE_SIZE, C_FUNCTION_IMPLICIT_INT, C_IS_RESERVED_WORD, c_mark_addressable(), C_RID_CODE, C_TYPE_FIELDS_VOLATILE, c_type_promotes_to(), C_TYPE_VARIABLE_SIZE, C_TYPEDEF_EXPLICITLY_SIGNED, chainon(), char_type_node, COMPLETE_OR_UNBOUND_ARRAY_TYPE_P, COMPLETE_TYPE_P, complex_double_type_node, complex_float_type_node, complex_integer_type_node, complex_long_double_type_node, constant_expression_warning(), convert(), current_binding_level, current_function_decl, DECL_ARG_TYPE, DECL_ARG_TYPE_AS_WRITTEN, DECL_ATTRIBUTES, decl_attributes(), DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_IN_SYSTEM_HEADER, DECL_INLINE, DECL_LANG_SPECIFIC, DECL_NONADDRESSABLE_P, DECL_REGISTER, DECL_THREAD_LOCAL, DEPRECATED_SUPPRESS, DID_INLINE_FUNC, double_type_node, error(), error_mark_node, extra_warnings, FIELD, flag_gen_aux_info, flag_inline_trees, flag_isoc99, flag_signed_bitfields, flexible_array_type_p(), float_type_node, fold(), FUNCDEF, ggc_alloc_cleared, global_binding_level, grokparms(), gcc_target::have_tls, i, IDENTIFIER_POINTER, in_system_header, index_type, int, integer_one_node, integer_type_node, integer_zerop(), INTEGRAL_TYPE_P, last_function_parm_tags, layout_type(), long_double_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, lookup_name(), MAIN_NAME_P, NORMAL, NULL_TREE, ok(), PARM, pedantic, pedwarn(), pedwarn_c99(), RID_AUTO, RID_CHAR, RID_COMPLEX, RID_CONST, RID_EXTERN, RID_INLINE, RID_INT, RID_LAST_MODIFIER, RID_LONG, RID_REGISTER, RID_RESTRICT, RID_SHORT, RID_SIGNED, RID_STATIC, RID_THREAD, RID_TYPEDEF, RID_UNSIGNED, RID_VOLATILE, ridpointers, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, size, size_one_node, size_zero_node, sizetype, split_specs_attrs(), STRIP_TYPE_NOPS, targetm, TREE_CHAIN, TREE_CODE, TREE_CONSTANT, TREE_DEPRECATED, tree_int_cst_sgn(), TREE_OPERAND, TREE_OVERFLOW, TREE_PUBLIC, TREE_PURPOSE, TREE_STATIC, TREE_TYPE, TREE_VALUE, TYPE_ALIGN, TYPE_CONTEXT, TYPE_DOMAIN, TYPE_MAIN_VARIANT, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, TYPE_QUALS, TYPE_READONLY, TYPE_RESTRICT, TYPE_SIZE, TYPE_SIZE_UNIT, TYPE_UNQUALIFIED, TYPE_VOLATILE, TYPENAME, unsigned_char_type_node, unsigned_type_node, variable_size(), VOID_TYPE_P, warn_deprecated_use(), warn_implicit_int, warn_long_long, warn_return_type, and warning.
Referenced by cp_parser_conversion_type_id(), cp_parser_exception_declaration(), cp_parser_explicit_instantiation(), cp_parser_objc_method_tail_params_opt(), cp_parser_objc_try_catch_finally_statement(), cp_parser_sizeof_operand(), cp_parser_template_parameter(), grokbitfield(), grokfield(), grokoptypename(), grokparm(), grokparms(), groktypename(), groktypename_in_parm_context(), process_template_parm(), push_parm_decl(), shadow_tag(), start_decl(), start_function(), start_handler_parms(), and start_method().
Definition at line 5273 of file c-decl.c.
References BITFIELD, DECL_INITIAL, FIELD, finish_decl(), flag_iso, flag_ms_extensions, flag_objc, grokdeclarator(), NULL, NULL_TREE, objc_check_decl(), TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_NAME, and warning.
Referenced by add_instance_variable(), build_category_template(), build_class_template(), build_ivar_list_template(), build_ivar_template(), build_method_list_template(), build_method_prototype_list_template(), build_method_prototype_template(), build_method_template(), build_module_descriptor(), build_protocol_template(), build_selector_template(), build_super_template(), c_parser_struct_declaration(), cp_parser_init_declarator(), cp_parser_member_declaration(), cp_parser_objc_class_ivars(), and implicitly_declare_fn().
Definition at line 4935 of file c-decl.c.
References COMPLETE_TYPE_P, DECL_NAME, error(), error_mark_node, IDENTIFIER_POINTER, in_system_header, last_function_parm_tags, last_function_parms, pedwarn(), TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, warn_strict_prototypes, and warning.
Referenced by grokdeclarator().
Definition at line 2822 of file c-decl.c.
References decl_attributes(), grokdeclarator(), specs, split_specs_attrs(), TREE_CODE, TREE_PURPOSE, TREE_VALUE, and TYPENAME.
Referenced by build_category_initializer(), build_new(), build_objc_method_call(), build_private_template(), build_protocol_initializer(), build_protocol_reference(), build_shared_structure_initializer(), build_super_template(), c_cast_expr(), c_expr_sizeof_type(), c_parser_alignof_expression(), c_parser_objc_type_name(), c_parser_postfix_expression(), c_parser_postfix_expression_after_paren_type(), c_parser_typeof_specifier(), comp_method_with_proto(), comp_proto_with_proto(), convert_template_argument(), cp_parser_new_type_id(), cp_parser_type_id(), generate_dispatch_tables(), generate_ivar_lists(), generate_method_descriptors(), generate_protocol_list(), generate_protocols(), generate_shared_structures(), grok_x_components(), hack_method_prototype(), and reparse_absdcl_as_casts().
Definition at line 2843 of file c-decl.c.
References grokdeclarator(), PARM, TREE_CODE, TREE_PURPOSE, and TREE_VALUE.
Referenced by get_arg_type_list().
| static GTY | ( | () | ) | [static] |
Definition at line 7255 of file c-decl.c.
Referenced by c_common_nodes_and_builtins(), expand_static_init(), grokdeclarator(), GTY(), handle_pragma_weak(), init_dynamic_asm_fprintf_info(), init_dynamic_diag_info(), init_dynamic_gfc_info(), solaris_pragma_align(), solaris_pragma_fini(), and solaris_pragma_init().
Definition at line 2161 of file c-decl.c.
References error(), IDENTIFIER_POINTER, mesg_implicit_function_declaration, and warning.
Referenced by build_external_ref(), and implicitly_declare().
| int in_parm_level_p | ( | ) |
Definition at line 440 of file c-decl.c.
References current_binding_level.
Referenced by finish_enum(), and finish_struct().
Definition at line 407 of file c-decl.c.
Referenced by begin_compound_stmt(), begin_function_body(), begin_global_stmt_expr(), begin_omp_parallel(), begin_stmt_expr(), c_begin_omp_parallel(), c_begin_stmt_expr(), and maybe_push_cleanup_level().
| static int kept_level_p | ( | void | ) |
Definition at line 5734 of file c-decl.c.
References layout_type(), TREE_CODE, and TREE_TYPE.
Referenced by finish_struct(), and layout_array_type().
Definition at line 2240 of file c-decl.c.
Referenced by build_java_jsr(), c_finish_goto_label(), define_label(), expand_byte_code(), expand_compare(), expand_java_goto(), finish_goto_stmt(), finish_label_address_expr(), note_label(), shadow_label(), and verify_jvm_instructions().
Definition at line 2512 of file c-decl.c.
Referenced by do_local_using_decl(), push_local_binding(), push_overloaded_decl(), pushdecl(), and start_function().
| static tree lookup_tag | ( | enum tree_code | code, | |
| tree | name, | |||
| struct binding_level * | binding_level, | |||
| int | thislevel_only | |||
| ) | [static] |
Definition at line 2411 of file c-decl.c.
References input_filename, binding_level::level_chain, lineno, NULL_TREE, pending_invalid_xref, pending_invalid_xref_file, pending_invalid_xref_line, pending_xref_error(), tail, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, and TREE_VALUE.
Referenced by parser_xref_tag(), shadow_tag_warned(), start_enum(), start_struct(), and xref_tag().
Definition at line 2473 of file c-decl.c.
References current_binding_level, binding_level::level_chain, NULL_TREE, tail, TREE_CHAIN, TREE_PURPOSE, and TREE_VALUE.
Referenced by grokdeclarator(), and shadow_tag_warned().
| static struct binding_level* make_binding_level | ( | void | ) | [static, read] |
Definition at line 372 of file c-decl.c.
References free_binding_level, ggc_alloc, binding_level::level_chain, and result.
Referenced by push_label_level(), pushlevel(), and pushlevel_class().
Definition at line 7296 of file c-decl.c.
References build1, NULL_TREE, split_specs_attrs(), and tree_cons.
Referenced by c_parser_declarator(), cp_parser_conversion_declarator_opt(), cp_parser_declarator(), cp_parser_new_declarator_opt(), finish_decl_parsing(), and tsubst().
| void parmlist_tags_warning | ( | ) |
Definition at line 5133 of file c-decl.c.
References current_binding_level, IDENTIFIER_POINTER, pedantic, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_VALUE, and warning.
Definition at line 2459 of file c-decl.c.
Referenced by c_parser_declaration_or_fndef(), c_parser_parameter_declaration(), c_parser_struct_declaration(), c_parser_type_name(), lookup_tag(), and shadow_tag_warned().
| static void pop_binding_level | ( | struct binding_level ** | lp | ) | [static] |
Definition at line 387 of file c-decl.c.
References free_binding_level, binding_level::level_chain, and memset.
Referenced by pop_label_level(), poplevel(), and poplevel_class().
| void pop_label_level | ( | ) |
Definition at line 777 of file c-decl.c.
References C_DECLARED_LABEL_FLAG, chainon(), DECL_NAME, DECL_SOURCE_LINE, define_label(), IDENTIFIER_LABEL_VALUE, input_filename, lineno, named_labels, binding_level::names, pop_binding_level(), prev, binding_level::shadowed, shadowed_labels, TREE_CHAIN, TREE_USED, TREE_VALUE, and warn_unused_label.
| tree poplevel | ( | int | keep, | |
| int | reverse, | |||
| int | functionbody | |||
| ) |
Definition at line 514 of file c-decl.c.
Referenced by bison_rule_compstmt_(), build_tmp_function_decl(), common_type(), compile_resource_file(), continue_method_def(), do_pending_defargs(), do_poplevel(), emit_register_classes(), end_java_method(), finish_cdtor(), finish_function(), finish_method(), finish_scope(), force_poplevels(), hack_method_prototype(), java_lang_expand_expr(), lhd_clear_binding_stack(), maybe_end_member_template_processing(), maybe_poplevels(), pop_everything(), and poplevel().
| void push_label_level | ( | ) |
Definition at line 759 of file c-decl.c.
References binding_level::level_chain, make_binding_level(), named_labels, binding_level::names, binding_level::shadowed, and shadowed_labels.
Definition at line 3327 of file c-decl.c.
Referenced by build_tmp_function_decl(), c_parser_parms_list_declarator(), ffecom_do_entry_(), ffecom_gen_sfuncdef_(), ffecom_push_dummy_decls_(), ffecom_start_progunit_(), and start_method_def().
Definition at line 1714 of file c-decl.c.
Referenced by build_anon_union_vars(), build_compound_literal(), build_enumerator(), build_module_descriptor(), build_utf8_ref(), builtin_function(), builtin_function_1(), c_init_decl_processing(), c_register_builtin_type(), compile_resource_file(), create_builtin_decl(), declare_global_var(), define_builtin(), do_friend(), do_namespace_alias(), ffecom_f2c_make_type_(), ffecom_init_0(), finish_anon_union(), finish_compound_literal(), finish_handler_parms(), finish_named_return_value(), grokdeclarator(), handle_class_ref(), implicitly_declare(), initialize_handler_parm(), java_init_decl_processing(), java_lang_expand_expr(), lookup_label(), maybe_push_decl(), process_template_parm(), push_class(), push_cp_library_fn(), push_inline_template_parms_recursive(), push_namespace(), push_namespace_with_attribs(), push_parm_decl(), push_promoted_type(), pushdecl_top_level(), pushdecl_with_scope(), pushtag(), record_builtin_type(), record_unknown_type(), start_cleanup_fn(), start_decl(), start_function(), start_method_def(), start_preparsed_function(), store_parm_decls(), store_parm_decls_oldstyle(), and synth_module_prologue().
Definition at line 2085 of file c-decl.c.
Referenced by build_class_ref(), build_class_reference_decl(), build_java_class_ref(), build_objc_string_decl(), build_protocol_reference(), build_selector_reference_decl(), java_lang_expand_expr(), make_temporary_var_for_ref_to_temp(), objc_add_static_instance(), push_class(), push_library_fn(), start_decl(), and tsubst_friend_class().
| void pushlevel | ( | int | tag_transparent | ) |
Definition at line 450 of file c-decl.c.
References clear_binding_level, current_binding_level, global_binding_level, binding_level::level_chain, make_binding_level(), named_labels, and NULL_BINDING_LEVEL.
Referenced by begin_scope(), bison_rule_pushlevel_(), build_tmp_function_decl(), c_init_decl_processing(), common_type(), compile_resource_file(), complete_start_java_method(), cxx_init_decl_processing(), do_pending_defargs(), do_pushlevel(), emit_register_classes(), ffecom_init_0(), java_init_decl_processing(), java_lang_expand_expr(), maybe_push_cleanup_level(), maybe_pushlevels(), push_inline_template_parms_recursive(), push_namespace(), start_cdtor(), start_function(), start_java_method(), start_method(), and start_method_def().
Definition at line 836 of file c-decl.c.
References b, build_decl, current_binding_level, DECL_CONTEXT, binding_level::level_chain, NULL_TREE, pushdecl(), tree_cons, TYPE_CONTEXT, TYPE_NAME, and TYPE_STUB_DECL.
Referenced by begin_class_definition(), instantiate_class_template(), lookup_template_class(), parser_xref_tag(), shadow_tag_warned(), start_enum(), start_struct(), and xref_tag().
Definition at line 7265 of file c-decl.c.
Referenced by c_common_nodes_and_builtins(), cxx_init_decl_processing(), GTY(), and record_builtin_java_type().
Definition at line 2178 of file c-decl.c.
References current_binding_level, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, NULL_TREE, TREE_ASM_WRITTEN, TREE_CODE, and TREE_PUBLIC.
Referenced by duplicate_decls().
Definition at line 2808 of file c-decl.c.
References error(), NULL_TREE, TREE_OPERAND, TREE_STATIC, and TREE_TYPE.
Definition at line 748 of file c-decl.c.
References BLOCK_SUBBLOCKS, BLOCK_VARS, chainon(), and current_binding_level.
Definition at line 6789 of file c-decl.c.
References DECL_P, NULL_TREE, SAVE_EXPR_CONTEXT, and TREE_CODE.
Referenced by c_expand_body().
Definition at line 2290 of file c-decl.c.
References dup(), error(), IDENTIFIER_LABEL_VALUE, IDENTIFIER_POINTER, lookup_label(), named_labels, NULL_TREE, shadowed_labels, TREE_CHAIN, tree_cons, and TREE_VALUE.
Referenced by lookup_label().
Definition at line 2688 of file c-decl.c.
References shadow_tag_warned().
Referenced by c_parser_declaration_or_fndef(), check_for_missing_semicolon(), cp_parser_simple_declaration(), cp_parser_single_declaration(), and start_function().
Definition at line 2695 of file c-decl.c.
References current_binding_level, error(), in_system_header, lookup_tag(), lookup_tag_reverse(), make_node, pedwarn(), pending_invalid_xref, pushtag(), specs, split_specs_attrs(), TREE_CHAIN, TREE_CODE, TREE_VALUE, and warning.
Referenced by c_parser_declaration_or_fndef(), c_parser_struct_declaration(), and shadow_tag().
Definition at line 2869 of file c-decl.c.
References C_DECL_VARIABLE_SIZE, COMPLETE_TYPE_P, current_binding_level, DECL_ATTRIBUTES, decl_attributes(), DECL_COMMON, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_INITIAL, DECL_NAME, DECL_RTL_SET_P, DECL_THREAD_LOCAL, DECL_UNINLINABLE, DEPRECATED_NORMAL, DEPRECATED_SUPPRESS, error(), error_mark_node, expand_decl(), flag_no_common, gen_aux_info_record(), global_binding_level, grokdeclarator(), IDENTIFIER_POINTER, lookup_attribute(), MAIN_NAME_P, maybe_apply_pragma_weak(), NORMAL, pushdecl(), pushdecl_top_level(), TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TYPE_ARG_TYPES, TYPE_SIZE, warn_main, and warning.
Referenced by add_objc_decls(), build_module_descriptor(), build_selector_translation_table(), c_parser_declaration_or_fndef(), cp_parser_condition(), cp_parser_init_declarator(), cp_parser_omp_for_loop(), define_decl(), ffecom_debug_kludge_(), ffecom_do_entry_(), ffecom_end_transition(), ffecom_finish_global_(), ffecom_init_0(), ffecom_make_gfrt_(), ffecom_make_tempvar(), ffecom_member_phase2_(), ffecom_start_decl(), ffecom_sym_transform_(), ffecom_sym_transform_assign_(), ffecom_transform_common_(), ffecom_transform_equiv_(), ffecom_transform_namelist_(), ffecom_vardesc_(), ffecom_vardesc_array_(), ffecom_vardesc_dims_(), finish_declarator(), generate_category(), generate_classref_translation_entry(), generate_descriptor_table(), generate_dispatch_table(), generate_ivars_list(), generate_objc_symtab_decl(), generate_protocol_list(), generate_protocols(), generate_shared_structures(), generate_static_references(), generate_strings(), and grokdeclarator().
Definition at line 5749 of file c-decl.c.
Referenced by c_parser_enum_specifier(), cp_parser_enum_specifier(), and lookup_template_class().
Definition at line 6006 of file c-decl.c.
References announce_function(), args, build_decl, build_function_type(), C_DECL_ANTICIPATED, c_promoting_integer_type_p(), char_type_node, COMPLETE_OR_VOID_TYPE_P, current_binding_level, current_function_decl, current_function_parm_tags, current_function_parms, current_function_prototype_file, current_function_prototype_line, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, DECL_ASSEMBLER_NAME, DECL_ATTRIBUTES, decl_attributes(), DECL_BUILT_IN, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_INITIAL, DECL_NAME, DECL_RESULT, DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_UNINLINABLE, declare_parm_level(), error(), error_mark_node, FUNCDEF, global_binding_level, grokdeclarator(), IDENTIFIER_IMPLICIT_DECL, immediate_size_expand, integer_type_node, last_function_parm_tags, last_function_parms, lookup_attribute(), lookup_name_current_level(), MAIN_NAME_P, make_decl_rtl(), maybe_apply_pragma_weak(), named_labels, NULL, NULL_TREE, pedwarn_c99(), pushdecl(), pushlevel(), shadowed_labels, start_fname_decls(), TREE_ADDRESSABLE, TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TREE_UNSIGNED, TREE_USED, TREE_VALUE, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, TYPE_PRECISION, unsigned_type_node, void_type_node, warn_main, warn_missing_declarations, warn_missing_prototypes, warn_strict_prototypes, and warning.
Referenced by begin_function_definition(), begin_parsing_inclass_inline(), build_module_descriptor(), c_parser_declaration_or_fndef(), cp_parser_function_definition_from_specifiers_and_declarator(), ffecom_do_entry_(), ffecom_gen_sfuncdef_(), ffecom_start_progunit_(), instantiate_decl(), maybe_clone_body(), really_start_method(), start_cdtor(), start_cleanup_fn(), start_objects(), synthesize_method(), and use_thunk().
Definition at line 5230 of file c-decl.c.
Referenced by build_category_template(), build_class_template(), build_ivar_list_template(), build_ivar_template(), build_method_list_template(), build_method_prototype_list_template(), build_method_prototype_template(), build_method_template(), build_module_descriptor(), build_objc_symtab_template(), build_private_template(), build_protocol_template(), build_selector_template(), build_super_template(), and c_parser_struct_or_union_specifier().
| int stmts_are_full_exprs_p | ( | void | ) |
Definition at line 7181 of file c-decl.c.
Referenced by add_stmt(), build_aggr_init(), build_vec_init(), check_initializer(), cp_gimplify_expr(), do_poplevel(), do_pushlevel(), emit_local_var(), expand_body(), expand_stmt(), finish_expr_stmt(), finish_function(), genrtl_expr_stmt_value(), initialize_local_var(), maybe_cleanup_point_expr(), and maybe_cleanup_point_expr_void().
Definition at line 6245 of file c-decl.c.
Referenced by build_module_descriptor(), c_parser_declaration_or_fndef(), continue_method_def(), ffecom_do_entry_(), ffecom_gen_sfuncdef_(), ffecom_start_progunit_(), start_cdtor(), start_function(), start_preparsed_function(), and store_parm_decls_from().
Definition at line 2385 of file c-decl.c.
References current_binding_level.
Referenced by get_parm_info(), and store_parm_decls().
Definition at line 2394 of file c-decl.c.
References current_binding_level.
Referenced by store_parm_decls().
Definition at line 1649 of file c-decl.c.
References chain_member(), current_binding_level, DECL_EXTERNAL, DECL_FROM_INLINE, DECL_NAME, DECL_SOURCE_LINE, error_mark_node, IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_POINTER, pedwarn(), shadow_warning(), TREE_CODE, and warn_shadow.
Referenced by grokparms(), pushdecl(), store_parm_decls_newstyle(), and store_parm_decls_oldstyle().
Definition at line 5179 of file c-decl.c.
Referenced by build_category_initializer(), build_category_template(), build_class_template(), build_dynamic_cast_1(), build_method_list_template(), build_method_prototype_template(), build_method_template(), build_module_descriptor(), build_objc_method_call(), build_protocol_initializer(), build_protocol_template(), build_shared_structure_initializer(), build_super_template(), build_tmp_function_decl(), continue_class(), cp_parser_class_head(), cp_parser_elaborated_type_specifier(), cxx_init_decl_processing(), emit_support_tinfos(), generate_dispatch_tables(), generate_ivar_lists(), generate_method_descriptors(), generate_protocol_list(), get_static_reference(), handle_class_head(), init_rtti_processing(), objc_declare_class(), start_method_def(), synth_module_prologue(), tinfo_base_init(), VEC(), and xref_tag_from_type().
tree current_function_parm_tags [static] |
tree current_function_parms [static] |
Definition at line 116 of file c-decl.c.
Referenced by start_function(), start_preparsed_function(), and store_parm_decls().
const char* current_function_prototype_file [static] |
int current_function_prototype_line [static] |
enum deprecated_states deprecated_state = DEPRECATED_NORMAL [static] |
tree enum_next_value [static] |
int enum_overflow [static] |
int keep_next_if_subblocks [static] |
int keep_next_level_flag [static] |
Definition at line 265 of file c-decl.c.
Referenced by begin_scope(), keep_next_level(), and push_scope().
tree last_function_parm_tags [static] |
Definition at line 110 of file c-decl.c.
Referenced by grokdeclarator(), grokparms(), and start_function().
tree last_function_parms [static] |
Definition at line 105 of file c-decl.c.
Referenced by check_explicit_specialization(), grokclassfn(), grokparms(), and start_function().
Definition at line 85 of file c-decl.c.
Referenced by lookup_tag(), pending_xref_error(), and shadow_tag_warned().
| const char* pending_invalid_xref_file |
1.5.6