This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement
- From: "potswa at mac dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Nov 2009 03:56:01 -0000
- Subject: [Bug libstdc++/41351] std::rotate on RAI does not conform to ISO complexity requirement
- References: <bug-41351-18186@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #44 from potswa at mac dot com 2009-11-03 03:56 -------
When does _GLIBCXX_MOVE3 do the wrong thing? I can see only doing the k=1
optimization #ifdef __GXX_EXPERIMENTAL_CXX0X__ ? after all, copying is the
misbehavior this bug is filed against in the first place! But std::move seems
reasonably kosher to me. It's as good as the current RAI implementation using
_GLIBCXX_MOVE, although not as compliant as always using std::swap.
I apologize for always saying "copy" and not "move." I did include a disclaimer
on that code, that it's not really intended for use. Really I was just using
std::copy as an alias for memmove for performance testing. I haven't been able
to test any C++0x code at all because I'm having trouble building GCC on OS X.
Once I can test C++0x code, I'll post to the mailing list?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41351