diff options
Diffstat (limited to 'gcc/toplev.h')
-rw-r--r-- | gcc/toplev.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/toplev.h b/gcc/toplev.h index 860d49bd9d7..72fa2fd640a 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -115,7 +115,31 @@ extern void check_global_declarations PARAMS ((union tree_node **, int)); extern const char *progname; extern const char *dump_base_name; +/* The following hooks are documented in langhooks.c. Must not be + NULL. */ + +struct lang_hooks_for_tree_inlining +{ + union tree_node *(*walk_subtrees) PARAMS ((union tree_node **, int *, + union tree_node *(*) + (union tree_node **, + int *, void *), + void *, void *)); + int (*cannot_inline_tree_fn) PARAMS ((union tree_node **)); + int (*disregard_inline_limits) PARAMS ((union tree_node *)); + union tree_node *(*add_pending_fn_decls) PARAMS ((void*, union tree_node *)); + int (*tree_chain_matters_p) PARAMS ((union tree_node *)); + int (*auto_var_in_fn_p) PARAMS ((union tree_node *, union tree_node *)); + union tree_node *(*copy_res_decl_for_inlining) PARAMS ((union tree_node *, + union tree_node *, + union tree_node *, + void *, int *, + void *)); + int (*anon_aggr_type_p) PARAMS ((union tree_node *)); +}; + /* Language-specific hooks. Can be NULL unless otherwise specified. */ + struct lang_hooks { /* Called first, to initialize the front end. */ @@ -141,6 +165,11 @@ struct lang_hooks /* Called when all command line options have been processed. */ void (*post_options) PARAMS ((void)); + + struct lang_hooks_for_tree_inlining tree_inlining; + + /* Whenever you add entries here, make sure you adjust langhooks.h + and langhooks.c accordingly. */ }; /* Each front end provides its own. */ |