public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libfortran/21881] New: Array descriptors limit derived type sizes
@ 2005-06-02 15:43 tkoenig at gcc dot gnu dot org
  2005-06-05  9:59 ` [Bug libfortran/21881] " tobi at gcc dot gnu dot org
  0 siblings, 1 reply; 5+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2005-06-02 15:43 UTC (permalink / raw)
  To: gcc-bugs

Currently, there are 26 bits for encoding the size
of an object in the array descriptor for 32-bit
targets, because the size is encoded together with
the type, which takes up 6 bits, and dtype is an
index_type (which has 32 bits on a 32-bit target).

It would be nice to have a separate size field.

-- 
           Summary: Array descriptors limit derived type sizes
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: libfortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tkoenig at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libfortran/21881] Array descriptors limit derived type sizes
  2005-06-02 15:43 [Bug libfortran/21881] New: Array descriptors limit derived type sizes tkoenig at gcc dot gnu dot org
@ 2005-06-05  9:59 ` tobi at gcc dot gnu dot org
  0 siblings, 0 replies; 5+ messages in thread
From: tobi at gcc dot gnu dot org @ 2005-06-05  9:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tobi at gcc dot gnu dot org  2005-06-05 09:59 -------
So an array of the derived type couldn't have more than 2**(32-26) = 64 entries
before overflowing memory with our current scheme, and if this was enlarged the
allowed arrays would be even smaller, but it is certainly true that the sizes of
derived type array elements are limited.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-06-05 09:59:44
               date|                            |


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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libfortran/21881] Array descriptors limit derived type sizes
       [not found] <bug-21881-10391@http.gcc.gnu.org/bugzilla/>
  2006-10-21 17:39 ` fxcoudert at gcc dot gnu dot org
  2007-01-05 14:12 ` fxcoudert at gcc dot gnu dot org
@ 2007-09-14 11:31 ` fxcoudert at gcc dot gnu dot org
  2 siblings, 0 replies; 5+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-09-14 11:31 UTC (permalink / raw)
  To: gcc-bugs



------- 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libfortran/21881] Array descriptors limit derived type sizes
       [not found] <bug-21881-10391@http.gcc.gnu.org/bugzilla/>
  2006-10-21 17:39 ` fxcoudert at gcc dot gnu dot org
@ 2007-01-05 14:12 ` fxcoudert at gcc dot gnu dot org
  2007-09-14 11:31 ` fxcoudert at gcc dot gnu dot org
  2 siblings, 0 replies; 5+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-01-05 14:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from fxcoudert at gcc dot gnu dot org  2007-01-05 14:12 -------
ping: Would you have either an example where this limit is encountered?
Wouldn't 4.3 be ideal for that work?


-- 


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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libfortran/21881] Array descriptors limit derived type sizes
       [not found] <bug-21881-10391@http.gcc.gnu.org/bugzilla/>
@ 2006-10-21 17:39 ` fxcoudert at gcc dot gnu dot org
  2007-01-05 14:12 ` fxcoudert at gcc dot gnu dot org
  2007-09-14 11:31 ` fxcoudert at gcc dot gnu dot org
  2 siblings, 0 replies; 5+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2006-10-21 17:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from fxcoudert at gcc dot gnu dot org  2006-10-21 17:39 -------
Thomas, isn't the 4.3 branching a good time to work on this? Would you have
time for that?


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org


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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-09-14 11:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-02 15:43 [Bug libfortran/21881] New: Array descriptors limit derived type sizes tkoenig at gcc dot gnu dot org
2005-06-05  9:59 ` [Bug libfortran/21881] " tobi at gcc dot gnu dot org
     [not found] <bug-21881-10391@http.gcc.gnu.org/bugzilla/>
2006-10-21 17:39 ` fxcoudert at gcc dot gnu dot org
2007-01-05 14:12 ` fxcoudert at gcc dot gnu dot org
2007-09-14 11:31 ` fxcoudert at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).