osprey-gcc-4.2.0/gcc/cp/decl.c File Reference

#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"

Include dependency graph for decl.c:

Go to the source code of this file.

Data Types

type  cp_switch
type  typename_info
type  predefined_identifier
type  reshape_iterator_t

Defines

#define local_names   cp_function_chain->x_local_names
#define named_labels   cp_function_chain->x_named_labels
#define DEF_OPERATOR(NAME, CODE, MANGLING, ARITY, ASSN_P)

Typedefs

typedef struct reshape_iterator_t reshape_iter

Enumerations

enum  deprecated_states {
  DEPRECATED_NORMAL, DEPRECATED_SUPPRESS, DEPRECATED_NORMAL, DEPRECATED_SUPPRESS,
  DEPRECATED_NORMAL, DEPRECATED_SUPPRESS, DEPRECATED_NORMAL, DEPRECATED_SUPPRESS,
  DEPRECATED_NORMAL, DEPRECATED_SUPPRESS, DEPRECATED_NORMAL, DEPRECATED_SUPPRESS
}

Functions/Subroutines

static tree grokparms (cp_parameter_declarator *, tree *)
static const char * redeclaration_error_message (tree, tree)
static int decl_jump_unsafe (tree)
static void require_complete_types_for_parms (tree)
static int ambi_op_p (enum tree_code)
static int unary_op_p (enum tree_code)
static void push_local_name (tree)
static tree grok_reference_init (tree, tree, tree, tree *)
static tree grokvardecl (tree, tree, const cp_decl_specifier_seq *, int, int, tree)
static void record_unknown_type (tree, const char *)
static tree builtin_function_1 (const char *, tree, tree, enum built_in_function code, enum built_in_class cl, const char *, tree)
static tree build_library_fn_1 (tree, enum tree_code, tree)
static int member_function_or_else (tree, tree, enum overload_flags)
static void bad_specifiers (tree, const char *, int, int, int, int, int)
static void check_for_uninitialized_const_var (tree)
static hashval_t typename_hash (const void *)
static int typename_compare (const void *, const void *)
static tree local_variable_p_walkfn (tree *, int *, void *)
static tree record_builtin_java_type (const char *, int)
static const char * tag_name (enum tag_types)
static tree lookup_and_check_tag (enum tag_types, tree, tag_scope, bool)
static int walk_namespaces_r (tree, walk_namespaces_fn, void *)
static void maybe_deduce_size_from_array_init (tree, tree)
static void layout_var_decl (tree)
static void maybe_commonize_var (tree)
static tree check_initializer (tree, tree, int, tree *)
static void make_rtl_for_nonlocal_decl (tree, tree, const char *)
static void save_function_data (tree)
static void check_function_type (tree, tree)
static void finish_constructor_body (void)
static void begin_destructor_body (void)
static void finish_destructor_body (void)
static tree create_array_type_for_decl (tree, tree, tree)
static tree get_atexit_node (void)
static tree get_dso_handle_node (void)
static tree start_cleanup_fn (void)
static void end_cleanup_fn (void)
static tree cp_make_fname_decl (tree, int)
static void initialize_predefined_identifiers (void)
static tree check_special_function_return_type (special_function_kind, tree, tree)
static tree push_cp_library_fn (enum tree_code, tree)
static tree build_cp_library_fn (tree, enum tree_code, tree)
static void store_parm_decls (tree)
static void initialize_local_var (tree, tree)
static void expand_static_init (tree, tree)
static tree next_initializable_field (tree)
struct named_label_use_entry GTY (())
void finish_scope (void)
static void pop_label (tree label, tree old_value)
static int pop_labels_1 (void **slot, void *data)
static void pop_labels (tree block)
static void pop_local_label (tree label, tree old_value)
voidobjc_get_current_scope (void)
void objc_mark_locals_volatile (void *enclosing_blk)
static int poplevel_named_label_1 (void **slot, void *data)
tree poplevel (int keep, int reverse, int functionbody)
void insert_block (tree block)
int walk_namespaces (walk_namespaces_fn f, void *data)
int wrapup_globals_for_namespace (tree namespace, void *data)
tree create_implicit_typedef (tree name, tree type)
int decls_match (tree newdecl, tree olddecl)
void warn_extern_redeclared_static (tree newdecl, tree olddecl)
static void check_redeclaration_exception_specification (tree new_decl, tree old_decl)
tree duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
static hashval_t named_label_entry_hash (const void *data)
static int named_label_entry_eq (const void *a, const void *b)
static tree make_label_decl (tree id, int local_p)
tree lookup_label (tree id)
tree declare_local_label (tree id)
static void identify_goto (tree decl, const location_t *locus)
static bool check_previous_goto_1 (tree decl, struct cp_binding_level *level, tree names, bool exited_omp, const location_t *locus)
static void check_previous_goto (tree decl, struct named_label_use_entry *use)
static bool check_switch_goto (struct cp_binding_level *level)
void check_goto (tree decl)
bool check_omp_return (void)
tree define_label (location_t location, tree name)
void push_switch (tree switch_stmt)
void pop_switch (void)
tree finish_case_label (tree low_value, tree high_value)
static GTY ((param_is(union tree_node)))
tree make_typename_type (tree context, tree name, enum tag_types tag_type, tsubst_flags_t complain)
tree make_unbound_class_template (tree context, tree name, tree parm_list, tsubst_flags_t complain)
void record_builtin_type (enum rid rid_index, const char *name, tree type)
void cxx_init_decl_processing (void)
tree cp_fname_init (const char *name, tree *type_p)
tree builtin_function (const char *name, tree type, int code, enum built_in_class cl, const char *libname, tree attrs)
tree build_library_fn (tree name, tree type)
tree build_library_fn_ptr (const char *name, tree type)
tree build_cp_library_fn_ptr (const char *name, tree type)
tree push_library_fn (tree name, tree type)
tree push_void_library_fn (tree name, tree parmtypes)
tree push_throw_library_fn (tree name, tree type)
void fixup_anonymous_aggr (tree t)
tree check_tag_decl (cp_decl_specifier_seq *declspecs)
tree shadow_tag (cp_decl_specifier_seq *declspecs)
tree groktypename (cp_decl_specifier_seq *type_specifiers, const cp_declarator *declarator)
tree start_decl (const cp_declarator *declarator, cp_decl_specifier_seq *declspecs, int initialized, tree attributes, tree prefix_attributes, tree *pushed_scope_p)
void start_decl_1 (tree decl, bool initialized)
static bool check_array_designated_initializer (const constructor_elt *ce)
static tree reshape_init_r (tree, reshape_iter *, bool)
static tree reshape_init_array_1 (tree elt_type, tree max_index, reshape_iter *d)
static tree reshape_init_array (tree type, reshape_iter *d)
static tree reshape_init_vector (tree type, reshape_iter *d)
static tree reshape_init_class (tree type, reshape_iter *d, bool first_initializer_p)
tree reshape_init (tree type, tree init)
void initialize_artificial_var (tree decl, tree init)
void cp_finish_decl (tree decl, tree init, bool init_const_expr_p, tree asmspec_tree, int flags)
void finish_decl (tree decl, tree init, tree asmspec_tree)
static tree declare_global_var (tree name, tree type)
tree register_dtor_fn (tree decl)
int cp_complete_array_type (tree *ptype, tree initial_value, bool do_default)
static void check_class_member_definition_namespace (tree decl)
tree build_this_parm (tree type, cp_cv_quals quals)
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 void set_linkage_for_static_data_member (tree decl)
tree build_ptrmemfunc_type (tree type)
tree build_ptrmem_type (tree class_type, tree member_type)
int check_static_variable_definition (tree decl, tree type)
tree compute_array_index_type (tree name, tree size)
tree get_scope_of_declarator (const cp_declarator *declarator)
tree check_var_type (tree identifier, tree type)
tree grokdeclarator (const cp_declarator *declarator, const cp_decl_specifier_seq *declspecs, enum decl_context decl_context, int initialized, tree *attrlist)
int local_variable_p (tree t)
int nonstatic_local_decl_p (tree t)
static tree local_variable_p_walkfn (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
tree check_default_argument (tree decl, tree arg)
int copy_fn_p (tree d)
void grok_special_member_properties (tree decl)
int grok_ctor_properties (tree ctype, tree decl)
bool grok_op_properties (tree decl, bool complain)
tree check_elaborated_type_specifier (enum tag_types tag_code, tree decl, bool allow_template_p)
tree xref_tag (enum tag_types tag_code, tree name, tag_scope scope, bool template_header_p)
tree xref_tag_from_type (tree old, tree id, tag_scope scope)
bool xref_basetypes (tree ref, tree base_list)
tree start_enum (tree name)
void finish_enum (tree enumtype)
void build_enumerator (tree name, tree value, tree enumtype)
void start_preparsed_function (tree decl1, tree attrs, int flags)
int start_function (cp_decl_specifier_seq *declspecs, const cp_declarator *declarator, tree attrs)
static bool use_eh_spec_block (tree fn)
tree begin_function_body (void)
void finish_function_body (tree compstmt)
static tree outer_curly_brace_block (tree fndecl)
tree finish_function (int flags)
tree start_method (cp_decl_specifier_seq *declspecs, const cp_declarator *declarator, tree attrlist)
tree finish_method (tree decl)
void maybe_register_incomplete_var (tree var)
void complete_vars (tree type)
tree cxx_maybe_build_cleanup (tree decl)
void finish_stmt (void)
void revert_static_member_fn (tree decl)
void cxx_push_function_context (struct function *f)
void cxx_pop_function_context (struct function *f)
enum cp_tree_node_structure_enum cp_tree_node_structure (union lang_tree_node *t)
tree build_void_list_node (void)
bool cp_missing_noreturn_ok_p (tree decl)
const char * cxx_comdat_group (tree decl)

Variables

tree cp_global_trees [CPTI_MAX]
tree global_type_node
tree global_scope_name
tree static_aggregates
tree integer_two_node
tree integer_three_node
int function_depth
static enum deprecated_states deprecated_state = DEPRECATED_NORMAL
static struct cp_switchswitch_stack


Define Documentation

#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 local_names   cp_function_chain->x_local_names

Definition at line 159 of file decl.c.

#define named_labels   cp_function_chain->x_named_labels

Definition at line 227 of file decl.c.


Typedef Documentation


Enumeration Type Documentation

Enumerator:
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 
DEPRECATED_NORMAL 
DEPRECATED_SUPPRESS 

Definition at line 239 of file decl.c.


Function Documentation

static int ambi_op_p ( enum tree_code  code  )  [static]

Definition at line 9168 of file decl.c.

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.

static void begin_destructor_body ( void   )  [static]

tree begin_function_body ( void   ) 

static tree build_cp_library_fn ( tree  name,
enum tree_code  operator_code,
tree  type 
) [static]

tree build_cp_library_fn_ptr ( const char *  name,
tree  type 
)

Definition at line 3512 of file decl.c.

References build_cp_library_fn(), and get_identifier().

void build_enumerator ( tree  name,
tree  value,
tree  enumtype 
)

tree build_library_fn ( tree  name,
tree  type 
)

Definition at line 3480 of file decl.c.

References build_library_fn_1(), and TREE_NOTHROW.

static tree build_library_fn_1 ( tree  name,
enum tree_code  operator_code,
tree  type 
) [static]

tree build_library_fn_ptr ( const char *  name,
tree  type 
)

Definition at line 3503 of file decl.c.

References build_library_fn(), and get_identifier().

tree build_ptrmem_type ( tree  class_type,
tree  member_type 
)

tree build_ptrmemfunc_type ( tree  type  ) 

tree build_this_parm ( tree  type,
cp_cv_quals  quals 
)

tree build_void_list_node ( void   ) 

Definition at line 11726 of file decl.c.

References build_tree_list, NULL_TREE, and void_type_node.

tree builtin_function ( const char *  name,
tree  type,
int  code,
enum built_in_class  cl,
const char *  libname,
tree  attrs 
)

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]

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().

