https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127559
Bug ID: 127559
Summary: [OpenMP]
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, openmp
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: burnus at gcc dot gnu.org
Target Milestone: ---
The following code - a reduced code of the src/lrn-omp, part of
https://github.com/ORNL/HeCBench fails with
g++ -fopenmp
as follows:
inp2.ii:6:33: error: incorrect sharing of tree nodes
6 | auto ker = [=] { get_omega; };
| ^
ker.__get_omega
#pragma omp target num_teams(-2) thread_limit(0) map(alloc:MEM[(char *)src_]
[len: 0]) map(firstprivate:src_ [pointer assign, bias: 0])
map(to:ker.__get_omega [len: 8]) map(struct:ker.__get_omega = get_omega [len:
1]) map(alloc:ker.__get_omega.__src_ [len: 8]) map(alloc:*_1 [len: 0])
map(attach_zero_length_array_section:ker.__get_omega.__src_ [bias: 0]) [child
fn: _Z14lrn_bwd_kernelv._omp_fn.0 ({.omp_data_arr.1, .omp_data_sizes.2,
.omp_data_kinds.3})]
during GIMPLE pass: cfg
inp2.ii:6:33: internal compiler error: verify_gimple failed
0x2e5b3df internal_error(char const*, ...)
/home/tob/repos/gcc/gcc/diagnostic-global-context.cc:787
0x16e2250 verify_gimple_in_cfg(function*, bool, bool)
/home/tob/repos/gcc/gcc/tree-cfg.cc:5642
0x153e08a execute_function_todo
/home/tob/repos/gcc/gcc/passes.cc:2100
0x153e5e7 execute_todo
/home/tob/repos/gcc/gcc/passes.cc:2152
-------- Reduced testcase ----------------
void lrn_bwd_kernel() {
float *src_;
#pragma omp target
{
auto get_omega = [=] { src_; };
auto ker = [=] { get_omega; };
}
}