X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fcommon%2Fdebug.c;h=12c3467c48ece22dbb6718016601e75125659f08;hb=1a06a5a742509e6027ed64b8b28f95e22c00a006;hp=62274438e4a50d34692f611b08f43409358d4ca1;hpb=35ed8c5d87f3eb7b564f89782b8e197b3f04cd67;p=libfirm diff --git a/ir/common/debug.c b/ir/common/debug.c index 62274438e..12c3467c4 100644 --- a/ir/common/debug.c +++ b/ir/common/debug.c @@ -18,6 +18,28 @@ #include "obst.h" #include "set.h" +#ifdef WITH_LIBCORE + +#include "irargs_t.h" + +static void firm_dbg_default_printer(struct obstack *obst, const char *fmt, va_list args) +{ + static arg_env_t *env = NULL; + + if(!env) + env = firm_get_arg_env(); + + lc_evoprintf(env, obst, fmt, args); + +} + +firm_dbg_module_t *firm_dbg_register(const char *name) +{ + return dbg_register_with_printer(name, firm_dbg_default_printer); +} + +#else + static struct obstack dbg_obst; static set *module_set; @@ -80,6 +102,8 @@ static void *make_msg_info(const firm_dbg_module_t *mod, const char *fmt, va_lis obstack_grow(&dbg_obst, msg_header, sizeof(msg_header) - 1); ir_obst_vprintf(&dbg_obst, fmt, args); + obstack_1grow(&dbg_obst, '\0'); + res->msg = obstack_finish(&dbg_obst); res->mod = mod; return res; @@ -107,3 +131,6 @@ void _firm_dbg_print_msg(const char *filename, int line, const char *func, void obstack_free(&dbg_obst, mi); } } + + +#endif /* WITH_LIBCORE */