https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81816
--- Comment #3 from Igor Venevtsev <igor.venevtsev at intel dot com> --- Created attachment 42049 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42049&action=edit Proposed so-called 'patch';) I've got an idea to replace target construct by its body in outer context. It fixes ICE, but breaks a lot of OpenACC tests;) And yes, without ICE nested target region will be lowered to GOMP_target_ext() call in target context and this behavior is undefined according to OpenMP specification. Maybe the place of transformation is not correct or else the transformation itself is absolutely wrong. I attached the 'patch' in hope it could be useful.