static void check_class_member_definition_namespace ( tree  decl  )  [static]

tree check_default_argument ( tree  decl,
tree  arg 
)

tree check_elaborated_type_specifier ( enum tag_types  tag_code,
tree  decl,
bool  allow_template_p 
)

static void check_for_uninitialized_const_var ( tree  decl  )  [static]

Definition at line 4363 of file decl.c.

References CP_TYPE_CONST_P, DECL_INITIAL, error(), TREE_CODE, TREE_TYPE, and TYPE_NEEDS_CONSTRUCTING.

static void check_function_type ( tree  decl,
tree  current_function_parms 
) [static]

void check_goto ( tree  decl  ) 

static tree check_initializer ( tree  decl,
tree  init,
int  flags,
tree cleanup 
) [static]

bool check_omp_return ( void   ) 

Definition at line 2512 of file decl.c.

References b, current_binding_level, error(), and sk_omp.

Referenced by finish_return_stmt().

static void check_previous_goto ( tree  decl,
struct named_label_use_entry *  use 
) [static]

Definition at line 2395 of file decl.c.

References check_previous_goto_1().

static bool check_previous_goto_1 ( tree  decl,
struct cp_binding_level *  level,
tree  names,
bool  exited_omp,
const location_t locus 
) [static]

static void check_redeclaration_exception_specification ( tree  new_decl,
tree  old_decl 
) [static]

