https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61655
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The copy constructor does not need to be called if there is no copying going on. There is two optimizations going on here. The first is the named return value optimization. The second is related to that in the intilization of the new variable is handled inside the function itself.