RE: Variable Length Arrays (VLA) proposal

Chris January <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <1372928011.2796.13.camel@gumtree>
Hello Sanimir,

On Thu, 2013-07-04 at 08:17 +0000, Agovic, Sanimir wrote:
> Breakpoint 1, test () at vla.f90:4
> 4           ALLOCATE(vla (3, 4, 5))
> $1 = <not allocated>
> type = integer(kind=4), ALLOCATABLE (0:1,0:1,0:1)
> 5           ALLOCATE(character(len=2) :: str)
> $2 = (( ( 0, 0) ( 0, 0) ) ( ( 0, 0) ( 0, 0) ) )

I have had reports this happens with the Fedora version of gfortran
4.7.2 (but not with the Debian version, IIRC) - I will look into it.

> test () at vla.f90:6
> 6           vla(:,:,:) = 42
> Cannot access memory at address 0x6060c0
> warning: array or string index out of range
> valarith.c:63: internal-error: find_size_for_pointer_math: Assertion `TYPE_CODE (ptr_type) == TYPE_CODE_PTR' failed.
> [core dump]

The error is correct - the subscript is out of range (Fortran array
subscripts start at 1). Obviously the subsequent crash is not good - I
believe it occurs because GDB switches to 'C style' array indexing for
the Fortran string when the subscript is our of range, which doesn't
work and currently crashes.

Regards,
Chris
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.