From: Michael Beck Date: Fri, 24 Mar 2006 11:26:41 +0000 (+0000) Subject: Add debug retriever X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=61e6b1fa845ebe664bb32573d24eab6f67173e7f;p=libfirm Add debug retriever --- diff --git a/ir/be/bemain.c b/ir/be/bemain.c index 30ce5c1db..ce8867158 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -336,11 +336,28 @@ static void be_main_loop(FILE *file_handle) be_done_env(&env); } +/* Main interface to the frontend. */ void be_main(FILE *file_handle) { /* never build code for pseudo irgs */ - set_visit_pseudo_irgs(0); + set_visit_pseudo_irgs(0); be_node_init(); be_main_loop(file_handle); } + +/** The debug info retriever function. */ +static retrieve_dbg_func retrieve_dbg = NULL; + +/* Sets a debug info retriever. */ +void be_set_debug_retrieve(retrieve_dbg_func func) { + retrieve_dbg = func; +} + +/* Retrieve the debug info. */ +const char *be_retrieve_dbg_info(const dbg_info *dbg, unsigned *line) { + if (retrieve_dbg) + return retrieve_dbg(dbg, line); + *line = 0; + return NULL; +}