[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #9 from Jonathan Wakely --- With the removal of if constexpr we would unconditionally instantiate __relocate_a, which could fail ... but only in cases like a deleted move constructor. This avoids that instantiation, so it doesn't

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #8 from Marc Glisse --- (In reply to Jonathan Wakely from comment #7) > So I guess I could revert r268537 then. I don't think it was worth spending time on in the first place, but now that you have written it, it isn't as bad as I

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #7 from Jonathan Wakely --- Oh, so it does. So I guess I could revert r268537 then. The downstream package where this caused a build failure was already changed to stop (foolishly) deleting move ctors, so it's not causing any more

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #6 from Marc Glisse --- (In reply to Jonathan Wakely from comment #5) > Looking at the standard, the requirements for the push_back call in comment > 0 are that X is Cpp17CopyInsertable into vector, which is true. The check > whether

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-02-05 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #4 from Jonathan Wakely --- Author: redi Date: Tue Feb 5 14:45:00 2019 New Revision: 268537 URL: https://gcc.gnu.org/viewcvs?rev=268537=gcc=rev Log: PR libstdc++/89130 restore support for non-MoveConstructible types The changes to

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-01-31 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Target Milestone|---

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-01-30 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #3 from Marc Glisse --- We already discussed this https://gcc.gnu.org/ml/libstdc++/2018-09/msg7.html

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-01-30 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 --- Comment #2 from Jonathan Wakely --- However, the code that this relocation replaces uses move_if_noexcept which is also incorrect for weird allocators. So maybe those cases are already incorrect.

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-01-30 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 Jonathan Wakely changed: What|Removed |Added CC||glisse at gcc dot gnu.org --- Comment

[Bug libstdc++/89130] [9 Regression] std::vector relocation fails for types with deleted move constructor

2019-01-30 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89130 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|