I've committed the attached patch to fix testsuite
regressions casued by r223258.  The interface 
statements needed to be within the porgram unit.
 
-- 
Steve
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 223308)
+++ ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2015-05-18  Steven G. Kargl  <ka...@gcc.gnu.org>
+
+	* gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program
+	unit.
+	* gfortran.dg/lto/pr41576_1.f90: Ditto.
+
 2015-05-12  Andreas Tobler  <andre...@gcc.gnu.org>
 
 	* lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
Index: gfortran.dg/lto/pr41521_0.f90
===================================================================
--- gfortran.dg/lto/pr41521_0.f90	(revision 223308)
+++ gfortran.dg/lto/pr41521_0.f90	(working copy)
@@ -3,9 +3,6 @@
 program species
 integer spk(2)
 real eval(2)
-spk = 2
-call atom(1.1,spk,eval)
-end program
 interface
   subroutine atom(sol,k,eval)
     real, intent(in) :: sol
@@ -13,4 +10,7 @@ interface
     real, intent(out) :: eval(2)
   end subroutine
 end interface
+spk = 2
+call atom(1.1,spk,eval)
+end program
 
Index: gfortran.dg/lto/pr41576_1.f90
===================================================================
--- gfortran.dg/lto/pr41576_1.f90	(revision 223308)
+++ gfortran.dg/lto/pr41576_1.f90	(working copy)
@@ -1,12 +1,11 @@
 program test
   common /bar/ c, d
   integer(4) :: c, d
-  call foo
-  if (c/=1 .or. d/=2) call abort
-end program test
-
 interface
   subroutine foo()
   end subroutine
 end interface
+  call foo
+  if (c/=1 .or. d/=2) call abort
+end program test
 

Reply via email to