------- Comment #6 from burnus at gcc dot gnu dot org 2007-03-22 07:41 ------- (In reply to comment #5) > Then, the following should be invalid and rejected, shouldn't it? > recursive function f(i) > integer :: f, i > f = 0 > if (i > 0) f = f(i-1) + 1 > end function
NAG f95: line 4: Recursive invocation of F which has no RESULT clause (gfortran and ifort allow this) > recursive function f(i) result(g) > integer :: g, i > g = 0 > if (i > 0) g = g(i-1) + 1 > end function NAG f95: Inconsistent usage of G ifort: This name has not been declared as an array or a function gfortran: Cannot assign to a named constant -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30876