diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-08-05 20:53:44 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-08-05 20:54:48 +0200 |
commit | dd30d93f1a3ead7b814c1b179cf7197e4bf1e183 (patch) | |
tree | c018c2ac506ab3da9b7be589360d2b27b6f98617 /gcc | |
parent | 27eac9ee6137a6b5ae693b54cafa22bdc0cbcd5a (diff) | |
download | gcc-dd30d93f1a3ead7b814c1b179cf7197e4bf1e183.zip gcc-dd30d93f1a3ead7b814c1b179cf7197e4bf1e183.tar.gz gcc-dd30d93f1a3ead7b814c1b179cf7197e4bf1e183.tar.bz2 |
Added test case to make sure that legal cases still pass.
gcc/testsuite/ChangeLog:
PR fortran/96469
* gfortran.dg/do_check_14.f90: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gfortran.dg/do_check_14.f90 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/do_check_14.f90 b/gcc/testsuite/gfortran.dg/do_check_14.f90 new file mode 100644 index 0000000..43425f1 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/do_check_14.f90 @@ -0,0 +1,56 @@ +! { dg-do compile } +! PR fortran/96469 - make sure that all legal variants pass. + +module x + implicit none +contains + subroutine sub_intent_in(i) + integer, intent(in) :: i + end subroutine sub_intent_in + subroutine sub_intent_unspec(i) + integer :: i + end subroutine sub_intent_unspec + integer function fcn_intent_in(i) + integer, intent(in) :: i + fcn_intent_in = i + 42 + end function fcn_intent_in + integer function fcn_intent_unspec (i) + integer :: i + fcn_intent_unspec = i + 42 + end function fcn_intent_unspec +end module x + +program main + use x + implicit none + integer :: i1, i2, i3, i4 + integer :: k, l + do i1=1,10 + call sub1 + end do + do i2=1,10 + call sub2 + end do + do i3 = 1,10 + k = fcn3() + end do + do i4=1,10 + l = fcn4() + end do +contains + subroutine sub1 + call sub_intent_in (i1) + end subroutine sub1 + subroutine sub2 + integer :: m + m = fcn_intent_in (i2) + print *,m + end subroutine sub2 + integer function fcn3() + call sub_intent_unspec (i3) + fcn3 = 42 + end function fcn3 + integer function fcn4() + fcn4 = fcn_intent_unspec (i4) + end function fcn4 +end program main |