Cleanup: remove firm_common_t.h (and the PRECISE_EXC_CONTEXT define)
[libfirm] / ir / ana / dfs_t.h
index bcb1690..0accb63 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.
  *
@@ -29,7 +29,6 @@
 #ifndef FIRM_ANA_DFS_T_H
 #define FIRM_ANA_DFS_T_H
 
-#include "firm_config.h"
 #include "hashptr.h"
 #include "absgraph.h"
 #include "obst.h"
 
 struct _dfs_node_t {
        int visited;
-       void *node;
-       void *ancestor;
+       const void *node;
+       const void *ancestor;
        int pre_num;
        int max_pre_num;
        int     post_num;
+       int     level;
 };
 
 struct _dfs_edge_t {
-       void *src, *tgt;
+       const void *src, *tgt;
        dfs_node_t *s, *t;
        dfs_edge_kind_t kind;
 };
@@ -66,7 +66,7 @@ struct _dfs_t {
        unsigned edges_classified : 1;
 };
 
-static struct _dfs_node_t *_dfs_get_node(const struct _dfs_t *self, void *node)
+static struct _dfs_node_t *_dfs_get_node(const struct _dfs_t *self, const void *node)
 {
        struct _dfs_node_t templ;
        memset(&templ, 0, sizeof(templ));
@@ -76,7 +76,7 @@ static struct _dfs_node_t *_dfs_get_node(const struct _dfs_t *self, void *node)
 
 #define _dfs_int_is_ancestor(n, m) ((m)->pre_num >= (n)->pre_num && (m)->pre_num <= (n)->max_pre_num)
 
-static INLINE int _dfs_is_ancestor(const struct _dfs_t *dfs, void *a, void *b)
+static inline int _dfs_is_ancestor(const struct _dfs_t *dfs, const void *a, const void *b)
 {
        struct _dfs_node_t *n = _dfs_get_node(dfs, a);
        struct _dfs_node_t *m = _dfs_get_node(dfs, b);