X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fir%2Firnodeset.h;h=2c298aa9b6794f6c4965363e98cbd1e720a3432b;hb=3c3425a50a1d721b74a015c6812257e32feeac85;hp=71c156d84809afeba311a3adf31c1e32dbbc88a5;hpb=e9237e148a4cd289c02e4800f094cd64445fd2fd;p=libfirm diff --git a/ir/ir/irnodeset.h b/ir/ir/irnodeset.h index 71c156d84..2c298aa9b 100644 --- a/ir/ir/irnodeset.h +++ b/ir/ir/irnodeset.h @@ -29,6 +29,7 @@ #ifndef _FIRM_IRNODESET_H_ #define _FIRM_IRNODESET_H_ +#include #include "firm_types.h" #include "xmalloc.h" @@ -95,10 +96,10 @@ static inline void ir_nodeset_del(ir_nodeset_t *nodeset) { * * @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); /** @@ -115,9 +116,8 @@ void ir_nodeset_remove(ir_nodeset_t *nodeset, const 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 @@ -165,8 +165,9 @@ static inline ir_node *ir_nodeset_first(ir_nodeset_t const *const 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