A_ALLOCNOS. */ int n; }; /* Initialize the iterator I. */ inline void ira_allocno_iter_init (ira_allocno_iterator *i) { i->n = 0; } /* Return TRUE if we have more allocnos to visit, in which case *A is set to the allocno to be visited. Otherwise, return FALSE. */ inline bool ira_allocno_iter_cond (ira_allocno_iterator *i, ira_allocno_t *a) { int n; for (n = i->n; n < ira_allocnos_num; n++) if (ira_allocnos[n] != NULL) { *a = ira_allocnos[n]; i->n = n + 1; return true; } return false; } /* Loop over all allocnos. In each iteration, A is set to the next allocno. ITER is an instance of ira_allocno_iterator used to iterate the allocnos. */ #define FOR_EACH_ALLOCNO(A, ITER) \ for (ira_allocno_iter_init (&(ITER)); \ ira_allocno_iter_cond (&(ITER), &(A));)