| James Van Buskirk 2008-01-26, 7:21 pm |
| "fj" <francois.jacq@irsn.fr> wrote in message
news:fc5d8995-70e7-42ea-9b03-dad07459dfa3@l32g2000hse.googlegroups.com...
[color=darkred]
> Just another comment about your first example : with an F90 compiler
> it cannot even compile correctly, the compiler issuing a message like
> "routine1 cannot call itself because it is not declared recursive"
Compilers that date back to the f77 days may accept it as an
extension because that was a reasonable way to specify recursive
procedures before the standard did.
65*2001*8 = 1040520
2**20 = 1048576
It doesn't take to much imagination to envision the stack growing
beyond 8 kB in RTL initialization. Assuming variables defined in
the main program are allocated on the stack, we could get overflow.
Also having an object file around that requests unbounded recursion
adds an element of danger to our tests. Make sure that all object
files are deleted, make sure that file2 is the one you want, set
the stack limit to at least 2MB, and recompile everything.
--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end
|