osprey-gcc-4.2.0/gcc/cp/decl2.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 "decl.h"
#include "output.h"
#include "except.h"
#include "toplev.h"
#include "timevar.h"
#include "cpplib.h"
#include "target.h"
#include "c-common.h"
#include "tree-mudflap.h"
#include "cgraph.h"
#include "tree-inline.h"
#include "c-pragma.h"
#include "tree-dump.h"
#include "intl.h"
#include "gt-cp-decl2.h"

Include dependency graph for decl2.c:

Go to the source code of this file.

Data Types

type  priority_info_s

Defines

#define INITIALIZE_P_IDENTIFIER   "__initialize_p"
#define PRIORITY_IDENTIFIER   "__priority"
#define SSDF_IDENTIFIER   "__static_initialization_and_destruction"
#define DECL_EFFECTIVE_INIT_PRIORITY(decl)
#define NEEDS_GUARD_P(decl)

Typedefs

typedef struct priority_info_spriority_info

Enumerations

enum  { VISIBILITY_ANON = VISIBILITY_INTERNAL+1 }

Functions/Subroutines

static void mark_vtable_entries (tree)
static bool maybe_emit_vtables (tree)
static bool acceptable_java_type (tree)
static tree start_objects (int, int)
static void finish_objects (int, int, tree)
static tree start_static_storage_duration_function (unsigned)
static void finish_static_storage_duration_function (tree)
static priority_info get_priority_info (int)
static void do_static_initialization_or_destruction (tree, bool)
static void one_static_initialization_or_destruction (tree, tree, bool)
static void generate_ctor_or_dtor_function (bool, int, location_t *)
static int generate_ctor_and_dtor_functions_for_priority (splay_tree_node, void *)
static tree prune_vars_needing_no_initialization (tree *)
static void write_out_vars (tree)
static void import_export_class (tree)
static tree get_guard_bits (tree)
static void determine_visibility_from_class (tree, tree)
static GTY (())
tree cp_build_parm_decl (tree name, tree type)
tree build_artificial_parm (tree name, tree type)
void maybe_retrofit_in_chrg (tree fn)
void grokclassfn (tree ctype, tree function, enum overload_flags flags)
tree grok_array_decl (tree array_expr, tree index_exp)
tree delete_sanity (tree exp, tree size, bool doing_vec, int use_global_delete)
void check_member_template (tree tmpl)
bool check_java_method (tree method)
tree check_classfn (tree ctype, tree function, tree template_parms)
void note_vague_linkage_fn (tree decl)
void finish_static_data_member_decl (tree decl, tree init, bool init_const_expr_p, tree asmspec_tree, int flags)
tree grokfield (const cp_declarator *declarator, cp_decl_specifier_seq *declspecs, tree init, bool init_const_expr_p, tree asmspec_tree, tree attrlist)
tree grokbitfield (const cp_declarator *declarator, cp_decl_specifier_seq *declspecs, tree width)
void cplus_decl_attributes (tree *decl, tree attributes, int flags)
static tree build_anon_union_vars (tree type, tree object)
void finish_anon_union (tree anon_union_decl)
tree coerce_new_type (tree type)
tree coerce_delete_type (tree type)
void comdat_linkage (tree decl)
void maybe_make_one_only (tree decl)
static bool var_finalized_p (tree var)
void mark_needed (tree decl)
bool decl_needed_p (tree decl)
static tree min_vis_r (tree *tp, int *walk_subtrees, void *data)
static int type_visibility (tree type)
static bool constrain_visibility (tree decl, int visibility)
static void constrain_visibility_for_template (tree decl, tree targs)
void determine_visibility (tree decl)
void constrain_class_visibility (tree type)
void import_export_decl (tree decl)
tree build_cleanup (tree decl)
tree get_guard (tree decl)
tree get_guard_cond (tree guard)
tree set_guard (tree guard)
tree cxx_callgraph_analyze_expr (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED, tree from ATTRIBUTE_UNUSED)
static void build_java_method_aliases (void)
void cp_finish_file (void)
tree build_offset_ref_call_from_tree (tree fn, tree args)
void check_default_args (tree x)
void mark_used (tree decl)

