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]

Reply via email to