https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
torvald at gcc dot gnu.org changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
--- Comment #7 from Benjamin Braun ---
A workaround for the code at the top of this thread is to wrap the transaction
in the loop with a function and instead call that function from the loop.
This workaround also works for the case given in dup
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
--- Comment #6 from torvald at gcc dot gnu.org ---
(In reply to ak from comment #4)
> copy_bbs:
>
> (illegal code due to goto into transaction?)
>
> g_56[];
> fn1() {
> int *p_79;
> if (g_56[7])
> __transaction_atomic {
> lbl_196:
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
Benjamin Braun changed:
What|Removed |Added
CC||bjmnbraun at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
Paolo Carlini changed:
What|Removed |Added
CC|spear at cse dot lehigh.edu|
Severity|critical
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
--- Comment #4 from ak at gcc dot gnu.org ---
Reduced test cases for all three crashes. I suspect multiple have a similar
root cause (except perhaps for the expand_expr_addr_expr_1 one)
It looks like the transaction code messes up cfgloops.
copy
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
--- Comment #3 from ak at gcc dot gnu.org ---
Another one:
0x8e23b7 crash_signal
../../gcc/gcc/toplev.c:340
0x61be46 copy_bbs(basic_block_def**, unsigned int, basic_block_def**,
edge_def**, unsigned int, edge_def**, loop*, basic_block_def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
--- Comment #2 from ak at gcc dot gnu.org ---
Looks like there are more problems with -fgnu-tm
I hacked csmith to generate random __transaction_atomic blocks and I got a lot
of crashes immediately. All I looked at were variants of these two:
0x8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63472
ak at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|