Path: utzoo!attcan!uunet!snorkelwacker!mintaka!ogicse!husc6!lotto From: lotto@lamia.harvard.edu (Jerry Lotto) Newsgroups: comp.lang.fortran Subject: Recursion in Fortran (Vax VMS 5.3) Message-ID: Date: 5 Jun 90 19:17:23 GMT Sender: news@husc6.harvard.edu Organization: Chemistry Dept., Harvard University Lines: 19 I would appreciate pointers to any people or documentation that might help me work out a problem. I am not really trying to do general recursion... there is a single calling stack that may need to repeat once within its own context. The problem I am having is with calling args -> ie: A -> B(foo1, foo2) -> C(var1, var2) -> D(var1, var2) -> E -> B(bar1, bar2) -> C(var1, var2) -> D(var1, var2) Everything is fine until we return from E. Now the addresses D\var1 and D\var2 are screwed up (the same as E\bar1 and E\bar2) whereas the addresses of C\var1, C\var2, B\var1, and B\var2 are correct (that of A\foo1 and A\foo2). I would like to protect the argument stacks so that all of the variables are properly restored upon return from E. Any help would be greatly appreciated. AdThanksvance. -- Jerry Lotto "Have you hugged the curves today?" Chemistry Dept., Harvard Univ. AMA #520019 DoD #018 HOG #0323880