[Bug libfortran/21881] Array descriptors limit derived type sizes

fxcoudert at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Sep 14 11:31:00 GMT 2007



------- Comment #4 from fxcoudert at gcc dot gnu dot org  2007-09-14 11:31 -------
I think this is related to the check in trans-types.c:

  if (size && INTEGER_CST_P (size))
    {
      if (tree_int_cst_lt (gfc_max_array_element_size, size))
        internal_error ("Array element size too big");

      i += TREE_INT_CST_LOW (size) << GFC_DTYPE_SIZE_SHIFT;
    }
  dtype = build_int_cst (gfc_array_index_type, i);

which is triggered by code such as:

  type t
    integer i001(268435456)
  end type t

  type(t), allocatable :: x(:)

  allocate(x(1))
  print *, size(x)
  print *, shape(x)
  end


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21881



More information about the Gcc-bugs mailing list