GCC Middle and Back End API Reference
lang_hooks_for_decls Struct Reference

#include <langhooks.h>

Data Fields

bool(* global_bindings_p )(void)
tree(* pushdecl )(tree)
tree(* getdecls )(void)
bool(* function_decl_explicit_p )(tree)
bool(* generic_generic_parameter_decl_p )(const_tree)
bool(* function_parm_expanded_from_pack_p )(tree, tree)
tree(* get_generic_function_decl )(const_tree)
bool(* warn_unused_global )(const_tree)
void(* final_write_globals )(void)
bool(* ok_for_sibcall )(const_tree)
bool(* omp_privatize_by_reference )(const_tree)
enum omp_clause_default_kind(* omp_predetermined_sharing )(tree)
tree(* omp_report_decl )(tree)
bool(* omp_disregard_value_expr )(tree, bool)
bool(* omp_private_debug_clause )(tree, bool)
bool(* omp_private_outer_ref )(tree)
tree(* omp_clause_default_ctor )(tree clause, tree decl, tree outer)
tree(* omp_clause_copy_ctor )(tree clause, tree dst, tree src)
tree(* omp_clause_assign_op )(tree clause, tree dst, tree src)
tree(* omp_clause_dtor )(tree clause, tree decl)
void(* omp_finish_clause )(tree clause)

Detailed Description

   Language hooks related to decls and the symbol table.  

Field Documentation

void(* lang_hooks_for_decls::final_write_globals)(void)
     Obtain a list of globals and do final output on them at end
     of compilation 
bool(* lang_hooks_for_decls::function_decl_explicit_p)(tree)
     Returns true if DECL is explicit member function.  
bool(* lang_hooks_for_decls::function_parm_expanded_from_pack_p)(tree, tree)
     Determine if a function parameter got expanded from a
     function parameter pack.  
bool(* lang_hooks_for_decls::generic_generic_parameter_decl_p)(const_tree)
     Returns True if the parameter is a generic parameter decl
     of a generic type, e.g a template template parameter for the C++ FE.  
tree(* lang_hooks_for_decls::get_generic_function_decl)(const_tree)
     Returns the generic declaration of a generic function instantiations.  
tree(* lang_hooks_for_decls::getdecls)(void)
     Returns the chain of decls so far in the current scope level.  

Referenced by lhd_gimplify_expr().

bool(* lang_hooks_for_decls::global_bindings_p)(void)
     Return true if we are in the global binding level.  This hook is really
     needed only if the language supports variable-sized types at the global
     level, i.e. declared outside subprograms.  
bool(* lang_hooks_for_decls::ok_for_sibcall)(const_tree)
     True if this decl may be called via a sibcall.  
tree(* lang_hooks_for_decls::omp_clause_assign_op)(tree clause, tree dst, tree src)
     Similarly, except use an assignment operator instead.  
tree(* lang_hooks_for_decls::omp_clause_copy_ctor)(tree clause, tree dst, tree src)
     Build and return code for a copy constructor from SRC to DST.  
tree(* lang_hooks_for_decls::omp_clause_default_ctor)(tree clause, tree decl, tree outer)
     Build and return code for a default constructor for DECL in
     response to CLAUSE.  OUTER is corresponding outer region's
     variable if needed.  Return NULL if nothing to be done.  
tree(* lang_hooks_for_decls::omp_clause_dtor)(tree clause, tree decl)
     Build and return code destructing DECL.  Return NULL if nothing
     to be done.  
bool(* lang_hooks_for_decls::omp_disregard_value_expr)(tree, bool)
     Return true if DECL's DECL_VALUE_EXPR (if any) should be
     disregarded in OpenMP construct, because it is going to be
     remapped during OpenMP lowering.  SHARED is true if DECL
     is going to be shared, false if it is going to be privatized.  
void(* lang_hooks_for_decls::omp_finish_clause)(tree clause)
     Do language specific checking on an implicitly determined clause.  
enum omp_clause_default_kind(* lang_hooks_for_decls::omp_predetermined_sharing)(tree)
     Return sharing kind if OpenMP sharing attribute of DECL is
     predetermined, OMP_CLAUSE_DEFAULT_UNSPECIFIED otherwise.  
bool(* lang_hooks_for_decls::omp_private_debug_clause)(tree, bool)
     Return true if DECL that is shared iff SHARED is true should
     be put into OMP_CLAUSE_PRIVATE_DEBUG.  

Referenced by omp_is_private().

bool(* lang_hooks_for_decls::omp_private_outer_ref)(tree)
     Return true if DECL in private clause needs
     OMP_CLAUSE_PRIVATE_OUTER_REF on the private clause.  

Referenced by lower_reduction_clauses().

bool(* lang_hooks_for_decls::omp_privatize_by_reference)(const_tree)
     True if OpenMP should privatize what this DECL points to rather
     than the DECL itself.  
tree(* lang_hooks_for_decls::omp_report_decl)(tree)
     Return decl that should be reported for DEFAULT(NONE) failure
     diagnostics.  Usually the DECL passed in.  
tree(* lang_hooks_for_decls::pushdecl)(tree)
     Function to add a decl to the current scope level.  Takes one
     argument, a decl to add.  Returns that decl, or, if the same
     symbol is already declared, may return a different decl for that
     name.  

Referenced by install_builtin().

bool(* lang_hooks_for_decls::warn_unused_global)(const_tree)
     Returns true when we should warn for an unused global DECL.
     We will already have checked that it has static binding.  

The documentation for this struct was generated from the following file: