Fix compile errors.
[libfirm] / ir / ir / iredges_t.h
index ced4650..d82e8a6 100644 (file)
  * An edge.
  */
 struct _ir_edge_t {
-  ir_node  *src;          /**< The source node of the edge. */
-  int      pos;           /**< The position of the edge at @p src. */
-  unsigned invalid : 1;   /**< edges that are removed are marked invalid. */
-  unsigned present : 1;   /**< Used by the verifier. Don't rely on its content. */
-  unsigned kind    : 4;   /**< The kind of the edge. */
-  struct list_head list;  /**< The list head to queue all out edges at a node. */
+       ir_node  *src;          /**< The source node of the edge. */
+       int      pos;           /**< The position of the edge at @p src. */
+       unsigned invalid : 1;   /**< edges that are removed are marked invalid. */
+       unsigned present : 1;   /**< Used by the verifier. Don't rely on its content. */
+       unsigned kind    : 4;   /**< The kind of the edge. */
+       struct list_head list;  /**< The list head to queue all out edges at a node. */
 #ifdef DEBUG_libfirm
-  long src_nr;            /**< The node number of the source node. */
-  long edge_nr;           /**< A unique number identifying the edge. */
+       long src_nr;            /**< The node number of the source node. */
+       long edge_nr;           /**< A unique number identifying the edge. */
 #endif
 };
 
@@ -78,7 +78,9 @@ struct _ir_edge_t {
 */
 static inline const ir_edge_t *_get_irn_out_edge_first_kind(const ir_node *irn, ir_edge_kind_t kind)
 {
-       const struct list_head *head = _get_irn_outs_head(irn, kind);
+       const struct list_head *head;
+       assert(edges_activated_kind(get_irn_irg(irn), kind));
+       head = _get_irn_outs_head(irn, kind);
        return list_empty(head) ? NULL : list_entry(head->next, ir_edge_t, list);
 }