X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Flanghooks-def.h;h=68b5b72bfc670a36f537a29e6171b6fa2ae4a075;hp=aebab55ad1246f7e7db68d6ae56709c6c8654f3f;hb=f177c9a82242d10edc08df30d2d24814ae5c0317;hpb=92ddcd9701b4dd0fde3d3c640cdb6a1f49c0f7a2 diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index aebab55ad12..68b5b72bfc6 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -40,6 +40,7 @@ extern void lhd_do_nothing (void); extern void lhd_do_nothing_t (tree); extern void lhd_do_nothing_i (int); extern void lhd_do_nothing_f (struct function *); +extern tree lhd_pass_through_t (tree); extern bool lhd_post_options (const char **); extern alias_set_type lhd_get_alias_set (tree); extern tree lhd_return_null_tree_v (void); @@ -61,7 +62,7 @@ extern bool lhd_decl_ok_for_sibcall (const_tree); extern size_t lhd_tree_size (enum tree_code); extern HOST_WIDE_INT lhd_to_target_charset (HOST_WIDE_INT); extern tree lhd_expr_to_decl (tree, bool *, bool *); -extern tree lhd_builtin_function (tree decl); +extern tree lhd_builtin_function (tree); /* Declarations of default tree inlining hooks. */ extern void lhd_initialize_diagnostics (struct diagnostic_context *); @@ -99,6 +100,7 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *, #define LANG_HOOKS_PRINT_ERROR_FUNCTION lhd_print_error_function #define LANG_HOOKS_DECL_PRINTABLE_NAME lhd_decl_printable_name #define LANG_HOOKS_DWARF_NAME lhd_dwarf_name +#define LANG_HOOKS_FREE_LANG_DATA lhd_do_nothing_t #define LANG_HOOKS_TREE_SIZE lhd_tree_size #define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p #define LANG_HOOKS_BUILTIN_FUNCTION lhd_builtin_function @@ -106,6 +108,10 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *, #define LANG_HOOKS_EXPR_TO_DECL lhd_expr_to_decl #define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset #define LANG_HOOKS_INIT_TS lhd_do_nothing +#define LANG_HOOKS_EH_PERSONALITY lhd_gcc_personality +#define LANG_HOOKS_EH_RUNTIME_TYPE lhd_pass_through_t +#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false +#define LANG_HOOKS_DEEP_UNSHARING false /* Attribute hooks. */ #define LANG_HOOKS_ATTRIBUTE_TABLE NULL @@ -121,16 +127,13 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *, } #define LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR lhd_callgraph_analyze_expr -#define LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS NULL #define LANG_HOOKS_CALLGRAPH_INITIALIZER { \ - LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR, \ - LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS, \ + LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR \ } /* Hooks for tree gimplification. */ #define LANG_HOOKS_GIMPLIFY_EXPR lhd_gimplify_expr -#define LANG_HOOKS_FOLD_OBJ_TYPE_REF NULL /* Tree dump hooks. */ extern bool lhd_tree_dump_dump_tree (void *, tree); @@ -153,8 +156,12 @@ extern tree lhd_make_node (enum tree_code); #define LANG_HOOKS_GENERIC_TYPE_P hook_bool_const_tree_false #define LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS hook_tree_const_tree_null #define LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS hook_tree_const_tree_null +#define LANG_HOOKS_FUNCTION_PARAMETER_PACK_P hook_bool_const_tree_false #define LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS hook_tree_const_tree_null #define LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P hook_bool_const_tree_false +#define LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P \ + hook_bool_tree_tree_false +#define LANG_HOOKS_GET_GENERIC_FUNCTION_DECL hook_tree_const_tree_null #define LANG_HOOKS_TYPE_PROMOTES_TO lhd_type_promotes_to #define LANG_HOOKS_REGISTER_BUILTIN_TYPE lhd_register_builtin_type #define LANG_HOOKS_TYPE_MAX_SIZE lhd_return_null_const_tree @@ -210,6 +217,8 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_GETDECLS, \ LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P, \ LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P, \ + LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P, \ + LANG_HOOKS_GET_GENERIC_FUNCTION_DECL, \ LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, \ LANG_HOOKS_WRITE_GLOBALS, \ LANG_HOOKS_DECL_OK_FOR_SIBCALL, \ @@ -225,10 +234,26 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_OMP_FINISH_CLAUSE \ } +/* LTO hooks. */ +extern void lhd_begin_section (const char *); +extern void lhd_append_data (const void *, size_t, void *); +extern void lhd_end_section (void); + +#define LANG_HOOKS_BEGIN_SECTION lhd_begin_section +#define LANG_HOOKS_APPEND_DATA lhd_append_data +#define LANG_HOOKS_END_SECTION lhd_end_section + +#define LANG_HOOKS_LTO { \ + LANG_HOOKS_BEGIN_SECTION, \ + LANG_HOOKS_APPEND_DATA, \ + LANG_HOOKS_END_SECTION \ +} + /* The whole thing. The structure is defined in langhooks.h. */ #define LANG_HOOKS_INITIALIZER { \ LANG_HOOKS_NAME, \ LANG_HOOKS_IDENTIFIER_SIZE, \ + LANG_HOOKS_FREE_LANG_DATA, \ LANG_HOOKS_TREE_SIZE, \ LANG_HOOKS_INIT_OPTIONS, \ LANG_HOOKS_INITIALIZE_DIAGNOSTICS, \ @@ -261,14 +286,19 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_TREE_DUMP_INITIALIZER, \ LANG_HOOKS_DECLS, \ LANG_HOOKS_FOR_TYPES_INITIALIZER, \ + LANG_HOOKS_LTO, \ LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS, \ LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS, \ + LANG_HOOKS_FUNCTION_PARAMETER_PACK_P, \ LANG_HOOKS_GIMPLIFY_EXPR, \ - LANG_HOOKS_FOLD_OBJ_TYPE_REF, \ LANG_HOOKS_BUILTIN_FUNCTION, \ LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE, \ LANG_HOOKS_INIT_TS, \ LANG_HOOKS_EXPR_TO_DECL, \ + LANG_HOOKS_EH_PERSONALITY, \ + LANG_HOOKS_EH_RUNTIME_TYPE, \ + LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \ + LANG_HOOKS_DEEP_UNSHARING \ } #endif /* GCC_LANG_HOOKS_DEF_H */