diff options
author | Daniel Kraft <d@domob.eu> | 2009-01-21 14:34:55 +0100 |
---|---|---|
committer | Daniel Kraft <domob@gcc.gnu.org> | 2009-01-21 14:34:55 +0100 |
commit | 210879b85b09194934eabcf5777cf2cff6e8dedc (patch) | |
tree | b1031584e4fe3d17c0b6289ff1e3eb0c4072334d /gcc | |
parent | 71a6fe66e7292912deda846c123134d2c43d43e1 (diff) | |
download | gcc-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 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/fortran/trans-stmt.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/mvbits_5.f90 | 17 |
4 files changed, 26 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7c56c00..a744290 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,7 @@ +2009-01-21 Daniel Kraft <d@domob.eu> + + * trans-stmt.c (gfc_conv_elemental_dependencies): Cleaned up comment. + 2009-01-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/38907 diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 031fe88..82ecca8 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -311,14 +311,11 @@ gfc_conv_elemental_dependencies (gfc_se * se, gfc_se * loopse, info->offset = gfc_create_var (gfc_array_index_type, NULL); gfc_add_modify (&se->pre, info->offset, offset); - /* Copy the result back using unpack. */ tmp = build_call_expr (gfor_fndecl_in_unpack, 2, parmse.expr, data); gfc_add_expr_to_block (&se->post, tmp); - /* XXX: This is possibly not needed; but isn't it cleaner this way? */ gfc_add_block_to_block (&se->pre, &parmse.pre); - gfc_add_block_to_block (&se->post, &parmse.post); gfc_add_block_to_block (&se->post, &temp_post); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4bf0f2f..cffbad4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-01-21 Daniel Kraft <d@domob.eu> + + PR fortran/38887 + * gfortran.dg/mvbits_5.f90: New test. + 2009-01-21 Bingfeng Mei <bmei@broadcom.com> * gcc.dg/sms-6.c: New test. diff --git a/gcc/testsuite/gfortran.dg/mvbits_5.f90 b/gcc/testsuite/gfortran.dg/mvbits_5.f90 new file mode 100644 index 0000000..42d8346 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/mvbits_5.f90 @@ -0,0 +1,17 @@ +! { dg-do run } + +! PR fortran/38887 +! This aborted at runtime for the runtime zero-sized array arguments. + +! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com> + +program try_ya0013 + integer ida(9) + call ya0013(ida,1,5,6) +end program + +SUBROUTINE YA0013(IDA,nf1,nf5,nf6) + INTEGER IDA(9) + IDA = 1 + CALL MVBITS(IDA(NF5:NF1), 0, 1, IDA(NF6:NF1),2) +END SUBROUTINE |