/*
- * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* @date 15.12.2004
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
-
-#include "firm_config.h"
#ifdef DEBUG_libfirm
#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 lc_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 lc_dbg_register_with_printer(name, firm_dbg_default_printer);
-}
-
-#else
-
static struct obstack dbg_obst;
static set *module_set;
/**
* A debug module.
*/
-struct _firm_dbg_module_t {
+struct firm_dbg_module_t {
unsigned mask;
const char *name;
FILE *file;
{
const firm_dbg_module_t *m1 = p1;
const firm_dbg_module_t *m2 = p2;
+ (void) size;
+
return strcmp(m1->name, m2->name);
}
mod.name = name;
mod.file = stderr;
- if(!module_set)
+ if (!module_set)
firm_dbg_init();
return set_insert(module_set, &mod, sizeof(mod), HASH_STR(name, strlen(name)));
/**
* A message info: a pair of debug handle and message
*/
-typedef struct _msg_info_t {
+typedef struct msg_info_t {
const char *msg;
const firm_dbg_module_t *mod;
} msg_info_t;
static void *make_msg_info(const firm_dbg_module_t *mod, const char *fmt, va_list args)
{
static const char msg_header[] = "%s(%d) %s: ";
- msg_info_t *res = obstack_alloc(&dbg_obst, sizeof(*res));
+ msg_info_t *res = OALLOC(&dbg_obst, msg_info_t);
obstack_grow(&dbg_obst, msg_header, sizeof(msg_header) - 1);
ir_obst_vprintf(&dbg_obst, fmt, args);
{
void *res = NULL;
- if(mask == 0 || (mod->mask & mask)) {
+ if (mask == 0 || (mod->mask & mask)) {
va_list args;
va_start(args, fmt);
res = make_msg_info(mod, fmt, args);
void _firm_dbg_print_msg(const char *filename, int line, const char *func, void *mi_ptr)
{
msg_info_t *mi = mi_ptr;
- if(mi) {
+ if (mi) {
fprintf(mi->mod->file, mi->msg, filename, line, func);
obstack_free(&dbg_obst, mi);
}
void _firm_dbg_print(const firm_dbg_module_t *mod, unsigned mask, const char *fmt, ...)
{
- if(mask == 0 || (mod->mask & mask)) {
+ if (mask == 0 || (mod->mask & mask)) {
va_list args;
char *res;
va_start(args, fmt);
ir_obst_vprintf(&dbg_obst, fmt, args);
obstack_1grow(&dbg_obst, '\0');
res = obstack_finish(&dbg_obst);
- fprintf(mod->file, res);
+ fprintf(mod->file, "%s", res);
obstack_free(&dbg_obst, res);
va_end(args);
}
}
-#endif /* WITH_LIBCORE */
-
#else /* DEBUG_libfirm */
/* some picky compiler don't allow empty files */
-static int dummy;
+static int __attribute__((unused)) dummy;
#endif /* DEBUG_libfirm */