https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82568
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- As I said, the standard doesn't cover it, so what it will say about it is unclear. One thing are non-saved non-common non-use_assoc vars inside of the BLOCK, for those defining them as automatic variables inside of the region has the effect of making them private, which is the only sane thing to do. The reason for the ICE was that the standard says that if there are sequential loops inside of parallel etc. regions, then their iteration variables are predetermined private in the parallel (and what the code did was add them as private clauses on the construct, referencing them before they were declared). What is unclear is if there are saved, common, use_assoc vars inside the block and they are mentioned in sequential loops as their iterators. I have no idea what will the standard say about those.