| 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.