re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)
2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48800 * decl.c (gfc_match_import): Don't try to find the symbol if already found. 2011-04-30 Tobias Burnus <burnus@net-b.de> PR fortran/48800 * gfortran.dg/interface_37.f90: New. From-SVN: r173219
This commit is contained in:
parent
2e1df0f00b
commit
4e2cf5f5f6
|
@ -1,3 +1,9 @@
|
|||
2011-04-30 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/48800
|
||||
* decl.c (gfc_match_import): Don't try to find the
|
||||
symbol if already found.
|
||||
|
||||
2011-04-30 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/48746
|
||||
|
|
|
@ -2995,7 +2995,7 @@ gfc_match_import (void)
|
|||
gfc_error ("Type name '%s' at %C is ambiguous", name);
|
||||
return MATCH_ERROR;
|
||||
}
|
||||
else if (gfc_current_ns->proc_name->ns->parent != NULL
|
||||
else if (!sym && gfc_current_ns->proc_name->ns->parent != NULL
|
||||
&& gfc_find_symbol (name,
|
||||
gfc_current_ns->proc_name->ns->parent,
|
||||
1, &sym))
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-04-30 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/48800
|
||||
* gfortran.dg/interface_37.f90: New.
|
||||
|
||||
2011-04-30 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/48746
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
--- /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
|
Loading…
Reference in New Issue