Variables

cpp_readerparse_in


Define Documentation

#define DECL_EFFECTIVE_INIT_PRIORITY ( decl   ) 

#define INITIALIZE_P_IDENTIFIER   "__initialize_p"

Definition at line 2434 of file decl2.c.

#define NEEDS_GUARD_P ( decl   ) 

Value:

Definition at line 2606 of file decl2.c.

Referenced by one_static_initialization_or_destruction().

#define PRIORITY_IDENTIFIER   "__priority"

Definition at line 2435 of file decl2.c.

#define SSDF_IDENTIFIER   "__static_initialization_and_destruction"

Definition at line 2439 of file decl2.c.


Typedef Documentation


Enumeration Type Documentation

anonymous enum

Enumerator:
VISIBILITY_ANON 

Definition at line 1586 of file decl2.c.


Function Documentation

static bool acceptable_java_type ( tree  type  )  [static]

static tree build_anon_union_vars ( tree  type,
tree  object 
) [static]

tree build_artificial_parm ( tree  name,
tree  type 
)

Definition at line 157 of file decl2.c.

References cp_build_parm_decl(), DECL_ARTIFICIAL, and TREE_READONLY.

tree build_cleanup ( tree  decl  ) 

static void build_java_method_aliases ( void   )  [static]

tree build_offset_ref_call_from_tree ( tree  fn,
tree  args 
)

tree check_classfn ( tree  ctype,
tree  function,
tree  template_parms 
)

void check_default_args ( tree  x  ) 

bool check_java_method ( tree  method  ) 

void check_member_template ( tree  tmpl  ) 

tree coerce_delete_type ( tree  type  ) 

tree coerce_new_type ( tree  type  ) 

void comdat_linkage ( tree  decl  ) 

void constrain_class_visibility ( tree  type  ) 

static bool constrain_visibility ( tree  decl,
int  visibility 
) [static]

static void constrain_visibility_for_template ( tree  decl,
tree  targs 
) [static]

tree cp_build_parm_decl ( tree  name,
tree  type 
)

Definition at line 143 of file decl2.c.

References build_decl, DECL_ARG_TYPE, processing_template_decl, and type_passed_as().

void cp_finish_file ( void   ) 

Definition at line 3083 of file decl2.c.

References at_eof, build_java_method_aliases(), c_common_write_pch(), c_dialect_objc, cgraph_assemble_pending_functions(), cgraph_finalize_compilation_unit(), cgraph_node(), cgraph_optimize(), cgraph_varpool_assemble_pending_decls(), check_global_declarations(), cp_warning_at(), current_class_type, DECL_ARTIFICIAL, DECL_DECLARED_INLINE_P, DECL_DEFER_OUTPUT, DECL_EXPLICIT_INSTANTIATION, DECL_EXTERNAL, DECL_INITIAL, DECL_INLINE, decl_namespace_list, decl_needed_p(), DECL_NOT_REALLY_EXTERN, DECL_REALLY_EXTERN, DECL_SAVED_TREE, DECL_SOURCE_LOCATION, DEFAULT_INIT_PRIORITY, deferred_fns_used, do_static_destruction(), do_static_initialization(), do_static_initialization_or_destruction(), dump_begin(), dump_end(), dump_node(), dump_time_statistics(), dump_tree_statistics(), emit_debug_global_declarations(), emit_support_tinfos(), emit_tinfo_decl(), expand_or_defer_fn(), finish_repo(), finish_static_storage_duration_function(), flag_detailed_statistics, flag_syntax_only, flag_use_cxa_atexit, flag_use_repository, flags, generate_ctor_and_dtor_functions_for_priority(), generate_ctor_or_dtor_function(), ggc_collect(), global_bindings_p(), global_namespace, GS_DECL_EXTERNAL, i, import_export_decl(), input_line, input_location, instantiate_pending_templates(), keyed_classes, lang_name_c, maybe_apply_pending_pragma_weaks(), maybe_emit_vtables(), next, nreverse(), NULL_TREE, objc_static_init_needed_p(), pch_file, pending_statics_used, pop_from_top_level(), pop_lang_context(), prune_vars_needing_no_initialization(), push_lang_context(), push_to_top_level(), splay_tree_delete(), splay_tree_foreach(), start_static_storage_duration_function(), static_aggregates, stream, synthesize_method(), TDF_SLIM, TDI_tu, timevar_pop, timevar_push, TREE_ASM_WRITTEN, TREE_CHAIN, TREE_NO_WARNING, TREE_PUBLIC, TREE_PURPOSE, TREE_USED, TREE_VALUE, unemitted_tinfo_decls, var_finalized_p(), VARRAY_TREE, vars, VEC_address, VEC_iterate, VEC_length, VEC_unordered_remove, walk_namespaces(), warning, wrapup_global_declarations(), wrapup_globals_for_namespace(), and write_out_vars().

