This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libg++ won't build with latest snapshots
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: libg++ won't build with latest snapshots
- From: Alexandre Oliva <oliva at lsd dot ic dot unicamp dot br>
- Date: 05 Jan 2000 06:37:19 -0200
- Cc: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- References: <oriu1rcpta.fsf@benta.lsd.ic.unicamp.br> <19991222011117D.mitchell@codesourcery.com> <oremcfcp05.fsf@benta.lsd.ic.unicamp.br> <19991226072643Z.mitchell@codesourcery.com>
On Dec 26, 1999, Mark Mitchell <mark@codesourcery.com> wrote:
> Here are fixes for both of these problems.
> 1999-12-26 Mark Mitchell <mark@codesourcery.com>
> * decl.c (store_return_init): Use mode of old RTL generated for
> DECL_RESULT, not the mode of DECL_RESULT itself.
> * semantics.c (finish_named_return_value): Set DECL_UNINLINABLE
> for functions that used named return values.
Thanks! The problems have indeed been fixed.
> + // Build don't link:
Thanks. It seems that I have written testcases for a while :-(
> + /* Don't use tree-inlining for functions with named return values.
> + That doesn't work properly because we don't do any translation of
> + the RETURN_INITs when they are copied. */
> + DECL_UNINLINABLE (current_function_decl) = 1;
Is this supposed to remain so, or will there be some effort to arrange
that functions with named return values become inlinable? If they
will remain uninlinable, I'll post a patch to the docs to state this.
Maybe we should even deprecate named return values, now that we have
inlining of trees, which I believe accomplishes a similar degree of
optimization.
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
oliva@{lsd.ic.unicamp.br,guarana.{org,com}} aoliva@{acm,computer}.org
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
** I may forward mail about projects to mailing lists; please use them