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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
>From the code, I wonder whether a 'ref->type == REF_ARRAY' is missing as ...

      if (e->expr_type == EXPR_VARIABLE
          && e->ref
          && e->ref->u.ar.type == AR_FULL

... and whether more is needed to handle derived type components. In
particular,
the code has:

      class(*) :: x(..)
      call s(x)         ! Used to ICE here

with "s"'s dummy being 'type(*) :: x(..)'. (I wonder whether that translates to
x%_data(AR_FULL).)

Hence, use 'gfc_array_ref *ar = gfc_find_array_ref (...)' here?

Reply via email to