static tree check_special_function_return_type ( special_function_kind  sfk,
tree  type,
tree  optype 
) [static]

int check_static_variable_definition ( tree  decl,
tree  type 
)

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.

static bool check_switch_goto ( struct cp_binding_level *  level  )  [static]

Definition at line 2403 of file decl.c.

References check_previous_goto_1(), NULL, and NULL_TREE.

tree check_tag_decl ( cp_decl_specifier_seq declspecs  ) 

tree check_var_type ( tree  identifier,
tree  type 
)

void complete_vars ( tree  type  ) 

tree compute_array_index_type ( tree  name,
tree  size 
)

int copy_fn_p ( tree  d  ) 

int cp_complete_array_type ( tree ptype,
tree  initial_value,
bool  do_default 
)

void cp_finish_decl ( tree  decl,
tree  init,
bool  init_const_expr_p,
tree  asmspec_tree,
int  flags 
)

tree cp_fname_init ( const char *  name,
tree type_p 
)

static tree cp_make_fname_decl ( tree  id,
int  type_dep 
) [static]

bool cp_missing_noreturn_ok_p ( tree  decl  ) 

Definition at line 11733 of file decl.c.

References DECL_MAIN_P.

enum cp_tree_node_structure_enum cp_tree_node_structure ( union lang_tree_node *  t  ) 

