iredges: Slightly simplify foreach_out_edge_kind_safe().
authorChristoph Mallon <christoph.mallon@gmx.de>
Mon, 26 Nov 2012 21:05:54 +0000 (22:05 +0100)
committerChristoph Mallon <christoph.mallon@gmx.de>
Tue, 27 Nov 2012 10:16:15 +0000 (11:16 +0100)
include/libfirm/iredges.h

index 7d09fe7..c4b6ba8 100644 (file)
@@ -95,9 +95,8 @@ FIRM_API const ir_edge_t *get_irn_out_edge_next(const ir_node *irn,
  * @param kind The kind of the edge.
  */
 #define foreach_out_edge_kind_safe(irn, edge, kind) \
-       for (ir_edge_t const *edge = get_irn_out_edge_first_kind((irn), (kind)), *edge##__next; \
-            edge ? edge##__next = get_irn_out_edge_next((irn), edge, (kind)), 1 : (edge##__next = NULL, 0); \
-            edge = edge##__next)
+       for (ir_edge_t const *edge = get_irn_out_edge_first_kind((irn), (kind)), *edge##__next; edge; edge = edge##__next) \
+               if (edge##__next = get_irn_out_edge_next((irn), edge, (kind)), 0) {} else
 
 /**
  * Convenience macro for normal out edges.