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.

Referenced by add_linkage_attr().

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: