becopyheur2: Cache the admissible registers eagerly.
[libfirm] / ir / common / debug.c
index 9409f01..70d60ed 100644 (file)
@@ -1,20 +1,6 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
- *
  * This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
 
 /**
@@ -22,11 +8,8 @@
  * @brief   Debug facility.
  * @author  Michael Beck, Sebastian Hack
  * @date    15.12.2004
- * @version $Id$
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #ifdef DEBUG_libfirm
 
@@ -46,19 +29,19 @@ static set *module_set;
 /**
  * A debug module.
  */
-struct _firm_dbg_module_t {
+struct firm_dbg_module_t {
   unsigned mask;
   const char *name;
   FILE *file;
 };
 
 /**
- * Compares two modules by comparing it's names
+ * Compares two modules by comparing their names
  */
 static int module_cmp(const void *p1, const void *p2, size_t size)
 {
-  const firm_dbg_module_t *m1 = p1;
-  const firm_dbg_module_t *m2 = p2;
+  const firm_dbg_module_t *m1 = (const firm_dbg_module_t*)p1;
+  const firm_dbg_module_t *m2 = (const firm_dbg_module_t*)p2;
   (void) size;
 
   return strcmp(m1->name, m2->name);
@@ -80,10 +63,10 @@ firm_dbg_module_t *firm_dbg_register(const char *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)));
+  return set_insert(firm_dbg_module_t, module_set, &mod, sizeof(mod), hash_str(name));
 }
 
 void firm_dbg_set_mask(firm_dbg_module_t *module, unsigned mask)
@@ -104,7 +87,7 @@ void firm_dbg_set_file(firm_dbg_module_t *module, FILE *file)
 /**
  * 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;
@@ -116,13 +99,13 @@ typedef struct _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);
   obstack_1grow(&dbg_obst, '\0');
 
-  res->msg = obstack_finish(&dbg_obst);
+  res->msg = (const char*)obstack_finish(&dbg_obst);
   res->mod = mod;
   return res;
 }
@@ -131,7 +114,7 @@ void *_firm_dbg_make_msg(const firm_dbg_module_t *mod, unsigned mask, const char
 {
   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);
@@ -143,8 +126,8 @@ void *_firm_dbg_make_msg(const firm_dbg_module_t *mod, unsigned mask, const char
 
 void _firm_dbg_print_msg(const char *filename, int line, const char *func, void *mi_ptr)
 {
-  msg_info_t *mi = mi_ptr;
-  if(mi) {
+  msg_info_t *mi = (msg_info_t*)mi_ptr;
+  if (mi) {
     fprintf(mi->mod->file, mi->msg, filename, line, func);
     obstack_free(&dbg_obst, mi);
   }
@@ -152,14 +135,14 @@ void _firm_dbg_print_msg(const char *filename, int line, const char *func, void
 
 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);
+    res = (char*)obstack_finish(&dbg_obst);
+    fprintf(mod->file, "%s", res);
     obstack_free(&dbg_obst, res);
     va_end(args);
   }