https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113724

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Inside omp_build_struct_sibling_lists, the following assignment:

11654           grp->grp_start = new_next;

has on the LHS the [3] array with value:

(gdb) p *grp
$147 = {grp_start = 0x7ffff71f9688, grp_end = 0x7ffff71f9630, mark = UNVISITED,
deleted = true, reprocess_struct = false, fragile = false, sibling = 0x0, next
= 0x0}

while

(gdb) p new_next
$146 = (tree *) 0x7ffff71f96d0

which causes the alias issue we are seeing. Before the assignment:

(gdb) p debug(*(tree*)0x7ffff71f9688)
map(tofrom:S1.b) map(tofrom:S1.p) map(tofrom:*S1.p [len: 400])
map(attach_detach:S1.p [bias: 0])

(gdb) p debug(*(tree*)0x7ffff71f96d0)
map(tofrom:S1.p) map(tofrom:*S1.p [len: 400]) map(attach_detach:S1.p [bias: 0])

Reply via email to