aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/m4
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2009-01-21 14:34:55 +0100
committerDaniel Kraft <domob@gcc.gnu.org>2009-01-21 14:34:55 +0100
commit210879b85b09194934eabcf5777cf2cff6e8dedc (patch)
treeb1031584e4fe3d17c0b6289ff1e3eb0c4072334d /libgfortran/m4
parent71a6fe66e7292912deda846c123134d2c43d43e1 (diff)
downloadgcc-210879b85b09194934eabcf5777cf2cff6e8dedc.zip
gcc-210879b85b09194934eabcf5777cf2cff6e8dedc.tar.gz
gcc-210879b85b09194934eabcf5777cf2cff6e8dedc.tar.bz2
re PR fortran/38887 (run-time abort for MVBITS with run-time zero sized array arguments)
2009-01-21 Daniel Kraft <d@domob.eu> * trans-stmt.c (gfc_conv_elemental_dependencies): Cleaned up comment. 2009-01-21 Daniel Kraft <d@domob.eu> PR fortran/38887 * runtime/in_unpack_generic.c (internal_unpack): Return instead of abort when called with empty array. * m4/in_unpack.m4: Ditto. * generated/in_unpack_i1.c: Regenerated. * generated/in_unpack_i2.c: Regenerated. * generated/in_unpack_i4.c: Regenerated. * generated/in_unpack_i8.c: Regenerated. * generated/in_unpack_i16.c: Regenerated. * generated/in_unpack_r4.c: Regenerated. * generated/in_unpack_r8.c: Regenerated. * generated/in_unpack_r10.c: Regenerated. * generated/in_unpack_r16.c: Regenerated. * generated/in_unpack_c4.c: Regenerated. * generated/in_unpack_c8.c: Regenerated. * generated/in_unpack_c10.c: Regenerated. * generated/in_unpack_c16.c: Regenerated. 2009-01-21 Daniel Kraft <d@domob.eu> PR fortran/38887 * gfortran.dg/mvbits_5.f90: New test. From-SVN: r143541
Diffstat (limited to 'libgfortran/m4')
-rw-r--r--libgfortran/m4/in_unpack.m46
1 files changed, 3 insertions, 3 deletions
diff --git a/libgfortran/m4/in_unpack.m4 b/libgfortran/m4/in_unpack.m4
index 5c5b5b1..a2a92d0 100644
--- a/libgfortran/m4/in_unpack.m4
+++ b/libgfortran/m4/in_unpack.m4
@@ -63,12 +63,12 @@ internal_unpack_'rtype_ccode` ('rtype` * d, const 'rtype_name` * src)
stride[n] = d->dim[n].stride;
extent[n] = d->dim[n].ubound + 1 - d->dim[n].lbound;
if (extent[n] <= 0)
- abort ();
+ return;
if (dsize == stride[n])
- dsize *= extent[n];
+ dsize *= extent[n];
else
- dsize = 0;
+ dsize = 0;
}
if (dsize != 0)