GCC Middle and Back End API Reference
|
#include "hooks.h"
Go to the source code of this file.
#define LANG_HOOKS_APPEND_DATA lhd_append_data |
#define LANG_HOOKS_ATTRIBUTE_TABLE NULL |
Attribute hooks.
#define LANG_HOOKS_BEGIN_SECTION lhd_begin_section |
#define LANG_HOOKS_BLOCK_MAY_FALLTHRU hook_bool_const_tree_true |
#define LANG_HOOKS_BUILTIN_FUNCTION lhd_builtin_function |
#define LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE LANG_HOOKS_BUILTIN_FUNCTION |
#define LANG_HOOKS_CHKP_SUPPORTED false |
#define LANG_HOOKS_CILKPLUS |
#define LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP lhd_cilk_detect_spawn |
#define LANG_HOOKS_CILKPLUS_FRAME_CLEANUP lhd_install_body_with_frame_cleanup |
#define LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN lhd_gimplify_expr |
#define LANG_HOOKS_CLASSIFY_RECORD NULL |
#define LANG_HOOKS_COMMON_ATTRIBUTE_TABLE NULL |
#define LANG_HOOKS_COMPLAIN_WRONG_LANG_P lhd_complain_wrong_lang_p |
#define LANG_HOOKS_DECL_OK_FOR_SIBCALL lhd_decl_ok_for_sibcall |
#define LANG_HOOKS_DECL_PRINTABLE_NAME lhd_decl_printable_name |
#define LANG_HOOKS_DECLS |
#define LANG_HOOKS_DEEP_UNSHARING false |
#define LANG_HOOKS_DESCRIPTIVE_TYPE NULL |
#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL lhd_do_nothing_t |
#define LANG_HOOKS_DWARF_NAME lhd_dwarf_name |
#define LANG_HOOKS_EH_PERSONALITY lhd_gcc_personality |
#define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS NULL |
#define LANG_HOOKS_EH_RUNTIME_TYPE lhd_pass_through_t |
#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false |
#define LANG_HOOKS_END_SECTION lhd_end_section |
#define LANG_HOOKS_EXPR_TO_DECL lhd_expr_to_decl |
#define LANG_HOOKS_FINISH lhd_do_nothing |
#define LANG_HOOKS_FINISH_INCOMPLETE_DECL lhd_do_nothing_t |
#define LANG_HOOKS_FOR_TYPES_INITIALIZER |
#define LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE NULL |
#define LANG_HOOKS_FREE_LANG_DATA lhd_do_nothing_t |
#define LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P hook_bool_tree_false |
#define LANG_HOOKS_FUNCTION_PARAMETER_PACK_P hook_bool_const_tree_false |
#define LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P hook_bool_tree_tree_false |
#define LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P hook_bool_const_tree_false |
#define LANG_HOOKS_GENERIC_TYPE_P hook_bool_const_tree_false |
#define LANG_HOOKS_GET_ALIAS_SET lhd_get_alias_set |
#define LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS hook_tree_const_tree_null |
#define LANG_HOOKS_GET_ARRAY_DESCR_INFO NULL |
#define LANG_HOOKS_GET_GENERIC_FUNCTION_DECL hook_tree_const_tree_null |
#define LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS hook_tree_const_tree_null |
#define LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS hook_tree_const_tree_null |
#define LANG_HOOKS_GET_SUBRANGE_BOUNDS NULL |
#define LANG_HOOKS_GETDECLS getdecls |
#define LANG_HOOKS_GIMPLIFY_EXPR lhd_gimplify_expr |
Hooks for tree gimplification.
#define LANG_HOOKS_GLOBAL_BINDINGS_P global_bindings_p |
Declaration hooks.
#define LANG_HOOKS_HANDLE_OPTION lhd_handle_option |
#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier) |
#define LANG_HOOKS_INCOMPLETE_TYPE_ERROR lhd_incomplete_type_error |
#define LANG_HOOKS_INIT hook_bool_void_false |
#define LANG_HOOKS_INIT_OPTIONS lhd_init_options |
#define LANG_HOOKS_INIT_OPTIONS_STRUCT hook_void_gcc_optionsp |
#define LANG_HOOKS_INIT_TS lhd_do_nothing |
#define LANG_HOOKS_INITIALIZE_DIAGNOSTICS lhd_initialize_diagnostics |
#define LANG_HOOKS_INITIALIZER |
The whole thing. The structure is defined in langhooks.h.
#define LANG_HOOKS_LTO |
#define LANG_HOOKS_MAKE_TYPE lhd_make_node |
Types hooks. There are no reasonable defaults for most of them, so we create a compile-time error instead.
#define LANG_HOOKS_MISSING_NORETURN_OK_P hook_bool_tree_true |
#define LANG_HOOKS_NAME "GNU unknown" |
#define LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP lhd_omp_assignment |
#define LANG_HOOKS_OMP_CLAUSE_COPY_CTOR lhd_omp_assignment |
#define LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR hook_tree_tree_tree_tree_null |
#define LANG_HOOKS_OMP_CLAUSE_DTOR hook_tree_tree_tree_null |
#define LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR hook_bool_tree_bool_false |
#define LANG_HOOKS_OMP_FINISH_CLAUSE hook_void_tree |
#define LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES lhd_omp_firstprivatize_type_sizes |
#define LANG_HOOKS_OMP_MAPPABLE_TYPE lhd_omp_mappable_type |
#define LANG_HOOKS_OMP_PREDETERMINED_SHARING lhd_omp_predetermined_sharing |
#define LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE hook_bool_tree_bool_false |
#define LANG_HOOKS_OMP_PRIVATE_OUTER_REF hook_bool_tree_false |
#define LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE hook_bool_const_tree_false |
#define LANG_HOOKS_OMP_REPORT_DECL lhd_pass_through_t |
#define LANG_HOOKS_OPTION_LANG_MASK hook_uint_void_0 |
#define LANG_HOOKS_PARSE_FILE lhd_do_nothing |
#define LANG_HOOKS_POST_OPTIONS lhd_post_options |
#define LANG_HOOKS_PRINT_DECL lhd_print_tree_nothing |
#define LANG_HOOKS_PRINT_ERROR_FUNCTION lhd_print_error_function |
#define LANG_HOOKS_PRINT_IDENTIFIER lhd_print_tree_nothing |
#define LANG_HOOKS_PRINT_STATISTICS lhd_do_nothing |
#define LANG_HOOKS_PRINT_TYPE lhd_print_tree_nothing |
#define LANG_HOOKS_PRINT_XNODE lhd_print_tree_nothing |
#define LANG_HOOKS_PUSHDECL pushdecl |
#define LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE reconstruct_complex_type |
#define LANG_HOOKS_REGISTER_BUILTIN_TYPE lhd_register_builtin_type |
#define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME lhd_set_decl_assembler_name |
#define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset |
#define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN lhd_tree_dump_dump_tree |
#define LANG_HOOKS_TREE_DUMP_INITIALIZER |
#define LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN lhd_tree_dump_type_quals |
#define LANG_HOOKS_TREE_INLINING_INITIALIZER |
#define LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P hook_bool_tree_tree_false |
Tree inlining hooks.
#define LANG_HOOKS_TREE_SIZE lhd_tree_size |
#define LANG_HOOKS_TYPE_HASH_EQ NULL |
#define LANG_HOOKS_TYPE_MAX_SIZE lhd_return_null_const_tree |
#define LANG_HOOKS_TYPE_PROMOTES_TO lhd_type_promotes_to |
#define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p |
#define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL lhd_warn_unused_global_decl |
#define LANG_HOOKS_WRITE_GLOBALS write_global_declarations |
void lhd_append_data | ( | const void * | , |
size_t | , | ||
void * | |||
) |
void lhd_begin_section | ( | const char * | ) |
LTO hooks.
bool lhd_decl_ok_for_sibcall | ( | const_tree | ) |
const char* lhd_decl_printable_name | ( | tree | , |
int | |||
) |
void lhd_do_nothing | ( | void | ) |
Note to creators of new hooks:
The macros in this file should NOT be surrounded by a #ifdef...#endif pair, since this file declares the defaults. Each front end overrides any hooks it wishes to, in the file containing its struct lang_hooks, AFTER including this file. See langhooks.h for the definition and documentation of each hook.
Default language-specific hooks. Copyright (C) 2001-2013 Free Software Foundation, Inc. Contributed by Alexandre Oliva aoliv a@re dhat. com
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/. Do nothing; in many cases the default hook.
void lhd_do_nothing_f | ( | struct function * | ) |
tree lhd_do_nothing_iii_return_null_tree | ( | int | , |
int | , | ||
int | |||
) |
void lhd_do_nothing_t | ( | tree | ) |
const char* lhd_dwarf_name | ( | tree | , |
int | |||
) |
void lhd_end_section | ( | void | ) |
Finish the current LTO output section. This default implementation emits assembly code to switch to any section previously saved by lhd_begin_section.
alias_set_type lhd_get_alias_set | ( | tree | ) |
int lhd_gimplify_expr | ( | tree * | expr_p, |
gimple_seq * | pre_p, | ||
gimple_seq * | post_p | ||
) |
Declarations for tree gimplification hooks.
lang_hooks.gimplify_expr re-writes *EXPR_P into GIMPLE form.
References lang_hooks::decls, lang_hooks_for_decls::getdecls, and timevar_start().
bool lhd_handle_option | ( | size_t | code, |
const char * | arg, | ||
int | value, | ||
int | kind, | ||
location_t | loc, | ||
const struct cl_option_handlers * | handlers | ||
) |
By default, no language-specific options are valid.
void lhd_incomplete_type_error | ( | const_tree | , |
const_tree | |||
) |
void lhd_init_options | ( | unsigned int | decoded_options_count, |
struct cl_decoded_option * | decoded_options | ||
) |
Called to perform language-specific options initialization.
void lhd_initialize_diagnostics | ( | diagnostic_context * | ) |
Declarations of default tree inlining hooks.
tree lhd_make_node | ( | enum | tree_code | ) |
void lhd_omp_firstprivatize_type_sizes | ( | struct gimplify_omp_ctx * | c, |
tree | t | ||
) |
Register language specific type size variables as potentially OpenMP firstprivate variables.
enum omp_clause_default_kind lhd_omp_predetermined_sharing | ( | tree | ) |
bool lhd_post_options | ( | const char ** | ) |
void lhd_print_error_function | ( | diagnostic_context * | context, |
const char * | file, | ||
diagnostic_info * | diagnostic | ||
) |
The default function to print out name of current function that caused an error.
References _, BLOCK_ABSTRACT_ORIGIN, BLOCK_SOURCE_LOCATION, BLOCK_SUPERCONTEXT, lang_hooks::decl_printable_name, expand_location(), identifier_to_locale(), NULL, pp_comma, pp_newline(), pp_printf(), diagnostic_context::printer, diagnostic_context::show_column, and TREE_CODE.
void lhd_print_tree_nothing | ( | FILE * | , |
tree | , | ||
int | |||
) |
void lhd_register_builtin_type | ( | tree | , |
const char * | |||
) |
tree lhd_return_null_const_tree | ( | const_tree | ) |
void lhd_set_decl_assembler_name | ( | tree | ) |
HOST_WIDE_INT lhd_to_target_charset | ( | HOST_WIDE_INT | ) |
int lhd_tree_dump_type_quals | ( | const_tree | ) |
size_t lhd_tree_size | ( | enum | tree_code | ) |
bool lhd_warn_unused_global_decl | ( | const_tree | ) |