static tree create_array_type_for_decl ( tree  name,
tree  type,
tree  size 
) [static]

tree create_implicit_typedef ( tree  name,
tree  type 
)

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  ) 

void cxx_init_decl_processing ( void   ) 

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().

tree cxx_maybe_build_cleanup ( tree  decl  ) 

void cxx_pop_function_context ( struct function f  ) 

Definition at line 11700 of file decl.c.

void cxx_push_function_context ( struct function f  ) 

static int decl_jump_unsafe ( tree  decl  )  [static]

static tree declare_global_var ( tree  name,
tree  type 
) [static]

tree declare_local_label ( tree  id  ) 

int decls_match ( tree  newdecl,
tree  olddecl 
)

tree define_label ( location_t  location,
tree  name 
)

tree duplicate_decls ( tree  newdecl,
tree  olddecl,
bool  newdecl_is_friend 
)

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.

static void end_cleanup_fn ( void   )  [static]

Definition at line 5588 of file decl.c.

References expand_or_defer_fn(), finish_function(), and pop_from_top_level().

static void expand_static_init ( tree  decl,
tree  init 
) [static]

tree finish_case_label ( tree  low_value,
tree  high_value 
)

static void finish_constructor_body ( void   )  [static]

void finish_decl ( tree  decl,
tree  init,
tree  asmspec_tree 
)

static void finish_destructor_body ( void   )  [static]

void finish_enum ( tree  enumtype  ) 

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.

void finish_function_body ( tree  compstmt  ) 

tree finish_method ( tree  decl  ) 

void finish_scope ( void   ) 

Definition at line 346 of file decl.c.

References poplevel().

void finish_stmt ( void   ) 

Definition at line 11635 of file decl.c.

