[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2019-10-31 Thread antonio.di.monaco at sap dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Antonio Di Monaco changed: What|Removed |Added CC||antonio.di.monaco at sap dot com

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-10-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jonathan Wakely changed: What|Removed |Added Target Milestone|9.0 |7.4 --- Comment #17 from Jonathan

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-10-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #16 from Jonathan Wakely --- Author: redi Date: Fri Oct 12 12:51:40 2018 New Revision: 265095 URL: https://gcc.gnu.org/viewcvs?rev=265095=gcc=rev Log: PR libstdc++/78595 implement insertion into maps in terms of emplace C++14

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-10-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #15 from Jonathan Wakely --- Author: redi Date: Fri Oct 12 12:28:48 2018 New Revision: 265088 URL: https://gcc.gnu.org/viewcvs?rev=265088=gcc=rev Log: PR libstdc++/78595 implement insertion into maps in terms of emplace C++14

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-09-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-09-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #13 from Jonathan Wakely --- Author: redi Date: Mon Sep 3 14:25:12 2018 New Revision: 264059 URL: https://gcc.gnu.org/viewcvs?rev=264059=gcc=rev Log: PR libstdc++/78595 implement insertion into maps in terms of emplace C++14

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-09-03 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jonathan Wakely changed: What|Removed |Added Assignee|ville.voutilainen at gmail dot com |redi at gcc dot gnu.org

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-07-26 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jakub Jelinek changed: What|Removed |Added Target Milestone|8.2 |8.3 --- Comment #12 from Jakub Jelinek

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2018-05-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jakub Jelinek changed: What|Removed |Added Target Milestone|8.0 |8.2 --- Comment #11 from Jakub Jelinek

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2017-01-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jonathan Wakely changed: What|Removed |Added Keywords||rejects-valid Target Milestone|---

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2017-01-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Jonathan Wakely changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-12-02 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #8 from Jonathan Wakely --- Oops, the second condition *should* fail in that last example, but here it shouldn't: #include #include #include struct Key { int key; }; struct X { operator std::pair() const { return { { x }, 0

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-12-02 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #7 from Jonathan Wakely --- Pure evil: #include #include struct Key { int key; }; struct X { operator std::pair() const { return { { x }, 0 }; } int x; }; template struct Alloc { Alloc() = default; template

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-12-02 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #6 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #0) > This prints "conv" twice, because we create a temporary to get the key here: > > pair<_Base_ptr, _Base_ptr> __res > =

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-12-02 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Ville Voutilainen changed: What|Removed |Added Version|7.0 |unknown --- Comment #5 from Ville

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-11-30 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #4 from Ville Voutilainen --- (In reply to Jonathan Wakely from comment #3) While I'm at it, I'll move the constraint to the return type.

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-11-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #3 from Jonathan Wakely --- And for the insert-with-hint case: @@ -848,13 +855,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_insert_unique_(__position, __x); } #if __cplusplus >= 201103L -

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-11-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 --- Comment #2 from Jonathan Wakely --- For example: --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -795,12 +795,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { return _M_t._M_insert_unique(__x); }

[Bug libstdc++/78595] Unnecessary copies in _Rb_tree

2016-11-29 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78595 Ville Voutilainen changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|