[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-27 Thread safinaskar at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 Askar Safin changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|---

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 --- Comment #7 from Jonathan Wakely --- If you think there's still a problem please show a concrete example where our current implementation of std::swap causes a problem.

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-27 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 --- Comment #6 from Jonathan Wakely --- (In reply to Askar Safin from comment #5) > 4. But (as it seems for me) the standard nowhere says that std::swap (a, a) > is unspecified. So, it should be specified It's specified to do: T tmp =

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-27 Thread safinaskar at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 Askar Safin changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-18 Thread safinaskar at mail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 --- Comment #4 from Askar Safin --- DR 2468 says that after "a = std::move (a)" state of a is unspecified. So three-move self-swap will be unspecified, too. You just said, that self-swap is not undefined, i. e. it is defined. Okey, so to make it

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2017-01-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2016-12-02 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 --- Comment #2 from Jonathan Wakely --- DR 2468 now says we should do something like this.

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2016-12-01 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 Jonathan Wakely changed: What|Removed |Added Status|SUSPENDED |NEW

[Bug libstdc++/70530] [DR2468] You should probably add addressof (a) != addressof (b) check to std::swap

2016-04-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70530 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |SUSPENDED Last reconfirmed|