diff gcc/testsuite/gfortran.dg/interface_27.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/interface_27.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,38 @@
+! { dg-do compile }
+!
+! PR 40039: Procedures as actual arguments: Check intent of arguments
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+
+module m
+
+contains
+
+subroutine a(x,f)
+  real :: x
+  interface
+    real function f(y)
+      real,intent(in) :: y
+    end function
+  end interface
+  print *,f(x)
+end subroutine
+
+real function func(z)
+  real,intent(inout) :: z
+  func = z**2
+end function
+
+subroutine caller
+  interface
+    real function p(y)
+      real,intent(in) :: y
+    end function
+  end interface
+  pointer :: p
+
+  call a(4.3,func)  ! { dg-error "INTENT mismatch in argument" }
+  p => func         ! { dg-error "INTENT mismatch in argument" }
+end subroutine
+
+end module