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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reduced testcase:
void bar (void *);

void
foo (int x)
{
  struct S { int a[x]; int b; } s;
#pragma omp parallel for
  for (int i = 0; i < 10; i++)
    bar (&s);
}

We don't really support variable length structures/unions in OpenMP/OpenACC
lowering/expansion, and I don't see why we should spend time on that, variable
length structures/unions just shouldn't be used in C (they are already invalid
in C++ and not present in Fortran either), I think that extension exists just
because Ada needs to support that.  Though Ada on the other side doesn't
support OpenMP/OpenACC.
So, I think we should just sorry if something attempts to privatize/map
variable length structure/union; making it shared should be fine.

Reply via email to