beinfo: assert() that be_get_info() is not called on Projs.
[libfirm] / ir / adt / bitset.h
index 0dec423..5d9aada 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -22,7 +22,6 @@
  * @brief   convenience layer over raw_bitsets (stores number of bits
  *          with the bitfield)
  * @author  Matthias Braun
- * @version $Id$
  */
 #ifndef FIRM_ADT_BITSET_H
 #define FIRM_ADT_BITSET_H
@@ -31,6 +30,7 @@
 #include <stdio.h>
 #include <assert.h>
 #include <string.h>
+#include "irprintf.h"
 
 #include "xmalloc.h"
 #include "bitfiddle.h"
@@ -200,8 +200,6 @@ static inline void bitset_copy_into(bitset_t *tgt, const bitset_t *src)
  */
 static inline size_t bitset_next_clear(const bitset_t *bs, size_t pos)
 {
-       if (pos >= bs->size)
-               return (size_t)-1;
        return rbitset_next_max(bs->data, pos, bs->size, false);
 }
 
@@ -215,8 +213,6 @@ static inline size_t bitset_next_clear(const bitset_t *bs, size_t pos)
  */
 static inline size_t bitset_next_set(const bitset_t *bs, size_t pos)
 {
-       if (pos >= bs->size)
-               return (size_t)-1;
        return rbitset_next_max(bs->data, pos, bs->size, true);
 }
 
@@ -225,12 +221,12 @@ static inline size_t bitset_next_set(const bitset_t *bs, size_t pos)
  * @param bitset The bitset.
  * @param elm A size_t variable.
  */
-#define bitset_foreach(bitset,elm) \
-       for(elm = bitset_next_set(bitset,0); elm != (size_t)-1; elm = bitset_next_set(bitset,elm+1))
+#define bitset_foreach(bitset, elm) \
+       for (size_t elm = 0; (elm = bitset_next_set((bitset), elm)) != (size_t)-1; ++elm)
 
 
-#define bitset_foreach_clear(bitset,elm) \
-       for(elm = bitset_next_clear(bitset,0); elm != (size_t) -1; elm = bitset_next_clear(bitset,elm+1))
+#define bitset_foreach_clear(bitset, elm) \
+       for (size_t elm = 0; (elm = bitset_next_clear((bitset), elm)) != (size_t)-1; ++elm)
 
 /**
  * Count the bits set.
@@ -349,7 +345,7 @@ static inline void bitset_fprint(FILE *file, const bitset_t *bs)
 
        putc('{', file);
        for(i = bitset_next_set(bs, 0); i != (size_t)-1; i = bitset_next_set(bs, i + 1)) {
-               fprintf(file, "%s%lu", prefix, (unsigned long) i);
+               ir_fprintf(file, "%s%zu", prefix, i);
                prefix = ",";
        }
        putc('}', file);