[Bug c++/101244] Wrong path in coroutine returning ternary

2021-06-28 Thread victor.burckel at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101244 --- Comment #1 from Victor Burckel --- If ternary is not put in the co_return part but split into assignement return, the compiler crashes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101149

[Bug c++/101244] New: Wrong path in coroutine returning ternary

2021-06-28 Thread victor.burckel at gmail dot com via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- In a coroutine returning a ternary expression with co_await, the co_await part seems to be evaluated whatever the result of the condition: See it on godbolt, I added a

[Bug c++/101243] Coroutine lambda capture is destroyed twice

2021-06-28 Thread victor.burckel at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101243 --- Comment #1 from Victor Burckel --- May be similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99576 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98401

[Bug c++/101243] New: Coroutine lambda capture is destroyed twice

2021-06-28 Thread victor.burckel at gmail dot com via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- In a corourtine expecting a std::function parameter, passing a temporary lambda with a capture results in the capture being destroyed twice: See it on gldbolt, gcc vs

[Bug c++/98401] Temporaries passed to co_await sometimes cause an extraneous call to destructor at incorrect address

2021-06-23 Thread victor.burckel at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98401 Victor Burckel changed: What|Removed |Added CC||victor.burckel at gmail dot com

[Bug c++/99576] [coroutines] destructor of a temporary called too early within co_await expression

2021-06-23 Thread victor.burckel at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99576 --- Comment #4 from Victor Burckel --- I'm also seeing the same behavior, destructor of lambda captures seems to get called twice https://godbolt.org/z/zxnhM3x47

[Bug c++/101149] New: Coroutine compiler error with ternary operator

2021-06-21 Thread victor.burckel at gmail dot com via Gcc-bugs
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- Hello, I'm getting a compiler error when trying to use co_await expression in a ternary operator: > internal compiler error: in expand_expr_real_1, at expr

[Bug c++/101144] New: Coroutine compiler error

2021-06-21 Thread victor.burckel at gmail dot com via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- Hello, When trying to await the following coroutine, I get a compiler internal error > internal compiler error: in build_special_member_call, at cp/call.c:10157 See it on godbolt: ht

[Bug c++/95824] New: [coroutines] compiler crash

2020-06-22 Thread victor.burckel at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- The following code sample makes the gcc 10.1.0 compiler crash with segmentation fault (compiled with -std=c++20 -fcoroutines). Gcc trunk generates an assertion > internal compiler er

[Bug c++/95823] New: [coroutines] compiler internal error in captures_temporary,

2020-06-22 Thread victor.burckel at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- I get a compiler internal error when passing a value to a coroutine that is retrieved through two inderections within smart pointers (I

[Bug c++/95822] New: [coroutines] compiler internal error with local object with noexcept false destructor

2020-06-22 Thread victor.burckel at gmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: victor.burckel at gmail dot com Target Milestone: --- It seems that when a coroutine contains a local object whose destructor is marked as noexcept(false), gcc