This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Named return values in C++ doesn't work ?


>>>>> Gabriel Dos Reis <Gabriel.Dos-Reis@dptmaths.ens-cachan.fr> writes:

>>>>> Alexandre Oliva <oliva@dcc.unicamp.br> écrit :
 >> Sylvain Pion <Sylvain.Pion@sophia.inria.fr> writes:
 >>> class C {
 >> [...]
 >>> C operator+(const C & d) return tmp; {

 >> For some reason, it only works for functions defined outside a class
 >> body.

 >> Anyway, this feature should be deprecated, since the C++ Standard
 >> explicitly allows the unnamed return value optimization.

 > I agree. Is anyone be considering that optimization?

I've been considering it for a long time.  Unfortunately, the compiler
architecture (going straight to RTL) makes it hard, as we assign the
location of variables well before we can tell if they are suitable to be
stuck in the return value slot.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]