https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100965
Bug ID: 100965 Summary: [OpenMP] ICE: Error: incorrect sharing of tree nodes Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, openmp Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Found when working on 'defaultmap' (related: PR90742, PR92568). The following gives an ICE: SAVE_EXPR <.strxa.6> #pragma omp target num_teams(1) thread_limit(0) map(tofrom:*strxa [len: SAVE_EXPR <.strxa.6>]) map(alloc:strxa [pointer assign, bias: 0]) map(to:.strxa [len: 8]) [child fn: MAIN__._omp_fn.1 (.omp_data_arr.7, .omp_data_sizes.8, .omp_data_kinds.9)] during GIMPLE pass: cfg foo.f90:8:14: internal compiler error: verify_gimple failed 0xf8b4e1 verify_gimple_in_cfg(function*, bool) ../../repos/gcc/gcc/tree-cfg.c:5509 but only when used in two separate target regions: implicit none character(len=:), allocatable :: strXa !$omp target strXa = "" !$omp end target !$omp target strXa = "" !$omp end target end