References last_expr_type, and NULL_TREE.

void fixup_anonymous_aggr ( tree  t  ) 

static tree get_atexit_node ( void   )  [static]

static tree get_dso_handle_node ( void   )  [static]

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  ) 

int grok_ctor_properties ( tree  ctype,
tree  decl 
)

Definition at line 9136 of file decl.c.

References copy_fn_p(), DECL_NAME, error(), and SET_IDENTIFIER_ERROR_LOCUS.

bool grok_op_properties ( tree  decl,
bool  complain 
)

static tree grok_reference_init ( tree  decl,
tree  type,
tree  init,
tree cleanup 
) [static]

void grok_special_member_properties ( tree  decl  ) 

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]

tree groktypename ( cp_decl_specifier_seq type_specifiers,
const cp_declarator declarator 
)

static tree grokvardecl ( tree  type,
tree  name,
const cp_decl_specifier_seq declspecs,
int  initialized,
int  constp,
tree  scope 
) [static]

static GTY ( (param_is(union tree_node))   )  [static]

struct named_label_use_entry GTY ( ()   )  [read, write]

Definition at line 176 of file decl.c.

References next.

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().

void initialize_artificial_var ( tree  decl,
tree  init 
)

static void initialize_local_var ( tree  decl,
tree  init 
) [static]

static void initialize_predefined_identifiers ( void   )  [static]

void insert_block ( tree  block  ) 

Definition at line 796 of file decl.c.

References chainon(), current_binding_level, and TREE_USED.

static void layout_var_decl ( tree  decl  )  [static]

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 local_variable_p_walkfn ( tree ,
int *  ,
void  
) [static]

static tree lookup_and_check_tag ( enum tag_types  tag_code,
tree  name,
tag_scope  scope,
bool  template_header_p 
) [static]

tree lookup_label ( tree  id  ) 

static tree make_label_decl ( tree  id,
int  local_p 
) [static]

static void make_rtl_for_nonlocal_decl ( tree  decl,
tree  init,
const char *  asmspec 
) [static]

tree make_typename_type ( tree  context,
tree  name,
enum tag_types  tag_type,
tsubst_flags_t  complain 
)

tree make_unbound_class_template ( tree  context,
tree  name,
tree  parm_list,
tsubst_flags_t  complain 
)

static void maybe_commonize_var ( tree  decl  )  [static]

static void maybe_deduce_size_from_array_init ( tree  decl,
tree  init 
) [static]

void maybe_register_incomplete_var ( tree  var  ) 

static int member_function_or_else ( tree  ctype,
tree  cur_type,
enum overload_flags  flags 
) [static]

Definition at line 5855 of file decl.c.

References DTOR_FLAG, and error().

static int named_label_entry_eq ( const void a,
const void b 
) [static]

Definition at line 2195 of file decl.c.

Referenced by make_label_decl().

static hashval_t named_label_entry_hash ( const void data  )  [static]

Definition at line 2188 of file decl.c.

References DECL_UID.

Referenced by make_label_decl().

static tree next_initializable_field ( tree  field  )  [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 8806 of file decl.c.

References local_variable_p(), TREE_CODE, and TREE_STATIC.

void* objc_get_current_scope ( void   ) 

Definition at line 431 of file decl.c.

References current_binding_level, and current_scope().

void objc_mark_locals_volatile ( void enclosing_blk  ) 

static tree outer_curly_brace_block ( tree  fndecl  )  [static]

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().

static void pop_label ( tree  label,
tree  old_value 
) [static]

static void pop_labels ( tree  block  )  [static]

Definition at line 403 of file decl.c.

References htab_traverse(), named_labels, NULL, and pop_labels_1().

static int pop_labels_1 ( void **  slot,
void data 
) [static]

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().

static void pop_local_label ( tree  label,
tree  old_value 
) [static]

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().

void pop_switch ( void   ) 

tree poplevel ( int  keep,
int  reverse,
int  functionbody 
)

static int poplevel_named_label_1 ( void **  slot,
void data 
) [static]

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().

static tree push_cp_library_fn ( enum tree_code  operator_code,
tree  type 
) [static]

Definition at line 3532 of file decl.c.

References ansi_opname, build_cp_library_fn(), and pushdecl().

tree push_library_fn ( tree  name,
tree  type 
)

Definition at line 3521 of file decl.c.

References build_library_fn(), and pushdecl_top_level().

static void push_local_name ( tree  decl  )  [static]

void push_switch ( tree  switch_stmt  ) 

tree push_throw_library_fn ( tree  name,
tree  type 
)

Definition at line 3555 of file decl.c.

References push_library_fn(), TREE_NOTHROW, and TREE_THIS_VOLATILE.

tree push_void_library_fn ( tree  name,
tree  parmtypes 
)

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]

