irgraph: Assert in get_irg_obstack(), that no object is currently growing.
[libfirm] / ir / ir / irnodeset.h
index 7c5883f..2c298aa 100644 (file)
@@ -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