On Wed, Mar 02, 2022 at 10:04:40PM +0000, Gary Oblock via Gcc wrote: > Guys, > > I've been working on an optimization for quite a bit of time and > in an attempt to move it to GCC 12 I found that FOR_EACH_LOOP_FN > no longer exists. I poked around in the archives and tried a Google > search but found nothing on it. > > It suited my needs and I'd hate to have to rewrite a bunch of stuff. > What replaces it and how do I use?
Look at this commit: commit e41ba804ba5f5ca433e09238d561b1b4c8b10985 Author: Kewen Lin <li...@linux.ibm.com> Date: Thu Jul 29 22:26:25 2021 -0500 Use range-based for loops for traversing loops This patch follows Martin's suggestion here[1], to support range based loop for iterating loops, analogously to the patch for vec[2]. For example, use below range-based for loop for (auto loop : loops_list (cfun, 0)) to replace the previous macro FOR_EACH_LOOP FOR_EACH_LOOP (loop, 0) which shows a number of examples like - loop_p loop; - FOR_EACH_LOOP_FN (fn, loop, LI_INCLUDE_ROOT) + for (auto loop : loops_list (fn, LI_INCLUDE_ROOT)) Marek