Related articles |
---|
Proper Tail Recursive C++ jerpat@iastate.edu (Jerry) (1997-02-20) |
Re: Proper Tail Recursive C++ sc@informatik.uni-jena.de (Sebastian Schmidt) (1997-02-22) |
Re: Proper Tail Recursive C++ hbaker@netcom.com (1997-02-22) |
Re: Proper Tail Recursive C++ will@ccs.neu.edu (William D Clinger) (1997-02-23) |
Re: Proper Tail Recursive C++ fjh@mundook.cs.mu.OZ.AU (1997-02-23) |
Re: Proper Tail Recursive C++ bothner@cygnus.com (1997-02-23) |
Re: Proper Tail Recursive C++ andy@wonderworks.co.uk (Andy Armstrong) (1997-02-27) |
Re: Proper Tail Recursive C++ gary@wheel.tiac.net (1997-03-01) |
Re: Proper Tail Recursive C++ Wilco.Dijkstra@armltd.co.uk (Wilco Dijkstra) (1997-03-01) |
Re: Proper Tail Recursive C++ hbaker@netcom.com (1997-03-05) |
Re: Proper Tail Recursive C++ njl@cyberpass.net (1997-03-09) |
Re: Proper Tail Recursive C++ hbaker@netcom.com (1997-03-13) |
[5 later articles] |
From: | bothner@cygnus.com (Per Bothner) |
Newsgroups: | comp.compilers |
Date: | 23 Feb 1997 22:37:55 -0500 |
Organization: | Cygnus Solutions, CA |
References: | 97-02-111 97-02-126 |
Keywords: | C++, optimize |
Sebastian Schmidt <sc@informatik.uni-jena.de> wrote:
>Do you mean a compiler which is able to transform tail recursive
>functions into loops? According to the documentation GCC does this.
>I haven't, however, tested if it works for C++.
We need to distinguish (self-) tail recursion and general tail calls.
Gcc can eliminate direct (named) calls to the current function,
i.e. simple tail-recursion. However, general tail-call elimination as
required for Scheme (e.g. indirect tail-calls and mutual recursion)
are beyond Gcc. (It has been discussed, and would be very useful for
people implementing Scheme and other languages that require general
tail-call-elimination.)
--
--Per Bothner
Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.