This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Example program takes 2000 times as long to compile under C++ as C
- To: Zack Weinberg <zack at wolery dot cumb dot org>
- Subject: Re: Example program takes 2000 times as long to compile under C++ as C
- From: Richard Henderson <rth at cygnus dot com>
- Date: Tue, 5 Sep 2000 23:19:59 -0700
- Cc: Mark Mitchell <mark at codesourcery dot com>, kelleycook at attglobal dot net, gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- References: <20000904202755.E295@wolery.cumb.org> <20000905003815G.mitchell@codesourcery.com> <20000905133547.I295@wolery.cumb.org> <20000905213507E.mitchell@codesourcery.com> <20000905224616.A26541@wolery.cumb.org>
On Tue, Sep 05, 2000 at 10:46:16PM -0700, Zack Weinberg wrote:
> Hypothesis: maybe it thinks the recursive call uses the address of an
> object in the current function's stack frame?)
We don't check to see whether a recursive call uses the address of an
object, but rather whether an object has its address taken. I.e. we
do not do the data flow analysis to see where that address wound up.
Previous versions of gcc made a half-hearted attempt at this, but got
it wrong. I ripped it all out. Perhaps one day someone will write the
code to solve the problem correctly.
r~