Related articles |
---|
[10 earlier articles] |
Re: Proper Tail Recursive C++ njl@cyberpass.net (1997-03-09) |
Re: Proper Tail Recursive C++ hbaker@netcom.com (1997-03-13) |
Re: Proper Tail Recursive C++ fjh@murlibobo.cs.mu.OZ.AU (1997-03-13) |
Linking Was: Re: Proper Tail Recursive C++ hrubin@stat.purdue.edu (1997-03-16) |
Re: Proper Tail Recursive C++ ramsdell@linus.mitre.org (1997-03-16) |
Re: Proper Tail Recursive C++ danwang@atomic.CS.Princeton.EDU (1997-03-18) |
Re: Proper Tail Recursive C++ njl@cyberpass.net (1997-03-21) |
Re: Proper Tail Recursive C++ erik.schnetter@student.uni-tuebingen.de (1997-03-21) |
From: | njl@cyberpass.net (Nathan Loofbourrow) |
Newsgroups: | comp.compilers |
Date: | 21 Mar 1997 10:23:02 -0500 |
Organization: | Infonex Internet Services |
References: | 97-02-111 97-02-141 97-03-042 97-03-050 97-03-074 |
Keywords: | C++, optimize |
Fergus Henderson <fjh@murlibobo.cs.mu.OZ.AU> wrote:
> I'm sure the reason that it crashes is not that g++ generates
> incorrect code, but rather that it just runs out of stack space.
> (William Clinger's code had the above function recursively invoking
> itself a million times.)
Oops, you're right, a look at the assembled code confirms this. The
tail recursion is inhibited by the presence of the automatic array
variable(!). This can be confirmed by removing all reference to the
array; the tail recursion optimization still does not occur until it
is removed completely.
nathan
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.