#include "config.h"#include "system.h"#include "coretypes.h"#include "input.h"#include "tm.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 "opts.h"#include "timevar.h"#include "c-common.h"#include "c-pragma.h"#include "langhooks.h"#include "tree-mudflap.h"#include "tree-gimple.h"#include "diagnostic.h"#include "tree-dump.h"#include "cgraph.h"#include "hashtab.h"#include "libfuncs.h"#include "except.h"#include "langhooks-def.h"#include "pointer-set.h"#include "gt-c-decl.h"

Go to the source code of this file.
| #define DECL_EXTERN_INLINE | ( | DECL | ) |
Value:
(DECL_DECLARED_INLINE_P (DECL) \ && DECL_EXTERNAL (DECL))
Referenced by diagnose_mismatched_decls().
| #define END_OF_ARGLIST | ( | t | ) | ((t) == void_type_node) |
| #define I_LABEL_BINDING | ( | node | ) | (((struct lang_identifier *) IDENTIFIER_NODE_CHECK(node))->label_binding) |
| #define I_SYMBOL_BINDING | ( | node | ) | (((struct lang_identifier *) IDENTIFIER_NODE_CHECK(node))->symbol_binding) |
| #define I_TAG_BINDING | ( | node | ) | (((struct lang_identifier *) IDENTIFIER_NODE_CHECK(node))->tag_binding) |
Value:
do { \ struct c_scope *s_ = (scope); \ tree d_ = (decl); \ if (s_->list##_last) \ TREE_CHAIN (s_->list##_last) = d_; \ else \ s_->list = d_; \ s_->list##_last = d_; \ } while (0)
| #define SCOPE_LIST_CONCAT | ( | tscope, | |||
| to, | |||||
| fscope, | |||||
| from | ) |
Value:
do { \ struct c_scope *t_ = (tscope); \ struct c_scope *f_ = (fscope); \ if (t_->to##_last) \ TREE_CHAIN (t_->to##_last) = f_->from; \ else \ t_->to = f_->from; \ t_->to##_last = f_->from##_last; \ } while (0)
| enum decl_context |
| enum deprecated_states |
Definition at line 3105 of file c-decl.c.
References complete_array_type(), constructor_elt, CONSTRUCTOR_ELTS, DECL_SIZE, DECL_SIZE_UNIT, NULL_TREE, size_binop(), TREE_CODE, TREE_TYPE, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_SIZE, TYPE_SIZE_UNIT, VEC_empty, and VEC_last.
Referenced by finish_decl().
| static void bind | ( | tree | name, | |
| tree | decl, | |||
| struct c_scope * | scope, | |||
| bool | invisible, | |||
| bool | nested | |||
| ) | [static] |
Definition at line 486 of file c-decl.c.
References b, gcc_unreachable, GGC_NEW, I_LABEL_BINDING, I_SYMBOL_BINDING, I_TAG_BINDING, and TREE_CODE.
| struct c_declarator* build_array_declarator | ( | tree | expr, | |
| struct c_declspecs * | quals, | |||
| bool | static_p, | |||
| bool | vla_unspec_p | |||
| ) | [read] |
Definition at line 3039 of file c-decl.c.
References c_declarator::array, c_declspecs::attrs, cdk_array, current_scope(), c_declarator::declarator, error(), flag_isoc99, c_declarator::kind, NULL, NULL_TREE, parser_obstack, pedantic, pedwarn(), quals_from_declspecs(), c_declarator::u, warning, and XOBNEW.
| struct c_declarator* build_attrs_declarator | ( | tree | attrs, | |
| struct c_declarator * | target | |||
| ) | [read] |
Definition at line 7122 of file c-decl.c.
References c_declarator::attrs, cdk_attrs, c_declarator::declarator, c_declarator::kind, parser_obstack, ret, c_declarator::u, and XOBNEW.
| struct c_parm* build_c_parm | ( | struct c_declspecs * | specs, | |
| tree | attrs, | |||
| struct c_declarator * | declarator | |||
| ) | [read] |
Definition at line 7107 of file c-decl.c.
References c_parm::attrs, c_parm::declarator, parser_obstack, ret, c_parm::specs, and XOBNEW.
Definition at line 7941 of file c-decl.c.
References append_to_statement_list(), build_function_call(), cgraph_build_static_cdtor(), DEFAULT_INIT_PRIORITY, TREE_CHAIN, and TREE_VALUE.
Definition at line 3690 of file c-decl.c.
References abort, ASM_FORMAT_PRIVATE_NAME, build1, build_decl, build_stmt(), complete_array_type(), COMPLETE_TYPE_P, current_binding_level, current_function_decl, current_scope(), DECL_ARTIFICIAL, DECL_COMDAT, DECL_CONTEXT, DECL_DEFER_OUTPUT, DECL_EXTERNAL, DECL_IGNORED_P, DECL_INITIAL, DECL_NAME, error_mark_node, failure, gcc_assert, get_identifier(), global_binding_level, layout_decl(), NULL, NULL_TREE, pushdecl(), rest_of_decl_compilation(), set_compound_literal_name(), store_init_value(), TREE_CODE, TREE_PUBLIC, TREE_READONLY, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_TYPE, TREE_USED, TYPE_READONLY, and var_labelno.
Definition at line 5915 of file c-decl.c.
References build_binary_op(), build_decl, c_common_type_for_size(), constant_expression_warning(), convert(), DECL_INITIAL, default_conversion(), enum_next_value, enum_overflow, error(), error_mark_node, IDENTIFIER_POINTER, int_fits_type_p(), integer_one_node, integer_type_node, INTEGRAL_TYPE_P, MAX, NULL_TREE, pedantic, pedwarn(), pushdecl(), STRIP_TYPE_NOPS, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_TYPE, TREE_UNSIGNED, TYPE_PRECISION, and TYPE_UNSIGNED.
| struct c_declarator* build_function_declarator | ( | struct c_arg_info * | args, | |
| struct c_declarator * | target | |||
| ) | [read] |
Definition at line 7135 of file c-decl.c.
References c_declarator::arg_info, cdk_function, c_declarator::declarator, c_declarator::kind, parser_obstack, ret, c_declarator::u, and XOBNEW.
| struct c_declarator* build_id_declarator | ( | tree | ident | ) | [read] |
Definition at line 7149 of file c-decl.c.
References cdk_id, c_declarator::declarator, c_declarator::id, c_declarator::id_loc, input_location, c_declarator::kind, parser_obstack, ret, c_declarator::u, and XOBNEW.
| struct c_declspecs* build_null_declspecs | ( | void | ) | [read] |
Definition at line 7190 of file c-decl.c.
References c_declspecs::attrs, c_declspecs::complex_p, c_declspecs::const_p, csc_none, cts_none, c_declspecs::decl_attr, c_declspecs::declspecs_seen_p, c_declspecs::default_int_p, c_declspecs::deprecated_p, c_declspecs::explicit_signed_p, c_declspecs::inline_p, c_declspecs::long_long_p, c_declspecs::long_p, c_declspecs::non_sc_seen_p, parser_obstack, c_declspecs::restrict_p, ret, c_declspecs::short_p, c_declspecs::signed_p, c_declspecs::storage_class, c_declspecs::tag_defined_p, c_declspecs::thread_p, c_declspecs::type, c_declspecs::type_seen_p, c_declspecs::typedef_p, c_declspecs::typespec_word, c_declspecs::unsigned_p, c_declspecs::volatile_p, and XOBNEW.
Definition at line 7098 of file c-decl.c.
References build_tree_list, NULL_TREE, and void_type_node.
| tree builtin_function | ( | const char * | name, | |
| tree | type, | |||
| int | function_code, | |||
| enum built_in_class | cl, | |||
| const char * | library_name, | |||
| tree | attrs | |||
| ) |
Definition at line 2825 of file c-decl.c.
References ATTR_FLAG_BUILT_IN, bind(), build_decl, 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, SET_DECL_ASSEMBLER_NAME, TREE_CHAIN, TREE_PUBLIC, and TYPE_ARG_TYPES.
Definition at line 6878 of file c-decl.c.
References gcc_target::asm_out, gcc_target::asm_out::constructor, DECL_INITIAL, DECL_RTL, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DEFAULT_INIT_PRIORITY, gcc_target::asm_out::destructor, error_mark_node, gcc_target::have_ctors_dtors, targetm, tree_rest_of_compilation(), and XEXP.
Definition at line 562 of file c-decl.c.
References complete_array_type(), DECL_EXTERNAL, error_mark_node, layout_decl(), NULL_TREE, TREE_CODE, TREE_TYPE, TYPE_DOMAIN, and warning.
Definition at line 6695 of file c-decl.c.
References c_warn_unused_result(), cgraph_node(), DECL_SAVED_TREE, diagnose_omp_structured_block_errors(), and flag_openmp.
Referenced by finish_function().
Definition at line 2717 of file c-decl.c.
References BOOL_TYPE_SIZE, boolean_false_node, boolean_true_node, boolean_type_node, build_common_tree_nodes(), build_decl, build_function_type(), build_int_2, BUILTINS_LOCATION, c_bool_false_node, c_bool_true_node, c_bool_type_node, c_common_nodes_and_builtins(), c_make_fname_decl(), c_parse_init(), current_binding_level, current_function_decl, current_scope(), flag_signed_char, free_binding_level, gcc_obstack_init, get_identifier(), global_binding_level, input_location, integer_one_node, integer_type_node, integer_zero_node, make_fname_decl, make_unsigned_type(), named_labels, NULL, NULL_BINDING_LEVEL, NULL_TREE, parser_obstack, pedantic, pedantic_lvalues, ptr_type_node, push_scope(), pushdecl(), pushlevel(), start_fname_decls(), tree_cons, TREE_SET_CODE, TREE_TYPE, truthvalue_false_node, truthvalue_true_node, truthvalue_type_node, TYPE_MAX_VALUE, TYPE_PRECISION, and void_list_node.
Definition at line 2771 of file c-decl.c.
References bind(), build_array_type(), build_decl, build_index_type(), build_string(), c_build_qualified_type(), char_type_node, current_function_decl, DECL_ARTIFICIAL, DECL_CONTEXT, DECL_INITIAL, errorcount, finish_decl(), fname_as_string(), free(), length, NULL_TREE, size_int, strlen(), TREE_READONLY, TREE_STATIC, TREE_TYPE, TREE_USED, and TYPE_QUAL_CONST.
Definition at line 3322 of file c-decl.c.
References c_eh_initialized_p, default_init_unwind_resume_libfunc(), eh_personality_libfunc, flag_exceptions, init_one_libfunc(), using_eh_for_cleanups(), and USING_SJLJ_EXCEPTIONS.
Referenced by c_parser_omp_construct(), and finish_decl().
Definition at line 6998 of file c-decl.c.
References c_break_label, c_cont_label, c_switch_stack, current_binding_level, current_function_decl, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, DECL_ARGUMENTS, DECL_INITIAL, DECL_NAME, DECL_SAVED_INSNS, DECL_SAVED_TREE, DECL_STRUCT_FUNCTION, error_mark_node, IDENTIFIER_LABEL_VALUE, named_labels, NULL, NULL_TREE, p, shadowed_labels, TREE_CHAIN, and TREE_VALUE.
Definition at line 468 of file c-decl.c.
References C_IS_RESERVED_WORD, C_RID_CODE, fprintf(), HOST_PTR_PRINTF, IDENTIFIER_ERROR_LOCUS, IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_IMPLICIT_DECL, IDENTIFIER_LABEL_VALUE, IDENTIFIER_LIMBO_VALUE, IDENTIFIER_LOCAL_VALUE, IDENTIFIER_POINTER, indent_to(), print_node(), and ridpointers.
Definition at line 6977 of file c-decl.c.
References c_break_label, c_cont_label, c_switch_stack, current_binding_level, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, ggc_alloc, GGC_NEW, named_labels, p, and shadowed_labels.
Definition at line 7960 of file c-decl.c.
References C_DECL_USED, check_global_declaration_1(), DECL_EXTERNAL, DECL_INITIAL, DECL_IS_BUILTIN, pedwarn(), TREE_CHAIN, TREE_CODE, TREE_NO_WARNING, TREE_PUBLIC, wrapup_global_declaration_1(), and wrapup_global_declaration_2().
Definition at line 8008 of file c-decl.c.
References debug_hooks, gcc_debug_hooks::global_decl, and TREE_CHAIN.
| static void check_bitfield_type_and_width | ( | tree * | type, | |
| tree * | width, | |||
| const char * | orig_name | |||
| ) | [static] |
Definition at line 3782 of file c-decl.c.
References _, boolean_type_node, build_int_cst(), CHAR_TYPE_SIZE, compare_tree_int(), constant_expression_warning(), error(), HOST_WIDE_INT, in_system_header, integer_one_node, integer_type_node, integer_zerop(), INTEGRAL_TYPE_P, lt, min_precision(), NULL_TREE, pedantic, pedwarn(), TREE_CODE, tree_int_cst_sgn(), tree_low_cst(), TREE_TYPE, TYPE_LANG_SPECIFIC, TYPE_MAIN_VARIANT, TYPE_PRECISION, TYPE_UNSIGNED, unsigned_type_node, and warning.
Definition at line 6901 of file c-decl.c.
References b, current_scope(), DECL_EXTERNAL, DECL_NAME, error(), flag_isoc99, getdecls(), gettags(), IDENTIFIER_POINTER, NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_STATIC, and TREE_VALUE.
Definition at line 2010 of file c-decl.c.
References build_variant_type_copy(), DECL_IS_BUILTIN, DECL_ORIGINAL_TYPE, error_mark_node, NULL_TREE, TREE_TYPE, TREE_USED, and TYPE_NAME.
Definition at line 2531 of file c-decl.c.
References b, B_IN_CURRENT_SCOPE, bind(), C_DECLARED_LABEL_FLAG, current_scope(), error(), I_LABEL_BINDING, IDENTIFIER_POINTER, input_location, locate_old_decl(), and make_label().
| struct c_declspecs* declspecs_add_attrs | ( | struct c_declspecs * | specs, | |
| tree | attrs | |||
| ) | [read] |
Definition at line 7722 of file c-decl.c.
References c_declspecs::attrs, chainon(), and c_declspecs::declspecs_seen_p.
| struct c_declspecs* declspecs_add_qual | ( | struct c_declspecs * | specs, | |
| tree | qual | |||
| ) | [read] |
Definition at line 7224 of file c-decl.c.
References C_IS_RESERVED_WORD, C_RID_CODE, c_declspecs::const_p, c_declspecs::declspecs_seen_p, flag_isoc99, gcc_assert, gcc_unreachable, i, IDENTIFIER_POINTER, c_declspecs::non_sc_seen_p, pedantic, pedwarn(), c_declspecs::restrict_p, RID_CONST, RID_RESTRICT, RID_VOLATILE, TREE_CODE, and c_declspecs::volatile_p.
| struct c_declspecs* declspecs_add_scspec | ( | struct c_declspecs * | specs, | |
| tree | scspec | |||
| ) | [read] |
Definition at line 7639 of file c-decl.c.
References C_IS_RESERVED_WORD, C_RID_CODE, csc_auto, csc_extern, csc_none, csc_register, csc_static, csc_typedef, c_declspecs::declspecs_seen_p, error(), extra_warnings, gcc_assert, gcc_unreachable, i, IDENTIFIER_POINTER, c_declspecs::inline_p, n, c_declspecs::non_sc_seen_p, RID_AUTO, RID_EXTERN, RID_INLINE, RID_REGISTER, RID_STATIC, RID_THREAD, RID_TYPEDEF, c_declspecs::storage_class, c_declspecs::thread_p, TREE_CODE, and warning.
| struct c_declspecs* declspecs_add_type | ( | struct c_declspecs * | specs, | |
| struct c_typespec | spec | |||
| ) | [read] |
Definition at line 7259 of file c-decl.c.
References C_IS_RESERVED_WORD, C_RID_CODE, C_TYPEDEF_EXPLICITLY_SIGNED, c_declspecs::complex_p, cts_bool, cts_char, cts_dfloat128, cts_dfloat32, cts_dfloat64, cts_double, cts_float, cts_int, cts_none, cts_void, ctsk_tagdef, ctsk_tagfirstref, ctsk_typeof, gcc_target::decimal_float_supported_p, c_declspecs::decl_attr, DECL_ATTRIBUTES, c_declspecs::declspecs_seen_p, c_declspecs::deprecated_p, error(), error_mark_node, c_declspecs::explicit_signed_p, flag_isoc99, gcc_unreachable, i, IDENTIFIER_POINTER, in_system_header, c_typespec::kind, c_declspecs::long_long_p, c_declspecs::long_p, lookup_name(), c_declspecs::non_sc_seen_p, pedantic, pedwarn(), RID_BOOL, RID_CHAR, RID_COMPLEX, RID_DFLOAT128, RID_DFLOAT32, RID_DFLOAT64, RID_DOUBLE, RID_FLOAT, RID_INT, RID_LAST_MODIFIER, RID_LONG, RID_SHORT, RID_SIGNED, RID_UNSIGNED, RID_VOID, c_declspecs::short_p, c_declspecs::signed_p, c_typespec::spec, str, c_declspecs::tag_defined_p, targetm, TREE_CODE, TREE_DEPRECATED, TREE_TYPE, c_declspecs::type, c_declspecs::type_seen_p, c_declspecs::typedef_p, c_declspecs::typespec_word, c_declspecs::unsigned_p, and warn_long_long.
| tree define_label | ( | location_t | location, | |
| tree | name | |||
| ) |
Definition at line 2561 of file c-decl.c.
References bind(), C_DECL_UNDEFINABLE_STMT_EXPR, C_DECL_UNDEFINABLE_VM, C_DECLARED_LABEL_FLAG, current_function_decl, DECL_CONTEXT, DECL_INITIAL, DECL_SOURCE_LOCATION, error(), error_mark_node, I_LABEL_DECL, 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_name(), make_label(), c_label_list::next, parser_obstack, warning, and XOBNEW.
Definition at line 5383 of file c-decl.c.
References DECL_NAME, error(), htab_create(), htab_delete(), htab_eq_pointer, htab_find_slot(), htab_hash_pointer, INSERT, NULL, NULL_TREE, TREE_CHAIN, x, and is::y.
| static void diagnose_arglist_conflict | ( | tree | newdecl, | |
| tree | olddecl, | |||
| tree | newtype, | |||
| tree | oldtype | |||
| ) | [static] |
Definition at line 1036 of file c-decl.c.
References c_type_promotes_to(), comptypes(), DECL_INITIAL, inform(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, and void_type_node.
| static bool diagnose_mismatched_decls | ( | tree | newdecl, | |
| tree | olddecl, | |||
| tree * | newtypep, | |||
| tree * | oldtypep | |||
| ) | [static] |
Definition at line 1165 of file c-decl.c.
References C_DECL_DECLARED_BUILTIN, C_DECL_IMPLICIT, C_DECL_THREADPRIVATE_P, C_FUNCTION_IMPLICIT_INT, CODE_CONTAINS_STRUCT, comptypes(), DECL_ATTRIBUTES, DECL_BUILT_IN, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERN_INLINE, DECL_EXTERNAL, DECL_FILE_SCOPE_P, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_IS_BUILTIN, DECL_THREAD_LOCAL_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, diagnose_arglist_conflict(), error(), error_mark_node, integer_type_node, locate_old_decl(), lookup_attribute(), match_builtin_function_types(), pedwarn(), same_translation_unit_p(), TREE_ASM_WRITTEN, TREE_CODE, TREE_PUBLIC, TREE_THIS_VOLATILE, TREE_TYPE, TREE_USED, TYPE_ACTUAL_ARG_TYPES, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, TYPE_QUALS, validate_proto_after_old_defn(), void_type_node, warn_redundant_decls, warn_traditional, warning, and warning0().
Definition at line 1899 of file c-decl.c.
References diagnose_mismatched_decls(), merge_decls(), NULL, and TREE_NO_WARNING.
Definition at line 3342 of file c-decl.c.
References add_flexible_array_elts_to_size(), add_stmt(), B_IN_EXTERNAL_SCOPE, bind(), BIND_EXPR_BODY, build3, build_function_call(), build_stmt(), build_tree_list, build_unary_op(), BUILT_IN_NORMAL, C_DECL_REGISTER, c_determine_visibility(), c_dialect_objc, c_maybe_initialize_eh(), cleanup(), complete_array_type(), COMPLETE_TYPE_P, composite_type(), constant_expression_warning(), cur_stmt_list, current_scope(), DECL_ATTRIBUTES, DECL_BUILT_IN_CLASS, DECL_DEFER_OUTPUT, DECL_EXTERNAL, DECL_FILE_SCOPE_P, DECL_HARD_REGISTER, DECL_INITIAL, DECL_NAME, DECL_REGISTER, DECL_SIZE, error(), error_mark_node, failure, gcc_unreachable, get_pending_sizes(), I_SYMBOL_BINDING, layout_decl(), lookup_attribute(), lookup_name(), mark_decl_referenced(), maybe_apply_pragma_weak(), maybe_apply_renaming_pragma(), NULL, NULL_TREE, objc_check_decl(), pedantic, push_cleanup(), push_stmt_list(), rest_of_decl_compilation(), set_builtin_user_assembler_name(), set_user_assembler_name(), STATEMENT_LIST_HAS_LABEL, store_init_value(), TREE_ADDRESSABLE, TREE_CODE, TREE_CONSTANT, TREE_PUBLIC, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_STRING_POINTER, TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_DOMAIN, variably_modified_type_p(), void_type_node, and warning.
| struct c_declspecs* finish_declspecs | ( | struct c_declspecs * | specs | ) | [read] |
Definition at line 7736 of file c-decl.c.
References boolean_type_node, build_complex_type(), char_type_node, complex_double_type_node, complex_float_type_node, complex_long_double_type_node, c_declspecs::complex_p, cts_bool, cts_char, cts_dfloat128, cts_dfloat32, cts_dfloat64, cts_double, cts_float, cts_int, cts_none, cts_void, c_declspecs::default_int_p, dfloat128_type_node, dfloat32_type_node, dfloat64_type_node, double_type_node, error(), c_declspecs::explicit_signed_p, FALSE, float_type_node, gcc_assert, gcc_unreachable, integer_type_node, long_double_type_node, long_integer_type_node, long_long_integer_type_node, c_declspecs::long_long_p, long_long_unsigned_type_node, c_declspecs::long_p, long_unsigned_type_node, NULL_TREE, pedantic, pedwarn(), short_integer_type_node, c_declspecs::short_p, short_unsigned_type_node, signed_char_type_node, c_declspecs::signed_p, TRUE, c_declspecs::type, TYPE_MAIN_VARIANT, c_declspecs::typespec_word, unsigned_char_type_node, c_declspecs::unsigned_p, unsigned_type_node, void_type_node, and warning.
Definition at line 5763 of file c-decl.c.
References ATTR_FLAG_TYPE_IN_PLACE, c_common_type_for_size(), convert(), current_binding_level, current_scope(), DECL_ALIGN, decl_attributes(), DECL_INITIAL, DECL_MODE, DECL_NAME, DECL_SIZE, DECL_SIZE_UNIT, DECL_USER_ALIGN, error(), error_mark_node, GGC_CNEW, global_binding_level, in_parm_level_p(), int_fits_type_p(), integer_type_node, integer_zero_node, layout_type(), long_long_integer_type_node, lt, MAX, min_precision(), NULL, rest_of_type_compilation(), TREE_CHAIN, tree_int_cst_lt(), tree_int_cst_sgn(), TREE_PURPOSE, TREE_TYPE, TREE_UNSIGNED, TREE_VALUE, TRUE, TYPE_ALIGN, TYPE_LANG_SPECIFIC, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_NEXT_VARIANT, TYPE_PACKED, TYPE_PRECISION, TYPE_SIZE, TYPE_SIZE_UNIT, TYPE_UNSIGNED, TYPE_USER_ALIGN, TYPE_VALUES, unsigned_type_node, and warning.
Definition at line 6719 of file c-decl.c.
References annotate_with_file_line(), args, BLOCK_SUPERCONTEXT, BUILTINS_LOCATION, c_determine_visibility(), c_expand_body(), c_finish_return(), C_FUNCTION_IMPLICIT_INT, c_genericize(), c_gimple_diagnostics_recursively(), c_warn_unused_result_recursively(), gcc_target::calls, cfun, cgraph_finalize_function(), cgraph_global_info_ready, cgraph_node(), current_function_decl, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, DECL_ARG_TYPE, DECL_ARGUMENTS, DECL_CONTEXT, decl_function_context(), DECL_INITIAL, DECL_INLINE, DECL_NAME, DECL_RESULT, DECL_SAVED_TREE, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, error(), error_mark_node, extra_warnings, finish_fname_decls(), flag_hosted, flag_isoc99, gcc_target::have_ctors_dtors, input_filename, input_location, integer_type_node, integer_zero_node, INTEGRAL_TYPE_P, label_context_stack_se, label_context_stack_vm, MAIN_NAME_P, c_label_context_se::next, c_label_context_vm::next, NULL, NULL_TREE, pedwarn(), pop_stmt_list(), gcc_target::calls::promote_prototypes, SET_EXPR_LOCATION, targetm, TREE_CHAIN, TREE_CODE, tree_cons, TREE_NO_WARNING, TREE_TYPE, TYPE_MAIN_VARIANT, TYPE_PRECISION, void, warn_main, warn_return_type, and warning.
Definition at line 5441 of file c-decl.c.
References _, add_stmt(), ATTR_FLAG_TYPE_IN_PLACE, BITS_PER_UNIT, bitsize_int, build_decl, build_stmt(), c_bool_type_node, c_build_bitfield_integer_type(), C_DECL_VARIABLE_SIZE, c_dialect_objc, C_TYPE_FIELDS_READONLY, C_TYPE_FIELDS_VOLATILE, C_TYPE_INCOMPLETE_VARS, C_TYPE_VARIABLE_SIZE, CHAR_TYPE_SIZE, compare_tree_int(), COMPLETE_TYPE_P, constant_expression_warning(), cur_stmt_list, current_binding_level, current_scope(), DECL_ALIGN, decl_attributes(), DECL_BIT_FIELD, DECL_CONTEXT, DECL_INITIAL, DECL_MODE, DECL_NAME, DECL_PACKED, DECL_SIZE, DECL_USER_ALIGN, detect_field_duplicates(), element, EMPTY_FIELD_BOUNDARY, error(), error_mark_node, expand_decl(), field_decl_cmp(), flag_objc, flexible_array_type_p(), ggc_alloc, GGC_CNEW, GGC_NEWVAR, global_binding_level, HOST_WIDE_INT, IDENTIFIER_POINTER, in_parm_level_p(), in_system_header, integer_type_node, integer_zerop(), layout_array_type(), layout_decl(), layout_type(), len, list_length(), MAX, min_precision(), gcc_target::ms_bitfield_layout_p, NULL, NULL_TREE, objc_check_decl(), PCC_BITFIELD_TYPE_MATTERS, pedantic, pedwarn(), prev, qsort(), rest_of_decl_compilation(), rest_of_type_compilation(), SET_DECL_C_BIT_FIELD, STRIP_NOPS, t1, targetm, TREE_CHAIN, TREE_CODE, tree_int_cst_sgn(), tree_low_cst(), TREE_READONLY, TREE_THIS_VOLATILE, TREE_TYPE, TREE_UNSIGNED, TREE_VALUE, TYPE_ALIGN, TYPE_DOMAIN, TYPE_FIELDS, TYPE_LANG_SPECIFIC, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_NAME, TYPE_NEXT_VARIANT, TYPE_PACKED, TYPE_PRECISION, TYPE_SIZE, TYPE_TRANSPARENT_UNION, TYPE_UNSIGNED, TYPE_USER_ALIGN, unsigned_type_node, variably_modified_type_p(), warning, x, and is::y.
Definition at line 3750 of file c-decl.c.
References flexible_array_type_p(), NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAX_VALUE, TYPE_SIZE, and x.
| struct c_arg_info* get_parm_info | ( | bool | ellipsis | ) | [read] |
Definition at line 5022 of file c-decl.c.
References b, C_DECL_REGISTER, chainon(), current_binding_level, current_scope(), DECL_ARG_TYPE, DECL_NAME, DECL_REGISTER, error(), free_binding_and_advance(), gcc_assert, gcc_unreachable, get_pending_sizes(), getdecls(), gettags(), c_arg_info::had_vla_unspec, I_SYMBOL_BINDING, I_TAG_BINDING, integer_type_node, INTEGRAL_TYPE_P, next, nreverse(), NULL_TREE, order, c_arg_info::others, c_arg_info::parms, parser_obstack, c_arg_info::pending_sizes, PROMOTE_PROTOTYPES, storedecls(), tag, c_arg_info::tags, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, tree_cons, TREE_READONLY, TREE_THIS_VOLATILE, TREE_TYPE, TREE_VALUE, TYPE_PRECISION, c_arg_info::types, types, void_list_node, void_type_node, VOID_TYPE_P, warning, and XOBNEW.
| int global_bindings_p | ( | void | ) |
Definition at line 614 of file c-decl.c.
References c_override_global_bindings_to_false, and current_scope().
| static tree grokdeclarator | ( | const struct c_declarator * | declarator, | |
| struct c_declspecs * | declspecs, | |||
| enum decl_context | decl_context, | |||
| bool | initialized, | |||
| tree * | width | |||
| ) | [static] |
Definition at line 3884 of file c-decl.c.
References c_declarator::arg_info, arg_types, c_declarator::array, ATTR_FLAG_ARRAY_NEXT, ATTR_FLAG_DECL_NEXT, ATTR_FLAG_FUNCTION_NEXT, c_declarator::attrs, bitsize_zero_node, build_array_type(), build_decl, build_decl_attribute_variant(), build_distinct_type_copy(), 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_REGISTER, C_DECL_VARIABLE_SIZE, C_FUNCTION_IMPLICIT_INT, c_mark_addressable(), C_TYPE_FIELDS_VOLATILE, c_type_promotes_to(), C_TYPE_VARIABLE_SIZE, C_TYPEDEF_EXPLICITLY_SIGNED, cdk_array, cdk_attrs, cdk_function, cdk_id, cdk_pointer, chainon(), check_bitfield_type_and_width(), COMPLETE_OR_UNBOUND_ARRAY_TYPE_P, COMPLETE_TYPE_P, c_declspecs::const_p, constant_expression_warning(), convert(), csc_auto, csc_extern, csc_none, csc_register, csc_static, csc_typedef, current_scope(), DECL_ARG_TYPE, DECL_ARTIFICIAL, DECL_ASSEMBLER_NAME_SET_P, c_declspecs::decl_attr, decl_attributes(), DECL_DECLARED_INLINE_P, decl_default_tls_model(), DECL_EXTERNAL, DECL_IN_SYSTEM_HEADER, DECL_INLINE, DECL_LANG_SPECIFIC, DECL_NONADDRESSABLE_P, DECL_REGISTER, DECL_SOURCE_LOCATION, DECL_TLS_MODEL, c_declarator::declarator, c_declspecs::default_int_p, c_declspecs::deprecated_p, deprecated_state, DEPRECATED_SUPPRESS, error(), error_mark_node, c_declspecs::explicit_signed_p, FIELD, finish_decl(), flag_gen_aux_info, flag_hosted, flag_inline_trees, flag_isoc99, flag_signed_bitfields, flexible_array_type_p(), fold_build2, FUNCDEF, gcc_assert, gcc_unreachable, GGC_CNEW, grokparms(), gcc_target::have_tls, c_declarator::id, c_declarator::id_loc, identifier_global_value(), IDENTIFIER_POINTER, in_system_header, index_type, c_declspecs::inline_p, int, integer_one_node, integer_type_node, integer_zerop(), INTEGRAL_TYPE_P, c_declarator::kind, lookup_name(), MAIN_NAME_P, NORMAL, NULL, NULL_TREE, PARM, pedantic, pedwarn(), pedwarn_c99(), c_arg_info::pending_sizes, c_declarator::pointer_quals, pushdecl(), put_pending_sizes(), c_declspecs::restrict_p, size, size_one_node, size_zero_node, sizetype, c_declspecs::storage_class, strip_array_types(), STRIP_TYPE_NOPS, c_arg_info::tags, targetm, c_declspecs::thread_p, TREE_CHAIN, TREE_CODE, TREE_CONSTANT, tree_int_cst_sgn(), TREE_OVERFLOW, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TREE_VALUE, c_declspecs::type, TYPE_CONTEXT, TYPE_MAIN_VARIANT, TYPE_NAME, 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, c_declarator::u, variable_size(), variably_modified_type_p(), VOID_TYPE_P, c_declspecs::volatile_p, warn_deprecated_use(), warn_implicit_int, warn_return_type, and warning.
| tree grokfield | ( | struct c_declarator * | declarator, | |
| struct c_declspecs * | declspecs, | |||
| tree | width | |||
| ) |
Definition at line 5317 of file c-decl.c.
References cdk_id, DECL_INITIAL, FIELD, finish_decl(), flag_iso, flag_ms_extensions, grokdeclarator(), c_declarator::id, c_declarator::kind, NULL, NULL_TREE, ok(), pedantic, pedwarn(), TREE_CODE, c_declspecs::type, TYPE_NAME, c_declspecs::typedef_p, and c_declarator::u.
Definition at line 3639 of file c-decl.c.
References c_parm::attrs, decl_attributes(), c_parm::declarator, grokdeclarator(), NULL, PARM, and c_parm::specs.
| static tree grokparms | ( | struct c_arg_info * | arg_info, | |
| bool | funcdef_flag | |||
| ) | [static] |
Definition at line 4932 of file c-decl.c.
References arg_types, COMPLETE_TYPE_P, DECL_NAME, error(), error_mark_node, c_arg_info::had_vla_unspec, in_system_header, c_arg_info::parms, pedwarn(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_USED, TREE_VALUE, c_arg_info::types, VOID_TYPE_P, warn_if_shadowing(), and warning.
| tree groktypename | ( | struct c_type_name * | type_name | ) |
Definition at line 3130 of file c-decl.c.
References c_declspecs::attrs, decl_attributes(), c_type_name::declarator, grokdeclarator(), NULL, NULL_TREE, c_type_name::specs, and TYPENAME.
| union lang_tree_node GTY | ( | (desc("TREE_CODE (&%h.generic) == IDENTIFIER_NODE"),chain_next("TREE_CODE (&%h.generic) == INTEGER_TYPE ? (union lang_tree_node *) TYPE_NEXT_VARIANT (&%h.generic) : (union lang_tree_node *) TREE_CHAIN (&%h.generic)")) | ) | [write] |
| static GTY | ( | () | ) | [static] |
Definition at line 7068 of file c-decl.c.
References b, B_IN_EXTERNAL_SCOPE, B_IN_FILE_SCOPE, and I_SYMBOL_BINDING.
Definition at line 2316 of file c-decl.c.
References ATTRIBUTE_GCC_CDIAG, error(), G_, gcc_unreachable, locate_old_decl(), mesg_implicit_function_declaration, void, and warning0().
Definition at line 2336 of file c-decl.c.
References b, B_IN_SCOPE, bind(), build_decl, build_type_attribute_variant(), C_DECL_IMPLICIT, comptypes(), current_scope(), decl_attributes(), DECL_BUILT_IN, DECL_EXTERNAL, DECL_IS_BUILTIN, default_function_type, error(), error_mark_node, flag_objc, gen_aux_info_record(), I_SYMBOL_BINDING, IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_IMPLICIT_DECL, IDENTIFIER_POINTER, implicit_decl_warning(), locate_old_decl(), maybe_apply_renaming_pragma(), NULL, NULL_TREE, objc_check_decl(), pushdecl(), rest_of_decl_compilation(), set_user_assembler_name(), TREE_PUBLIC, TREE_STRING_POINTER, TREE_TYPE, TYPE_ATTRIBUTES, warn_traditional, and warning.
Definition at line 957 of file c-decl.c.
References blocks, current_scope(), SCOPE_LIST_APPEND, and TREE_USED.
Definition at line 5701 of file c-decl.c.
References layout_array_type(), layout_type(), TREE_CODE, and TREE_TYPE.
| static void locate_old_decl | ( | tree | decl, | |
| void(*)(const char *,...) ATTRIBUTE_GCC_CDIAG diag(1, 2) | ||||
| ) | [static] |
Definition at line 1144 of file c-decl.c.
References C_DECL_IMPLICIT, DECL_BUILT_IN, DECL_INITIAL, G_, and TREE_CODE.
Definition at line 2492 of file c-decl.c.
References bind(), C_DECLARED_LABEL_FLAG, current_function_decl, DECL_CONTEXT, DECL_SOURCE_LOCATION, error(), I_LABEL_DECL, input_location, make_label(), and TREE_USED.
Definition at line 2629 of file c-decl.c.
References b, B_IN_CURRENT_SCOPE, B_IN_EXTERNAL_SCOPE, current_scope(), I_TAG_BINDING, input_location, pending_invalid_xref, pending_invalid_xref_location, pending_xref_error(), and TREE_CODE.
| static tree make_label | ( | tree | name, | |
| location_t | location | |||
| ) | [static] |
Definition at line 2475 of file c-decl.c.
References build_decl, current_function_decl, DECL_CONTEXT, DECL_MODE, DECL_SOURCE_LOCATION, and void_type_node.
| struct c_declarator* make_pointer_declarator | ( | struct c_declspecs * | type_quals_attrs, | |
| struct c_declarator * | target | |||
| ) | [read] |
Definition at line 7166 of file c-decl.c.
References c_declspecs::attrs, build_attrs_declarator(), cdk_pointer, c_declarator::declarator, c_declarator::kind, NULL_TREE, parser_obstack, c_declarator::pointer_quals, c_declarator::quals, quals_from_declspecs(), ret, c_declarator::u, and XOBNEW.
Definition at line 3669 of file c-decl.c.
References b, current_scope(), pedantic, pedwarn(), TREE_ASM_WRITTEN, and TREE_CODE.
Definition at line 997 of file c-decl.c.
References build_function_type(), build_type_attribute_variant(), TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_ATTRIBUTES, and TYPE_MODE.
Definition at line 1605 of file c-decl.c.
References b, C_DECL_BUILTIN_PROTOTYPE, C_DECL_DECLARED_BUILTIN, C_DECL_THREADPRIVATE_P, cgraph_function_possibly_inlined_p(), CODE_CONTAINS_STRUCT, composite_type(), comptypes(), COPY_DECL_ASSEMBLER_NAME, current_scope(), debug_hooks, DECL_ABSTRACT_ORIGIN, DECL_ALIGN, DECL_ARGUMENTS, DECL_ATTRIBUTES, DECL_BUILT_IN, DECL_BUILT_IN_CLASS, DECL_COMMON, DECL_CONTEXT, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_FUNCTION_CODE, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_INLINE, DECL_IS_MALLOC, DECL_IS_NOVOPS, DECL_IS_PURE, DECL_MODE, DECL_NAME, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK, DECL_RESULT, DECL_RTL_SET_P, DECL_SAVED_TREE, DECL_SECTION_NAME, DECL_SIZE, DECL_SIZE_UNIT, DECL_SOURCE_LOCATION, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DECL_STRUCT_FUNCTION, DECL_TLS_MODEL, DECL_UID, DECL_UNINLINABLE, DECL_USER_ALIGN, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, error_mark_node, gcc_unreachable, layout_decl(), layout_type(), make_decl_rtl(), memcpy, gcc_target::merge_decl_attributes, merge_weak(), NULL_TREE, gcc_debug_hooks::outlining_inline_function, targetm, TREE_ASM_WRITTEN, TREE_CODE, tree_code_size(), TREE_DEPRECATED, TREE_PUBLIC, TREE_READONLY, TREE_STATIC, TREE_THIS_VOLATILE, TREE_TYPE, TREE_USED, and TYPE_ARG_TYPES.
| struct c_typespec parser_xref_tag | ( | enum tree_code | code, | |
| tree | name | |||
| ) | [read] |
Definition at line 5204 of file c-decl.c.
References ctsk_tagfirstref, ctsk_tagref, c_typespec::kind, lookup_tag(), make_node, pushtag(), c_typespec::spec, TREE_CODE, TYPE_ALIGN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_PRECISION, TYPE_UNSIGNED, TYPE_USER_ALIGN, and unsigned_type_node.
Definition at line 2675 of file c-decl.c.
References error(), IDENTIFIER_POINTER, pending_invalid_xref, pending_invalid_xref_file, pending_invalid_xref_line, and pending_invalid_xref_location.
Definition at line 924 of file c-decl.c.
References c_common_write_pch(), cgraph_finalize_compilation_unit(), current_scope(), finish_fname_decls(), maybe_apply_pending_pragma_weaks(), pch_file, and pop_scope().
Definition at line 701 of file c-decl.c.
References b, BLOCK, BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, blocks, build_decl, c_end_vm_scope(), current_function_decl, current_scope(), DECL_ABSTRACT_ORIGIN, DECL_ARTIFICIAL, DECL_CONTEXT, DECL_EXTERNAL, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_NAME, error(), error_mark_node, free_binding_and_advance(), gcc_assert, gcc_unreachable, I_LABEL_BINDING, I_SYMBOL_BINDING, I_TAG_BINDING, make_node, memset, num_in_fnames, p, SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT, set_type_context(), TREE_ADDRESSABLE, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_CODE, TREE_NO_WARNING, TREE_TYPE, TREE_USED, warn_unused_label, warn_unused_variable, and warning.
Definition at line 906 of file c-decl.c.
References bind(), current_scope(), DECL_NAME, push_scope(), start_fname_decls(), and TREE_CHAIN.
Definition at line 3653 of file c-decl.c.
References c_parm::attrs, decl_attributes(), c_parm::declarator, finish_decl(), grokdeclarator(), NULL, NULL_TREE, PARM, pushdecl(), and c_parm::specs.
Definition at line 634 of file c-decl.c.
References current_scope(), GGC_CNEW, keep_next_level_flag, and sorry().
Definition at line 2038 of file c-decl.c.
References b, B_IN_EXTERNAL_SCOPE, B_IN_FILE_SCOPE, B_IN_SCOPE, bind(), build_type_attribute_variant(), c_begin_vm_scope(), C_TYPE_INCOMPLETE_VARS, clone_underlying_type(), COMPLETE_TYPE_P, composite_type(), comptypes(), current_function_decl, current_scope(), DECL_BUILT_IN, DECL_CONTEXT, DECL_EXTERNAL, DECL_FILE_SCOPE_P, DECL_IN_SYSTEM_HEADER, DECL_INITIAL, DECL_LANG_SPECIFIC, DECL_NAME, DECL_P, duplicate_decls(), element, error_mark_node, GGC_CNEW, I_SYMBOL_BINDING, integer_zerop(), NULL_TREE, same_translation_unit_p(), TREE_CODE, tree_cons, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TYPE_ATTRIBUTES, TYPE_DOMAIN, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, variably_modified_type_p(), warn_if_shadowing(), and warning.
Definition at line 2294 of file c-decl.c.
References bind(), DECL_NAME, gcc_assert, I_SYMBOL_BINDING, TREE_CODE, and TREE_PUBLIC.
Definition at line 971 of file c-decl.c.
References bind(), build_decl, current_scope(), DECL_CONTEXT, NULL_TREE, pushdecl(), TYPE_CONTEXT, TYPE_NAME, and TYPE_STUB_DECL.
| int quals_from_declspecs | ( | const struct c_declspecs * | specs | ) |
Definition at line 3006 of file c-decl.c.
References c_declspecs::complex_p, c_declspecs::const_p, csc_none, cts_none, c_declspecs::decl_attr, c_declspecs::deprecated_p, c_declspecs::explicit_signed_p, gcc_assert, c_declspecs::inline_p, c_declspecs::long_long_p, c_declspecs::long_p, c_declspecs::restrict_p, c_declspecs::short_p, c_declspecs::signed_p, c_declspecs::storage_class, c_declspecs::thread_p, c_declspecs::type, TYPE_QUAL_CONST, TYPE_QUAL_RESTRICT, TYPE_QUAL_VOLATILE, c_declspecs::typedef_p, c_declspecs::typespec_word, c_declspecs::unsigned_p, and c_declspecs::volatile_p.
Definition at line 7083 of file c-decl.c.
References build_decl, debug_hooks, get_identifier(), int, pushdecl(), ridpointers, and gcc_debug_hooks::type_decl.
| struct c_declarator* set_array_declarator_inner | ( | struct c_declarator * | decl, | |
| struct c_declarator * | inner, | |||
| bool | abstract_p | |||
| ) | [read] |
Definition at line 3089 of file c-decl.c.
References c_declarator::array, c_declarator::declarator, error(), NULL_TREE, TYPE_UNQUALIFIED, and c_declarator::u.
Definition at line 688 of file c-decl.c.
References TYPE_CONTEXT, TYPE_MAIN_VARIANT, and TYPE_NEXT_VARIANT.
| void shadow_tag | ( | const struct c_declspecs * | declspecs | ) |
| void shadow_tag_warned | ( | const struct c_declspecs * | declspecs, | |
| int | warned | |||
| ) |
Definition at line 2879 of file c-decl.c.
References c_declspecs::const_p, csc_auto, csc_none, csc_register, current_scope(), c_declspecs::default_int_p, error(), in_system_header, c_declspecs::inline_p, lookup_tag(), make_node, pedwarn(), pending_invalid_xref, pending_xref_error(), pushtag(), c_declspecs::restrict_p, c_declspecs::storage_class, c_declspecs::tag_defined_p, c_declspecs::thread_p, TREE_CODE, c_declspecs::type, TYPE_NAME, c_declspecs::typedef_p, c_declspecs::volatile_p, and warning.
| tree start_decl | ( | struct c_declarator * | declarator, | |
| struct c_declspecs * | declspecs, | |||
| bool | initialized, | |||
| tree | attributes | |||
| ) |
Definition at line 3162 of file c-decl.c.
References c_declarator::arg_info, args, C_DECL_VARIABLE_SIZE, gcc_target::calls, cdk_function, cdk_pointer, COMPLETE_TYPE_P, current_scope(), DECL_ARG_TYPE, DECL_ATTRIBUTES, decl_attributes(), DECL_COMMON, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_INITIAL, DECL_NAME, DECL_THREAD_LOCAL, DECL_THREAD_LOCAL_P, DECL_UNINLINABLE, c_declarator::declarator, DEPRECATED_NORMAL, deprecated_state, DEPRECATED_SUPPRESS, error(), error_mark_node, flag_no_common, gen_aux_info_record(), grokdeclarator(), integer_type_node, INTEGRAL_TYPE_P, c_declarator::kind, lookup_attribute(), MAIN_NAME_P, NORMAL, NULL, c_arg_info::parms, gcc_target::calls::promote_prototypes, pushdecl(), targetm, TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TYPE_ARG_TYPES, TYPE_PRECISION, TYPE_SIZE, c_declarator::u, warn_main, and warning.
Definition at line 5715 of file c-decl.c.
References C_TYPE_BEING_DEFINED, enum_next_value, enum_overflow, error(), flag_short_enums, integer_zero_node, lookup_tag(), make_node, pushtag(), TREE_CODE, TYPE_PACKED, and TYPE_VALUES.
| int start_function | ( | struct c_declspecs * | declspecs, | |
| struct c_declarator * | declarator, | |||
| tree | attributes | |||
| ) |
Definition at line 5992 of file c-decl.c.
References announce_function(), args, b, B_IN_SCOPE, build_decl, build_function_type(), c_break_label, c_cont_label, C_DECL_BUILTIN_PROTOTYPE, C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE, c_promoting_integer_type_p(), c_switch_stack, char_type_node, COMPLETE_OR_VOID_TYPE_P, composite_type(), comptypes(), current_function_decl, current_function_prototype_arg_types, current_function_prototype_built_in, current_function_prototype_locus, current_function_returns_abnormally, current_function_returns_null, current_function_returns_value, current_scope(), DECL_ARTIFICIAL, DECL_ASSEMBLER_NAME_SET_P, DECL_ATTRIBUTES, decl_attributes(), DECL_DECLARED_INLINE_P, DECL_EXTERNAL, DECL_IGNORED_P, DECL_INITIAL, DECL_NAME, DECL_RESULT, DECL_SOURCE_LOCATION, DECL_UNINLINABLE, declare_parm_level(), diagnostic_report_warnings_p, error(), error_mark_node, flag_isoc99, FUNCDEF, gcc_assert, grokdeclarator(), I_SYMBOL_BINDING, info, integer_type_node, label_context_stack_se, label_context_stack_vm, c_label_context_se::labels_def, c_label_context_vm::labels_def, c_label_context_se::labels_used, c_label_context_vm::labels_used, lookup_attribute(), lookup_name_in_scope(), MAIN_NAME_P, maybe_apply_pragma_weak(), c_label_context_se::next, c_label_context_vm::next, NULL, NULL_TREE, parser_obstack, pedwarn(), pedwarn_c99(), push_scope(), pushdecl(), c_label_context_vm::scope, size_zero_node, start_fname_decls(), TREE_CHAIN, TREE_CODE, TREE_PUBLIC, TREE_STATIC, TREE_TYPE, TREE_USED, TREE_VALUE, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, TYPE_PRECISION, TYPE_UNSIGNED, UNKNOWN_LOCATION, unsigned_type_node, void_type_node, warn_main, warn_missing_declarations, warn_missing_prototypes, warn_strict_prototypes, warning, and XOBNEW.
Definition at line 5269 of file c-decl.c.
References C_TYPE_BEING_DEFINED, current_binding_level, error(), flag_pack_struct, IDENTIFIER_POINTER, lookup_tag(), make_node, pushtag(), TREE_CODE, TYPE_FIELDS, TYPE_PACKED, and TYPE_SIZE.
Definition at line 6636 of file c-decl.c.
References actual, add_stmt(), allocate_struct_function(), begin_stmt_tree(), build_decl, build_type_copy(), cfun, chainon(), COMPLETE_TYPE_P, comptypes(), current_binding_level, current_function_decl, current_function_parm_tags, current_function_parms, current_function_prototype_file, current_function_prototype_line, DECL_ARG_TYPE, DECL_ARGUMENTS, decl_function_context(), DECL_LANG_SPECIFIC, DECL_NAME, DECL_SAVED_TREE, DECL_SOURCE_FILE, DECL_SOURCE_LINE, DECL_WEAK, error(), error_mark_node, extra_warnings, flag_isoc99, gen_aux_info_record(), get_pending_sizes(), getdecls(), gettags(), IDENTIFIER_LOCAL_VALUE, IDENTIFIER_POINTER, immediate_size_expand, init_function_start(), input_filename, integer_type_node, INTEGRAL_TYPE_P, last, layout_decl(), lineno, next, nreverse(), NULL, NULL_TREE, pedantic, pedwarn(), PROMOTE_PROTOTYPES, push_stmt_list(), pushdecl(), SAVE_EXPR_CONTEXT, store_parm_decls_newstyle(), store_parm_decls_oldstyle(), storedecls(), storetags(), tail, TREE_CHAIN, TREE_CODE, tree_cons, tree_last(), TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_ACTUAL_ARG_TYPES, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, TYPE_PRECISION, c_arg_info::types, void_type_node, VOID_TYPE_P, warn_shadow, and WFE_Start_Function().
| void store_parm_decls_from | ( | struct c_arg_info * | arg_info | ) |
| static void store_parm_decls_newstyle | ( | tree | fndecl, | |
| const struct c_arg_info * | arg_info | |||
| ) | [static] |
Definition at line 6295 of file c-decl.c.
References bind(), current_function_decl, current_scope(), DECL_ARGUMENTS, DECL_CONTEXT, DECL_NAME, error(), error_mark_node, in_system_header, c_arg_info::others, c_arg_info::parms, pop_scope(), push_scope(), c_arg_info::tags, TREE_CHAIN, TREE_PURPOSE, TREE_USED, TREE_VALUE, c_arg_info::types, warn_if_shadowing(), and warning.
| static void store_parm_decls_oldstyle | ( | tree | fndecl, | |
| const struct c_arg_info * | arg_info | |||
| ) | [static] |
Definition at line 6357 of file c-decl.c.
References actual, b, B_IN_CURRENT_SCOPE, build_decl, build_variant_type_copy(), gcc_target::calls, chainon(), COMPLETE_TYPE_P, comptypes(), current_function_decl, current_function_prototype_arg_types, current_function_prototype_built_in, current_function_prototype_locus, current_scope(), DECL_ARG_TYPE, DECL_ARGUMENTS, DECL_SOURCE_LOCATION, double_type_node, error(), error_mark_node, extra_warnings, flag_isoc99, float_type_node, I_SYMBOL_BINDING, in_system_header, integer_type_node, INTEGRAL_TYPE_P, last, layout_decl(), NULL, NULL_TREE, c_arg_info::parms, pedantic, pedwarn(), pointer_set_contains(), pointer_set_create(), pointer_set_destroy(), pointer_set_insert(), gcc_target::calls::promote_prototypes, pushdecl(), targetm, TREE_CHAIN, TREE_CODE, tree_cons, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TYPE_ACTUAL_ARG_TYPES, TYPE_MAIN_VARIANT, TYPE_PRECISION, void_type_node, VOID_TYPE_P, warn_if_shadowing(), and warning.
| void undeclared_variable | ( | tree | id, | |
| location_t | loc | |||
| ) |
Definition at line 2443 of file c-decl.c.
References bind(), current_function_decl, current_scope(), error(), and error_mark_node.
Definition at line 1077 of file c-decl.c.
References comptypes(), END_OF_ARGLIST, error(), error_mark_node, i, TREE_CHAIN, TREE_VALUE, TYPE_ACTUAL_ARG_TYPES, TYPE_ARG_TYPES, TYPE_MAIN_VARIANT, and warning.
Definition at line 1917 of file c-decl.c.
References b, DECL_BUILT_IN, DECL_FILE_SCOPE_P, DECL_FROM_INLINE, DECL_IS_BUILTIN, DECL_NAME, error_mark_node, I_SYMBOL_BINDING, TREE_CODE, warn_shadow, and warning.
Definition at line 5259 of file c-decl.c.
References current_binding_level, lookup_tag(), make_node, parser_xref_tag(), pushtag(), c_typespec::spec, TREE_CODE, TREE_UNSIGNED, TYPE_ALIGN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_PRECISION, TYPE_USER_ALIGN, and unsigned_type_node.
| char C_SIZEOF_STRUCT_LANG_IDENTIFIER_isnt_accurate[(sizeof(struct lang_identifier)==C_SIZEOF_STRUCT_LANG_IDENTIFIER)?1:-1] |
struct c_arg_info* current_function_arg_info [static] |
tree current_function_prototype_arg_types [static] |
bool current_function_prototype_built_in [static] |
enum deprecated_states deprecated_state = DEPRECATED_NORMAL [static] |
tree enum_next_value [static] |
int enum_overflow [static] |
1.5.6