void record_builtin_type ( enum rid  rid_index,
const char *  name,
tree  type 
)

static void record_unknown_type ( tree  type,
const char *  name 
) [static]

static const char * redeclaration_error_message ( tree  newdecl,
tree  olddecl 
) [static]

tree register_dtor_fn ( tree  decl  ) 

static void require_complete_types_for_parms ( tree  parms  )  [static]

tree reshape_init ( tree  type,
tree  init 
)

static tree reshape_init_array ( tree  type,
reshape_iter d 
) [static]

static tree reshape_init_array_1 ( tree  elt_type,
tree  max_index,
reshape_iter d 
) [static]

static tree reshape_init_class ( tree  type,
reshape_iter d,
bool  first_initializer_p 
) [static]

static tree reshape_init_r ( tree  type,
reshape_iter d,
bool  first_initializer_p 
) [static]

static tree reshape_init_vector ( tree  type,
reshape_iter d 
) [static]

void revert_static_member_fn ( tree  decl  ) 

static void save_function_data ( tree  decl  )  [static]

static void set_linkage_for_static_data_member ( tree  decl  )  [static]

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  ) 

static tree start_cleanup_fn ( void   )  [static]

tree start_decl ( const cp_declarator declarator,
cp_decl_specifier_seq declspecs,
int  initialized,
tree  attributes,
tree  prefix_attributes,
tree pushed_scope_p 
)

void start_decl_1 ( tree  decl,
bool  initialized 
)

tree start_enum ( tree  name  ) 

int start_function ( cp_decl_specifier_seq declspecs,
const cp_declarator declarator,
tree  attrs 
)

tree start_method ( cp_decl_specifier_seq declspecs,
const cp_declarator declarator,
tree  attrlist 
)

void start_preparsed_function ( tree  decl1,
tree  attrs,
int  flags 
)

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().

static void store_parm_decls ( tree  current_function_parms  )  [static]

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.

static int typename_compare ( const void k1,
const void k2 
) [static]

static hashval_t typename_hash ( const void k  )  [static]

Definition at line 2677 of file decl.c.

References DECL_NAME, htab_hash_pointer, TYPE_CONTEXT, and TYPE_NAME.

static int unary_op_p ( enum tree_code  code  )  [static]

Definition at line 9181 of file decl.c.

static bool use_eh_spec_block ( tree  fn  )  [static]

int walk_namespaces ( walk_namespaces_fn  f,
void data 
)

Definition at line 824 of file decl.c.

References global_namespace, and walk_namespaces_r().

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().

void warn_extern_redeclared_static ( tree  newdecl,
tree  olddecl 
)

int wrapup_globals_for_namespace ( tree  namespace,
void data 
)

bool xref_basetypes ( tree  ref,
tree  base_list 
)

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.

tree xref_tag ( enum tag_types  tag_code,
tree  name,
tag_scope  scope,
bool  template_header_p 
)

tree xref_tag_from_type ( tree  old,
tree  id,
tag_scope  scope 
)


Variable Documentation

tree cp_global_trees[CPTI_MAX]

Definition at line 149 of file decl.c.

enum deprecated_states deprecated_state = DEPRECATED_NORMAL [static]

Definition at line 244 of file decl.c.

Definition at line 157 of file decl.c.

Definition at line 154 of file decl.c.

Definition at line 171 of file decl.c.

Definition at line 171 of file decl.c.

Definition at line 165 of file decl.c.

Definition at line 2597 of file decl.c.


Generated on Wed Apr 8 15:28:33 2009 for Open64 by  doxygen 1.5.6