https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101976
--- Comment #1 from Dmitry Prokoptsev ---
I believe I stumbled on this one as well -- see
https://godbolt.org/z/or31cz6eW, although it's not as trivial as the snippet
provided here.
Reproduces in 10.3 and all subsequent versions.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103755
--- Comment #6 from Dmitry Prokoptsev ---
That would also work, I suppose (it even outperforms my original approach by a
tiny bit -- 33 ns for v2 vs 36 for my original implementation).
There are a few build errors in the alternative implementat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103755
--- Comment #5 from Dmitry Prokoptsev ---
Created attachment 52029
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52029&action=edit
Build fix for alternative implementation v2.
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: dprokoptsev at gmail dot com
Target Milestone: ---
Created attachment 52021
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52021&action=edit
Proposed implementation
Current implementation of ba
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102656
--- Comment #1 from Dmitry Prokoptsev ---
Follow-up: adding a non-trivial copy constructor --
future(const future& f): x(f.x) {}
-- also resolves the ICE.
++
Assignee: unassigned at gcc dot gnu.org
Reporter: dprokoptsev at gmail dot com
Target Milestone: ---
Here's the minimal example I've been able to come up with:
// ICEs on -fcoroutines -O1 -fsanitize=address, on any gcc version between 10.2
and trunk (does compile
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62258
--- Comment #2 from Dmitry Prokoptsev ---
Created attachment 33395
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33395&action=edit
Proposed patch
I believe the problem is that std::rethrow_exception() does not update
`__cxa_eh_globals::un
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62258
--- Comment #1 from Dmitry Prokoptsev ---
Created attachment 33394
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33394&action=edit
A simple test case.
ormal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: dprokoptsev at gmail dot com
After using std::rethrow_exception() (and catching the exception), all
subsequent calls to std::uncaught_exception() return `true', which is obv