Subject: Re: [boost] [move] problem with msvc and BOOST_MOVABLE_BUT_NOT_COPYABLE
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2010-05-28 15:03:24
David Abrahams wrote:
> You are claiming that some aspect of that signature causes RVO not
> to happen? What aspect?
I understand you want to comment on what could be FUD, but why do you ask about the "signature" then?
> A static member function is just a function to the compiler. AFAIK,
> the only compiler in recent memory that doesn't have NRVO (yet) is
> Clang. And they're working on it. What compiler are you talking
Same here, I appreciate it that you try to clarify my misconceptions, but I was talking about RVO here, not NRVO.
Please also understand my position that everybody is allowed to make mistakes, but he shouldn't blame Boost.Move or its documentation for it. The linker had complained about a missing symbol, and this means that it had indeed generated the corresponding constructor call. This might be related to compiling in debug mode with msvc-9.0. I don't know whether gcc-4.5 or msvc-10.0 implement NRVO even in debug mode. However, this should be easy to find out if it's important for this discussion.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk