https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #21 from Avi Kivity ---
Benno, many thanks for the fix. Please consider posting it to gcc-patches as
that may speed up review and merging.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #20 from Benno Evers ---
Created attachment 52611
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52611=edit
Possible fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
Benno Evers changed:
What|Removed |Added
CC||gcc at bmevers dot de
--- Comment #19
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
Piotr Grabowski changed:
What|Removed |Added
CC||piotr.grabowski at scylladb
dot co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
Richard Biener changed:
What|Removed |Added
Priority|P3 |P2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #17 from Avi Kivity ---
Created attachment 51843
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51843=edit
valid-code reproducer (compiles with -O0)
Uploaded a valid-code reproducer (if you don't mind warnings). Compiles with
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #16 from Richard Biener ---
And
static void
verify_scope_blocks (tree block, tree supercontext)
{
gcc_assert (BLOCK_SUPERCONTEXT (block) == supercontext);
for (tree t = BLOCK_SUBBLOCKS (block); t; t = BLOCK_CHAIN (t))
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #15 from Iain Sandoe ---
OK. I need to see where I slipped up - we are supposed to extract the outlined
portion of the function and then wrap that in the various machinery specified
in the std.
However, blocks associated with parms
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #14 from Richard Biener ---
Note the BLOCK is lost somewhere between CFG build (still OK as by
verify_gimple_in_cfg) and free_lang_data where it is lost.
Oh, so the BLOCK in question is used in two different functions BIND_EXPRs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #13 from Richard Biener ---
The checking patch also trigers on coroutines.exp testing (as expected).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #12 from Richard Biener ---
Basically with lower_gimple_bind we re-wire the BLOCK tree to match the
GIMPLE_BLOCK IL nesting. Whatever gets "unreachable" in that process is
"lost".
The following shows this, but it seems it is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #11 from Richard Biener ---
The first stmt we complain on remains in the same function. The functions
scope tree at the point of complaint is
{ Scope block #0
{ Scope block #0 (unused)
struct coroutine_handle
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #10 from Avi Kivity ---
It's reducing with the stricter test, expect something in around 24 hours.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #9 from Avi Kivity ---
btw, I also noticed these warnings:
raft/server.cc: In member function ‘virtual seastar::future<>
raft::server_impl::abort()’:
raft/server.cc:932:1: warning:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #8 from Avi Kivity ---
Aha, I'll validate against g++ -O0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #7 from Jakub Jelinek ---
So can you perhaps check that g++ -O0 -std=gnu++20 -fno-checking -fno-inline
accepts it without errors while g++ -O2 -std=gnu++20 ICEs on it?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #6 from Avi Kivity ---
Unfortunately, clang doesn't accept the preprocessed source, only the original.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #5 from Avi Kivity ---
Sure, I'll redo the reduction.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
--- Comment #4 from Jakub Jelinek ---
That is a bad bisection, just change it like:
--- pr103328.C~ 2021-11-19 06:20:59.0 -0500
+++ pr103328.C 2021-11-19 06:21:57.0 -0500
@@ -530,7 +530,7 @@ void
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103328
Martin Liška changed:
What|Removed |Added
Target Milestone|--- |11.3
Summary|ICE in
20 matches
Mail list logo