Referenced by finish_file().

void cplus_decl_attributes ( tree decl,
tree  attributes,
int  flags 
)

tree cxx_callgraph_analyze_expr ( tree tp,
int *walk_subtrees  ATTRIBUTE_UNUSED,
tree from  ATTRIBUTE_UNUSED 
)

bool decl_needed_p ( tree  decl  ) 

tree delete_sanity ( tree  exp,
tree  size,
bool  doing_vec,
int  use_global_delete 
)

void determine_visibility ( tree  decl  ) 

static void determine_visibility_from_class ( tree  decl,
tree  class_type 
) [static]

static void do_static_initialization_or_destruction ( tree  vars,
bool  initp 
) [static]

void finish_anon_union ( tree  anon_union_decl  ) 

static void finish_objects ( int  method_type,
int  initp,
tree  body 
) [static]

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

static void finish_static_storage_duration_function ( tree  body  )  [static]

Definition at line 2561 of file decl2.c.

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

static int generate_ctor_and_dtor_functions_for_priority ( splay_tree_node  n,
void data 
) [static]

static void generate_ctor_or_dtor_function ( bool  constructor_p,
int  priority,
location_t locus 
) [static]

tree get_guard ( tree  decl  ) 

static tree get_guard_bits ( tree  guard  )  [static]

tree get_guard_cond ( tree  guard  ) 

static priority_info get_priority_info ( int  priority  )  [static]

tree grok_array_decl ( tree  array_expr,
tree  index_exp 
)

tree grokbitfield ( const cp_declarator declarator,
cp_decl_specifier_seq declspecs,
tree  width 
)

void grokclassfn ( tree  ctype,
tree  function,
enum overload_flags  flags 
)

tree grokfield ( const cp_declarator declarator,
cp_decl_specifier_seq declspecs,
tree  init,
bool  init_const_expr_p,
tree  asmspec_tree,
tree  attrlist 
)

static GTY ( ()   )  [static]

static void import_export_class ( tree  ctype  )  [static]

void import_export_decl ( tree  decl  ) 

void mark_needed ( tree  decl  ) 

void mark_used ( tree  decl  ) 

static void mark_vtable_entries ( tree  decl  )  [static]

static bool maybe_emit_vtables ( tree  ctype  )  [static]

void maybe_make_one_only ( tree  decl  ) 

void maybe_retrofit_in_chrg ( tree  fn  ) 

static tree min_vis_r ( tree tp,
int *  walk_subtrees,
void data 
) [static]

Definition at line 1591 of file decl2.c.

References CLASS_TYPE_P, CLASSTYPE_VISIBILITY, NULL, TREE_PUBLIC, TYPE_MAIN_DECL, TYPE_P, and VISIBILITY_ANON.

Referenced by type_visibility().

void note_vague_linkage_fn ( tree  decl  ) 

static void one_static_initialization_or_destruction ( tree  decl,
tree  init,
bool  initp 
) [static]

static tree prune_vars_needing_no_initialization ( tree vars  )  [static]

tree set_guard ( tree  guard  ) 

static tree start_objects ( int  method_type,
int  initp 
) [static]

static tree start_static_storage_duration_function ( unsigned   )  [static]

static int type_visibility ( tree  type  )  [static]

static bool var_finalized_p ( tree  var  )  [static]

Definition at line 1417 of file decl2.c.

References cgraph_varpool_node().

static void write_out_vars ( tree  vars  )  [static]


Variable Documentation


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