Problem with a program: zero-sized array?

Tobias Burnus burnus@net-b.de
Wed Oct 13 14:04:00 GMT 2010


  On 10/13/2010 12:48 PM, Arjen Markus wrote:
> Hello,
>
> I have run into a peculiar problem with the gfortran compiler (both on
> Windows and Linux).
> I have reduced the program to a bare minimum and that has made the
> crash (access violation or something similarly fatal) disappear, but the bug is still there.

Small test case which crashes here:
     integer, dimension(10)             :: int1d
     integer, dimension(:), pointer     :: int1d_retrieved

     allocate(int1d_retrieved(10))
     if (any(shape(int1d_retrieved) /= shape(INT1D))) call abort()
     end

The crash happens in the last line when the two shapes are compared; in 
the big program, the same crash happened for:
     write(*,*) 'shape:', shape(int1d_retrieved) == shape(INT1D), '...'
The rest of the big program seems to work. I think it should be easy to 
find the reason in the -fdump-tree-original for the 
shape(int1d_retrieved) == shape(INT1D) comparison, but I have not tried 
it, yet.

I get the crash with GCC 4.1 to 4.6 and thus it does not seem to be a 
regression.

Can you fill a PR?

Tobias



More information about the Fortran mailing list