[Bug middle-end/80853] New: [6/7/8 Regression] OpenMP ICE in build_outer_var_ref with array reduction
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon May 22 10:39:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80853
Bug ID: 80853
Summary: [6/7/8 Regression] OpenMP ICE in build_outer_var_ref
with array reduction
Product: gcc
Version: 7.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
void
foo (int *p)
{
#pragma omp for reduction(+:p[:4])
for (int i = 0; i < 64; i++)
{
p[0] += i;
p[1] += i / 2;
p[2] += 2 * i;
p[3] += 3 * i;
}
}
ICEs with -fopenmp in both C and C++ starting with GCC 6 (when array reduction
support has been introduced). For array reductions if the array section base
is a pointer, we don't really need the pointer to be shared (and don't actually
check that, unlike e.g. when the array section is array based), it is enough if
what the points to is shared.
More information about the Gcc-bugs
mailing list