[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2021-10-01 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |12.0 Resolution|---

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2021-10-01 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #8 from CVS Commits --- The master branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:cfb582f62791dfadc243d97d37f0b83ef77cf480 commit r12-4068-gcfb582f62791dfadc243d97d37f0b83ef77cf480 Author: Jonathan Wakely Date:

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2021-05-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #7 from Jonathan Wakely --- Fixed in my fork (for visiting a single variant of up to 11 alternative types): https://gitlab.com/jonathan-wakely/gcc/-/commit/f5de3d9055e47b73cd1c4d35c235ebaa3f93a5e6

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2019-09-16 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #6 from Marc Glisse --- (looking at the first testcase) There are 2 things. One is the implementation strategy in libstdc++ vs boost vs others (I don't know what is best, it probably depends on the application). The other one is that

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2019-04-18 Thread quicknir at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #5 from Nir Friedman --- Jonathan, I saw you just change the status of this. Michael Park's and I work has resulted in a different implementation of std::visit which has much better codegen; also backed by performance numbers. This al

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2018-10-02 Thread quicknir at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #4 from Nir Friedman --- Started a PR on mpark github variant: https://github.com/mpark/variant/pull/52.

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2018-09-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2018-09-28 Thread quicknir at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 Nir Friedman changed: What|Removed |Added CC||quicknir at gmail dot com --- Comment #3

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2018-08-27 Thread antoshkka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #2 from Antony Polukhin --- Here's another example: #include struct A {}; struct B : A {}; struct C : A {}; struct D : A {}; struct E : A {}; struct X : A {}; struct visitor { template A& operator()(T& v) const noexcept {

[Bug libstdc++/78113] std::variant and std::visit's current implementations do not get optimized out (compared to "recursive visitation")

2018-08-27 Thread antoshkka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78113 --- Comment #1 from Antony Polukhin --- Note that this bug is related to Bug 86912. Fixing Bug 86912 should automatically resolve this issue (but not vice versa).