This program is illegal by F95 12.6 7th constraint(1) and F2023 15.7
C15104(1) but gfortran 15.2.0 ran it, printing 10
module funcsub
contains
pure integer function Pure_func() result(res)
call Assign_res
contains
pure subroutine Assign_res
res = 10
end subroutine Assign_res
end function Pure_func
end module funcsub
program purepure
use funcsub
print "(I0)",Pure_func()
end program purepure
-- John Harper, School of Mathematics and Statistics
Victoria Univ. of Wellington, PO Box 600, Wellington 6140, New Zealand.
e-mail [email protected]