diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.fortran-torture/execute/contained_3.f90 | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0e9b731..9862dead 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-06-12 Paul Brook <paul@codesourcery.com> + + * gfortran.fortran-torture/execute/contained_3.f90: New test. + 2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/14923 diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/contained_3.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/contained_3.f90 new file mode 100644 index 0000000..d0de1f4 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/contained_3.f90 @@ -0,0 +1,22 @@ +! Program to test contained functions calling their siblings. +! This is tricky because we don't find the declaration for the sibling +! function until after the caller has been parsed. +program contained_3 + call test +contains + subroutine test + if (sub(3) .ne. 6) call abort + end subroutine + integer function sub(i) + integer i + if (i .gt. 1) then + sub = sub2(i) * i + else + sub = 1 + end if + end function + integer function sub2(i) + integer i + sub2 = sub(i - 1) + end function +end program |