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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
The problem is that for
    8 | #pragma acc data copyin(a, a.data)

the function install_var_field is called twice, both times with:
  install_var_field (var=0x7ffff6fd8d80, by_ref=true, mask=3, ctx=0x30abd50)
where var is  var_decl 'a'. This then runs into the assert:

797       gcc_assert ((mask & 1) == 0
798                   || !splay_tree_lookup (ctx->field_map, key));

 * * *

BTW, in GCC 12 (and OG12), the omplower dump is:
        #pragma omp target oacc_data map(to:a [len: 4]) map(to:a.data [len: 4])

* * *

Unless I messed up with bisecting, the culprit is
  r13-2665-g23baa717c991d77f206a9358ce2c04960ccf9eea
  OpenMP/OpenACC struct sibling list gimplification extension and rework

Reply via email to