aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2011-04-30 18:33:47 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2011-04-30 18:33:47 +0200
commit2ad7ae18f41c0fc42e0d68978bb0fdb4f6f7c3a5 (patch)
treeb75101d128f9238050cf59da35c2b5f982b401dd
parentd5e8e6a8733871585c1d9a1f38b08df09f8091d8 (diff)
downloadgcc-2ad7ae18f41c0fc42e0d68978bb0fdb4f6f7c3a5.zip
gcc-2ad7ae18f41c0fc42e0d68978bb0fdb4f6f7c3a5.tar.gz
gcc-2ad7ae18f41c0fc42e0d68978bb0fdb4f6f7c3a5.tar.bz2
re PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" imports it)
2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48821 * gfortran.dg/import9.f90: New, proper test. * gfortran.dg/interface_37.f90: Remove bogus test (bogus copy of interface_36.f90). From-SVN: r173221
-rw-r--r--gcc/fortran/ChangeLog2
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gfortran.dg/import9.f9030
-rw-r--r--gcc/testsuite/gfortran.dg/interface_37.f9031
4 files changed, 39 insertions, 33 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 07d7376..66f744a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,6 +1,6 @@
2011-04-30 Tobias Burnus <burnus@net-b.de>
- PR fortran/48800
+ PR fortran/48821
* decl.c (gfc_match_import): Don't try to find the
symbol if already found.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1a802f0..d3d88c8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,13 @@
2011-04-30 Tobias Burnus <burnus@net-b.de>
- PR fortran/48800
+ PR fortran/48821
+ * gfortran.dg/import9.f90: New, proper test.
+ * gfortran.dg/interface_37.f90: Remove bogus
+ test (bogus copy of interface_36.f90).
+
+2011-04-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48821
* gfortran.dg/interface_37.f90: New.
2011-04-30 Paul Thomas <pault@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/import9.f90 b/gcc/testsuite/gfortran.dg/import9.f90
new file mode 100644
index 0000000..4ed5cdf
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/import9.f90
@@ -0,0 +1,30 @@
+! { dg-do compile }
+!
+! PR fortran/48821
+!
+! Contributed by Daniel Carrera
+!
+
+contains
+ pure subroutine rk4_vec(t, Y, dY, h)
+ real, intent(inout) :: t, Y(:)
+ real, intent(in) :: h
+ real, dimension(size(Y)) :: k1, k2, k3, k4
+
+ interface
+ pure function dY(t0, y0)
+ import :: Y
+ real, intent(in) :: t0, y0(size(Y))
+ real :: dY(size(y0))
+ end function
+ end interface
+
+ k1 = dY(t, Y)
+ k2 = dY(t + h/2, Y + k1*h/2)
+ k3 = dY(t + h/2, Y + k2*h/2)
+ k4 = dY(t + h , Y + k3*h)
+
+ Y = Y + (k1 + 2*k2 + 2*k3 + k4) * h/6
+ t = t + h
+ end subroutine
+end
diff --git a/gcc/testsuite/gfortran.dg/interface_37.f90 b/gcc/testsuite/gfortran.dg/interface_37.f90
deleted file mode 100644
index 8dbc276..0000000
--- a/gcc/testsuite/gfortran.dg/interface_37.f90
+++ /dev/null
@@ -1,31 +0,0 @@
---- /dev/null
-+++ gcc/testsuite/gfortran.dg/interface_36.f90 2011-04-29 19:10:43.000000000 +0200
-@@ -0,0 +1,28 @@
-+! { dg-do compile }
-+!
-+! PR fortran/48800
-+!
-+! Contributed by Daniel Carrera
-+!
-+ pure function runge_kutta_step(t, r_, dr, h) result(res)
-+ real, intent(in) :: t, r_(:), h
-+ real, dimension(:), allocatable :: k1, k2, k3, k4, res
-+ integer :: N
-+
-+ interface
-+ pure function dr(t, r_) ! { dg-error "cannot have a deferred shape" }
-+ real, intent(in) :: t, r_(:)
-+ real :: dr(:)
-+ end function
-+ end interface
-+
-+ N = size(r_)
-+ allocate(k1(N),k2(N),k3(N),k4(N),res(N))
-+
-+ k1 = dr(t, r_)
-+ k2 = dr(t + h/2, r_ + k1*h/2)
-+ k3 = dr(t + h/2, r_ + k2*h/2)
-+ k4 = dr(t + h , r_ + k3*h)
-+
-+ res = r_ + (k1 + 2*k2 + 2*k3 + k4) * h/6
-+ end function