re PR libfortran/18495 ([4.0 only] Intrinisc function SPREAD is broken)
authorThomas Koenig <Thomas.Koenig@online.de>
Fri, 15 Apr 2005 20:06:17 +0000 (20:06 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Fri, 15 Apr 2005 20:06:17 +0000 (20:06 +0000)
commit8e6d7b8a35bdb1f089e83ac8f6a85253e4272c86
tree292cf804ca180a2bbd8b572c18603d0233efe047
parent35205e8f059ddcbf7a5ce1865901a56d1771b923
re PR libfortran/18495 ([4.0 only] Intrinisc function SPREAD is broken)

2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/18495
        * intrinsics/spread_generic.c (spread):  Remove const from
        return array descriptor.
        New variables: rrank (rank of return array),  rs (for
        calculating the size of the return array), srank (rank
        of the source array).
        Generate runtime error if the dim= argument is larger than
        the rank of the return array.
        Generate runtime error if the needed rank of the return
        array is larger than 7.
        If ret->data is null, populate the return array descriptor
        and initialize the variables for the actual operation.
        Otherwise, set ret->dim[0].stride to one if it is zero.
        Change second, independent use of variable dim to srank.

2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/18495
        * gfortran.fortran-torture/execute/intrinsic_spread.f90:
        Test callee-allocated version of return array with a write
        statement.
        Test spread with a temporary with another write statement.

From-SVN: r98208
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_spread.f90
libgfortran/ChangeLog
libgfortran/intrinsics/spread_generic.c