[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2017-03-01 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 Jonathan Wakely changed: What|Removed |Added CC||krisk0.2017.02.27@protonmai

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-10-24 Thread ville at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #12 from ville at gcc dot gnu.org --- Author: ville Date: Mon Oct 24 12:52:31 2016 New Revision: 241477 URL: https://gcc.gnu.org/viewcvs?rev=241477=gcc=rev Log: Backport from mainline: 2016-10-24 Ville Voutilainen

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-10-24 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 Ville Voutilainen changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-10-24 Thread ville at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #11 from ville at gcc dot gnu.org --- Author: ville Date: Mon Oct 24 12:46:44 2016 New Revision: 241476 URL: https://gcc.gnu.org/viewcvs?rev=241476=gcc=rev Log: Cross-port the latest resolution of LWG2756 and some bug-fixes to

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-09-21 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #10 from Ville Voutilainen --- And yes, I plan to port this fix to experimental::optional on trunk and then backport that.

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-09-21 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #9 from Ville Voutilainen --- Fixed on trunk so far.

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-09-21 Thread ville at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #8 from ville at gcc dot gnu.org --- Author: ville Date: Wed Sep 21 17:37:17 2016 New Revision: 240324 URL: https://gcc.gnu.org/viewcvs?rev=240324=gcc=rev Log: PR libstdc++/77288 * include/std/optional

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-23 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #7 from Ville Voutilainen --- See https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01634.html for what the aforementioned superior approach looks like.

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-21 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #6 from Ville Voutilainen --- There's a superior fix that retains conversions but doesn't cause this regression. Stay tuned.

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-18 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #5 from Ville Voutilainen --- Ah. That would indeed mean that every converting assignment introduces a temporary. Design-wise I'd rather have it so that optional doesn't convert at all in the assignment. :)

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-18 Thread dawid_jurek at vp dot pl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #4 from dawid_jurek at vp dot pl --- After applying my patch code snippet you provided compile, run and works as expected. To be more precise I'm talking about such snippet: std::experimental::optional os; os = "meow";

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-18 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #3 from Ville Voutilainen --- >Now behaviour is the same as in gcc 5.1 - operator=(_Up&& __u) is chosen in 2 >situations: >1. _Up is NOT optional >2. _Up is optional AND _Up is same as _Tp modulo cv-qualifiers, references etc. How

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

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

[Bug libstdc++/77288] Std::experimental::optional::operator= implementation is broken in gcc 6.1

2016-08-18 Thread dawid_jurek at vp dot pl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288 --- Comment #1 from dawid_jurek at vp dot pl --- Created attachment 39471 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39471=edit Fix bug in operator=