diff options
Diffstat (limited to 'gcc/langhooks-def.h')
-rw-r--r-- | gcc/langhooks-def.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index 5af66da7223..594103e1292 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -55,7 +55,9 @@ extern int lhd_unsafe_for_reeval (tree); extern void lhd_clear_binding_stack (void); extern void lhd_print_tree_nothing (FILE *, tree, int); extern const char *lhd_decl_printable_name (tree, int); +extern int lhd_types_compatible_p (tree, tree); extern rtx lhd_expand_expr (tree, rtx, enum machine_mode, int, rtx *); +extern int lhd_expand_decl (tree); extern void lhd_print_error_function (struct diagnostic_context *, const char *); extern void lhd_set_decl_assembler_name (tree); @@ -88,6 +90,9 @@ extern void lhd_initialize_diagnostics (struct diagnostic_context *); extern tree lhd_callgraph_analyze_expr (tree *, int *, tree); +/* Declarations for tree gimplification hooks. */ +extern int lhd_gimplify_expr (tree *, tree *, tree *); + #define LANG_HOOKS_NAME "GNU unknown" #define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier) #define LANG_HOOKS_INIT hook_bool_void_false @@ -102,6 +107,7 @@ extern tree lhd_callgraph_analyze_expr (tree *, int *, tree); #define LANG_HOOKS_GET_ALIAS_SET lhd_get_alias_set #define LANG_HOOKS_EXPAND_CONSTANT lhd_return_tree #define LANG_HOOKS_EXPAND_EXPR lhd_expand_expr +#define LANG_HOOKS_EXPAND_DECL lhd_expand_decl #define LANG_HOOKS_SAFE_FROM_P lhd_safe_from_p #define LANG_HOOKS_FINISH_INCOMPLETE_DECL lhd_do_nothing_t #define LANG_HOOKS_UNSAFE_FOR_REEVAL lhd_unsafe_for_reeval @@ -122,18 +128,15 @@ extern tree lhd_callgraph_analyze_expr (tree *, int *, tree); #define LANG_HOOKS_DECL_PRINTABLE_NAME lhd_decl_printable_name #define LANG_HOOKS_GET_CALLEE_FNDECL lhd_return_null_tree #define LANG_HOOKS_EXPR_SIZE lhd_expr_size -#define LANG_HOOKS_DECL_UNINIT lhd_decl_uninit #define LANG_HOOKS_TREE_SIZE lhd_tree_size +#define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p #define LANG_HOOKS_UPDATE_DECL_AFTER_SAVING NULL #define LANG_HOOKS_FUNCTION_INIT lhd_do_nothing_f #define LANG_HOOKS_FUNCTION_FINAL lhd_do_nothing_f #define LANG_HOOKS_FUNCTION_ENTER_NESTED lhd_do_nothing_f #define LANG_HOOKS_FUNCTION_LEAVE_NESTED lhd_do_nothing_f - -#define LANG_HOOKS_RTL_EXPAND_START lhd_do_nothing -#define LANG_HOOKS_RTL_EXPAND_STMT (void (*) (tree)) abort -#define LANG_HOOKS_RTL_EXPAND_END lhd_do_nothing +#define LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P hook_bool_tree_true /* Attribute hooks. */ #define LANG_HOOKS_ATTRIBUTE_TABLE NULL @@ -195,14 +198,13 @@ extern tree lhd_callgraph_analyze_expr (tree *, int *, tree); LANG_HOOKS_FUNCTION_INIT, \ LANG_HOOKS_FUNCTION_FINAL, \ LANG_HOOKS_FUNCTION_ENTER_NESTED, \ - LANG_HOOKS_FUNCTION_LEAVE_NESTED \ + LANG_HOOKS_FUNCTION_LEAVE_NESTED, \ + LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P \ } -#define LANG_HOOKS_RTL_EXPAND_INITIALIZER { \ - LANG_HOOKS_RTL_EXPAND_START, \ - LANG_HOOKS_RTL_EXPAND_STMT, \ - LANG_HOOKS_RTL_EXPAND_END \ -} +/* Hooks for tree gimplification. */ +#define LANG_HOOKS_GIMPLIFY_EXPR lhd_gimplify_expr +#define LANG_HOOKS_GIMPLE_BEFORE_INLINING true /* Tree dump hooks. */ extern bool lhd_tree_dump_dump_tree (void *, tree); @@ -282,6 +284,7 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_GET_ALIAS_SET, \ LANG_HOOKS_EXPAND_CONSTANT, \ LANG_HOOKS_EXPAND_EXPR, \ + LANG_HOOKS_EXPAND_DECL, \ LANG_HOOKS_TRUTHVALUE_CONVERSION, \ LANG_HOOKS_SAFE_FROM_P, \ LANG_HOOKS_FINISH_INCOMPLETE_DECL, \ @@ -301,10 +304,10 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_PRINT_TYPE, \ LANG_HOOKS_PRINT_IDENTIFIER, \ LANG_HOOKS_DECL_PRINTABLE_NAME, \ + LANG_HOOKS_TYPES_COMPATIBLE_P, \ LANG_HOOKS_GET_CALLEE_FNDECL, \ LANG_HOOKS_PRINT_ERROR_FUNCTION, \ LANG_HOOKS_EXPR_SIZE, \ - LANG_HOOKS_DECL_UNINIT, \ LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, \ LANG_HOOKS_ATTRIBUTE_TABLE, \ LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, \ @@ -315,7 +318,8 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_TREE_DUMP_INITIALIZER, \ LANG_HOOKS_DECLS, \ LANG_HOOKS_FOR_TYPES_INITIALIZER, \ - LANG_HOOKS_RTL_EXPAND_INITIALIZER \ + LANG_HOOKS_GIMPLIFY_EXPR, \ + LANG_HOOKS_GIMPLE_BEFORE_INLINING \ } #endif /* GCC_LANG_HOOKS_DEF_H */ |