From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27414 invoked by alias); 14 Sep 2007 11:31:24 -0000 Received: (qmail 27362 invoked by uid 48); 14 Sep 2007 11:31:15 -0000 Date: Fri, 14 Sep 2007 11:31:00 -0000 Message-ID: <20070914113115.27361.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libfortran/21881] Array descriptors limit derived type sizes In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "fxcoudert at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-09/txt/msg01198.txt.bz2 ------- 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