#ifndef _FIRM_IRNODESET_H_
#define _FIRM_IRNODESET_H_
+#include <stdbool.h>
#include "firm_types.h"
#include "xmalloc.h"
*
* @param nodeset Pointer to the nodeset
* @param node node to insert into the nodeset
- * @returns 1 if the element has been inserted,
- * 0 if it was already there
+ * @returns true if the element has been inserted,
+ * false if it was already there
*/
-int ir_nodeset_insert(ir_nodeset_t *nodeset, ir_node *node);
+bool ir_nodeset_insert(ir_nodeset_t *nodeset, ir_node *node);
/**
*
* @param nodeset Pointer to the nodeset
* @param node The pointer to find
- * @returns 1 if nodeset contains the node, 0 else
*/
-int ir_nodeset_contains(const ir_nodeset_t *nodeset, const ir_node *node);
+bool ir_nodeset_contains(const ir_nodeset_t *nodeset, const ir_node *node);
/**
* Returns the number of pointers contained in the nodeset
}
#define foreach_ir_nodeset(nodeset, irn, iter) \
- for(ir_nodeset_iterator_init(&iter, nodeset), \
- irn = ir_nodeset_iterator_next(&iter); \
- irn != NULL; irn = ir_nodeset_iterator_next(&iter))
+ for (bool irn##__once = true; irn##__once;) \
+ for (ir_nodeset_iterator_t iter; irn##__once;) \
+ for (ir_node *irn; irn##__once; irn##__once = false) \
+ for (ir_nodeset_iterator_init(&iter, nodeset); (irn = ir_nodeset_iterator_next(&iter));)
#endif