https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103695
sandra at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sandra at gcc dot gnu.org --- Comment #2 from sandra at gcc dot gnu.org --- I'm not at all familiar with any of this code (yet), but... Note that it is complaining about variable i declared in the outer procedure p, not about something in the nested function s that contains the OMP directives. Looking at the .original dump, I see that the declaration for the iterator variable j is appearing in the outer procedure p, not the inner function s where it is used in the OMP task directive. The .gimple dump shows both i *and* j declared in both procedures, and the .nested dump shows that a bunch of static chain stuff has been added for j. So my guess is that these variables being inserted into wrong scopes is confusing the ssa passes.