diff options
author | Daniel Kraft <d@domob.eu> | 2008-09-08 15:51:26 +0200 |
---|---|---|
committer | Daniel Kraft <domob@gcc.gnu.org> | 2008-09-08 15:51:26 +0200 |
commit | 94c8a0cca5ddcf29d1185699900882522c6a51b1 (patch) | |
tree | 22c41130fe2c0b6cb27a969b52c6a9dde04322c5 /gcc | |
parent | 37aaba15f3967f58a4d4ef5b5214a3a155595f0c (diff) | |
download | gcc-94c8a0cca5ddcf29d1185699900882522c6a51b1.zip gcc-94c8a0cca5ddcf29d1185699900882522c6a51b1.tar.gz gcc-94c8a0cca5ddcf29d1185699900882522c6a51b1.tar.bz2 |
re PR fortran/36167 (ICE in gfc_conv_descriptor_dimension, at fortran/trans-array.c:242)
2008-09-08 Daniel Kraft <d@domob.eu>
PR fortran/36167
* gfortran.dg/array_function_3.f90: New test.
* gfortran.dg/save_3.f90: Added cleanup-modules directive.
* gfortran.dg/string_compare_1.f90: Ditto.
From-SVN: r140107
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_function_3.f90 | 48 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/save_3.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/string_compare_2.f90 | 2 |
4 files changed, 59 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ec3132f..219fa16 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2008-09-08 Daniel Kraft <d@domob.eu> + PR fortran/36167 + * gfortran.dg/array_function_3.f90: New test. + * gfortran.dg/save_3.f90: Added cleanup-modules directive. + * gfortran.dg/string_compare_1.f90: Ditto. + +2008-09-08 Daniel Kraft <d@domob.eu> + PR fortran/37199 * gfortran.dg/array_function_2.f90: New test. diff --git a/gcc/testsuite/gfortran.dg/array_function_3.f90 b/gcc/testsuite/gfortran.dg/array_function_3.f90 new file mode 100644 index 0000000..b1a9cac --- /dev/null +++ b/gcc/testsuite/gfortran.dg/array_function_3.f90 @@ -0,0 +1,48 @@ +! { dg-do compile } + +! PR fortran/36167 +! This used to cause an ICE because of a missing array spec after interface +! mapping. + +! Contributed by Frank Muldoon <fmuldoo@me.lsu.edu> + +module communication_tools + +contains +!******************************************************************************* +function overlap_1(u,lbound_u,ubound_u) +!******************************************************************************* +integer, intent(in), dimension(:) :: lbound_u,ubound_u +real, intent(in), dimension(lbound_u(1):ubound_u(1),lbound_u(2):ubound_u(2),& + lbound_u(3):ubound_u(3)) :: u + +real, dimension(& +lbound(u,1):ubound(u,1),& +lbound(u,2):ubound(u,2),& +lbound(u,3):ubound(u,3)) :: overlap_1 + +return +end function overlap_1 + +end module communication_tools + +!******************************************************************************* +subroutine write_out_particles +!******************************************************************************* + +use communication_tools +real, dimension(1:5, 2:4, 3:10) :: vorticityMag +real, allocatable, dimension(:,:,:) :: temp3d + +allocate(temp3d( & +lbound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),1):& +ubound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),1),& +lbound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),2):& +ubound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),2),& +lbound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),3):& +ubound(overlap_1(vorticityMag,lbound(vorticityMag),ubound(vorticityMag)),3))) + +return +end subroutine write_out_particles + +! { dg-final { cleanup-modules "communication_tools" } } diff --git a/gcc/testsuite/gfortran.dg/save_3.f90 b/gcc/testsuite/gfortran.dg/save_3.f90 index d2deed1..ab2ee52 100644 --- a/gcc/testsuite/gfortran.dg/save_3.f90 +++ b/gcc/testsuite/gfortran.dg/save_3.f90 @@ -14,3 +14,5 @@ pure function tell_i() result (answer) answer=i end function tell_i end module g95bug + +! { dg-final { cleanup-modules "g95bug" } } diff --git a/gcc/testsuite/gfortran.dg/string_compare_2.f90 b/gcc/testsuite/gfortran.dg/string_compare_2.f90 index dc68bef..966ed55 100644 --- a/gcc/testsuite/gfortran.dg/string_compare_2.f90 +++ b/gcc/testsuite/gfortran.dg/string_compare_2.f90 @@ -35,3 +35,5 @@ program pack_bug end if end do end + +! { dg-final { cleanup-modules "xparams" } } |