aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2008-03-15 16:53:05 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2008-03-15 16:53:05 +0000
commit6b927641f37658c63ac5ade02e3e10d1a85c6463 (patch)
tree72ab152ba7e35bbf464fdf0ed1d1c6581df1cf09
parentdb5cf0c77e6f746eed7e6370bbdc25e675b2628f (diff)
downloadgcc-6b927641f37658c63ac5ade02e3e10d1a85c6463.zip
gcc-6b927641f37658c63ac5ade02e3e10d1a85c6463.tar.gz
gcc-6b927641f37658c63ac5ade02e3e10d1a85c6463.tar.bz2
re PR fortran/35184 (ICE in gfc_conv_array_index_offset)
2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR testsuite/35184 gfortran.dg/elemental_subroutine_6.f90: New test. From-SVN: r133253
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/elemental_subroutine_6.f9024
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 48445d9..ec3196b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR testsuite/35184
+ gfortran.dg/elemental_subroutine_6.f90: New test.
+
2008-03-15 Richard Guenther <rguenther@suse.de>
* gcc.dg/pr23911.c: Adjust testcase.
diff --git a/gcc/testsuite/gfortran.dg/elemental_subroutine_6.f90 b/gcc/testsuite/gfortran.dg/elemental_subroutine_6.f90
new file mode 100644
index 0000000..aab33f3
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/elemental_subroutine_6.f90
@@ -0,0 +1,24 @@
+! { dg-do compile }
+! PR35184 ICE in gfc_conv_array_index_offset
+MODULE foo
+ TYPE, PUBLIC :: bar
+ PRIVATE
+ REAL :: value
+ END TYPE bar
+ INTERFACE ASSIGNMENT (=)
+ MODULE PROCEDURE assign_bar
+ END INTERFACE ASSIGNMENT (=)
+CONTAINS
+ ELEMENTAL SUBROUTINE assign_bar (to, from)
+ TYPE(bar), INTENT(OUT) :: to
+ TYPE(bar), INTENT(IN) :: from
+ to%value= from%value
+ END SUBROUTINE
+ SUBROUTINE my_sub (in, out)
+ IMPLICIT NONE
+ TYPE(bar), DIMENSION(:,:), POINTER :: in
+ TYPE(bar), DIMENSION(:,:), POINTER :: out
+ ALLOCATE( out(1:42, 1:42) )
+ out(1, 1:42) = in(1, 1:42)
+ END SUBROUTINE
+END MODULE foo \ No newline at end of file