[Bug rtl-optimization/108596] [10/11/12/13 Regression] error: EDGE_CROSSING missing across section boundary
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 30 12:24:41 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108596
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Likely latent before that though.
Slightly cleaned up testcase, just -O2 is needed:
__attribute__((__cold__)) void foo (void);
void qux (void);
int
bar (void)
{
asm goto ("" : : : : l1, l0);
l1:
return 1;
l0:
return 0;
}
void
baz ()
{
_Bool x = bar ();
if (!x)
qux ();
foo ();
}
Or even simpler (again -O2):
__attribute__((__cold__)) void foo (void);
void bar (void);
void
baz ()
{
asm goto ("" : : : : l1, l0);
goto l0;
l1:
bar ();
l0:
foo ();
}
More information about the Gcc-bugs
mailing list