Unconditionally include stdlib.h.
[libfirm] / ir / stat / pattern_dmp.c
index d2b4240..ef7136a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.
  *
  * @author  Michael Beck
  * @version $Id$
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
+
+#ifdef FIRM_STATISTICS
 
 #include <stdio.h>
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
+#include <stdlib.h>
 
 #include "ident.h"
 #include "irop_t.h"
@@ -152,7 +150,7 @@ static void vcg_dump_node(pattern_dumper_t *self, unsigned id,
 {
        vcg_private_t *priv = self->data;
        ir_op *op           = stat_get_op_from_opcode(op_code);
-       ir_mode *mode       = (ir_mode *)mode_code;
+       ir_mode *mode       = stat_mode_for_index(mode_code);
        long l              = attr ? *(long *)attr : 0;
 
        if (priv->pattern_id > priv->max_pattern)
@@ -173,6 +171,7 @@ static void vcg_dump_node(pattern_dumper_t *self, unsigned id,
 static void vcg_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src, unsigned pos, unsigned mode_code)
 {
        vcg_private_t *priv = self->data;
+       (void) mode_code;
 
        if (priv->pattern_id > priv->max_pattern)
                return;
@@ -228,7 +227,8 @@ static void stdout_dump_node(pattern_dumper_t *self, unsigned id, unsigned op_co
 {
        FILE *f       = self->data;
        ir_op *op     = stat_get_op_from_opcode(op_code);
-       ir_mode *mode = (ir_mode *)mode_code;
+       ir_mode *mode = stat_mode_for_index(mode_code);
+       (void) attr;
 
        /* if (env->options & OPT_ENC_GRAPH) */
        fprintf(f, "%u:", id);
@@ -255,6 +255,10 @@ static void stdout_dump_ref(pattern_dumper_t *self, unsigned id)
 static void stdout_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src, unsigned pos, unsigned mode_code)
 {
        FILE *f = self->data;
+       (void) tgt;
+       (void) src;
+       (void) pos;
+       (void) mode_code;
 
        if (pos > 0)
                fprintf(f, ", ");
@@ -266,6 +270,7 @@ static void stdout_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src,
 static void stdout_start_children(pattern_dumper_t *self, unsigned id)
 {
        FILE *f = self->data;
+       (void) id;
 
        fprintf(f, "(");
 }  /* stdout_start_children */
@@ -276,6 +281,7 @@ static void stdout_start_children(pattern_dumper_t *self, unsigned id)
 static void stdout_finish_children(pattern_dumper_t *self, unsigned id)
 {
        FILE *f = self->data;
+       (void) id;
 
        fprintf(f, ")");
 }  /* stdout_finish_children */
@@ -419,3 +425,5 @@ pattern_dumper_t *new_vcg_dumper(const char *vcg_name, unsigned max_pattern)
 
        return res;
 }  /* new_vcg_dumper */
+
+#endif /* FIRM_STATISTICS */