https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92123
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The TREE_STATIC looks wrong to me, it will misbehave if the function is called recursively, or if the function is called several times concurrently (say in OpenMP). If the reason for TREE_STATIC is that the artificial var is being declared in some inner scope and then used outside of that scope, perhaps it needs to be declared in some outer scope, perhaps in the outermost scope of the function.