[Bug fortran/102314] [12 Regression] ICE in verify_ssa, at tree-ssa.c:1076 since r12-1319-gd4d38135b3137f1d

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Mar 22 14:13:02 GMT 2022


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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Though, if we make those arrays incomplete, gfc_omp_finish_clause will need to
figure out what size to use.  This is in:
  if (OMP_CLAUSE_SIZE (c) == NULL_TREE)
    OMP_CLAUSE_SIZE (c)
      = DECL_P (decl) ? DECL_SIZE_UNIT (decl)
                      : TYPE_SIZE_UNIT (TREE_TYPE (decl));
  if (gimplify_expr (&OMP_CLAUSE_SIZE (c), pre_p,
                     NULL, is_gimple_val, fb_rvalue) == GS_ERROR)
    OMP_CLAUSE_SIZE (c) = size_int (0);
and the gimplify_expr part is what my change added.  We'll need to check some
Fortran specific type flags etc. to see it is a deferred-length character and
find the corresponding . variable, though TYPE_LANG_SPECIFIC is NULL on the
ARRAY_TYPE created by gfc_get_character_type_len_for_eltype -> build_array_type
it seems.


More information about the Gcc-bugs mailing list