aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2008-09-08 15:51:26 +0200
committerDaniel Kraft <domob@gcc.gnu.org>2008-09-08 15:51:26 +0200
commit94c8a0cca5ddcf29d1185699900882522c6a51b1 (patch)
tree22c41130fe2c0b6cb27a969b52c6a9dde04322c5 /gcc
parent37aaba15f3967f58a4d4ef5b5214a3a155595f0c (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/testsuite/gfortran.dg/array_function_3.f9048
-rw-r--r--gcc/testsuite/gfortran.dg/save_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/string_compare_2.f902
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" } }