60 lines
1.4 KiB
Fortran
60 lines
1.4 KiB
Fortran
! RUN: %python %S/test_errors.py %s %flang_fc1
|
|
pure subroutine s1
|
|
contains
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
subroutine t1
|
|
end
|
|
pure subroutine t2 ! ok
|
|
end
|
|
elemental subroutine t3(k) ! ok
|
|
integer, intent(in) :: k
|
|
end
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
impure elemental subroutine t4(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
elemental impure subroutine t5(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
end
|
|
|
|
elemental subroutine s2(j)
|
|
integer, intent(in) :: j
|
|
contains
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
subroutine t1
|
|
end
|
|
pure subroutine t2 ! ok
|
|
end
|
|
elemental subroutine t3(k) ! ok
|
|
integer, intent(in) :: k
|
|
end
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
impure elemental subroutine t4(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
!ERROR: An internal subprogram of a pure subprogram must also be pure
|
|
elemental impure subroutine t5(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
end
|
|
|
|
impure elemental subroutine s3(j)
|
|
integer, intent(in) :: j
|
|
contains
|
|
subroutine t1
|
|
end
|
|
pure subroutine t2
|
|
end
|
|
elemental subroutine t3(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
impure elemental subroutine t4(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
elemental impure subroutine t5(k)
|
|
integer, intent(in) :: k
|
|
end
|
|
end
|