aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f9036
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f90 b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f90
new file mode 100644
index 000000000..e57ff161d
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.fortran-torture/execute/function_module_1.f90
@@ -0,0 +1,36 @@
+! This can fail because BB is not resolved correctly.
+module M1
+
+INTEGER p
+
+CONTAINS
+subroutine AA ()
+ implicit NONE
+ p = BB ()
+ CONTAINS
+ subroutine AA_1 ()
+ implicit NONE
+ integer :: i
+ i = BB ()
+ end subroutine
+
+ function BB()
+ integer :: BB
+ BB = 1
+ end function
+end subroutine
+
+function BB()
+ implicit NONE
+ integer :: BB
+ BB = 2
+end function
+end module
+
+program P1
+ USE M1
+ implicit none
+ p = 0
+ call AA ()
+ if (p /= 1) call abort
+end