https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68122
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu.org,
| |torvald at gcc dot gnu.org
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Forgot the testcase:
int cnt;
int x, y, *p;
int
main (void)
{
__transaction_atomic
{
cnt += __builtin_add_overflow (x, y, p);
}
}
Basically, all cases in trans-mem.c that use gimple_call_fn are suspect, for
gimple_call_internal_p calls that returns NULL.
is_tm_pure_call handles internal calls by testing ECF_CONST or ECF_PURE for
them, which is fine, the question is what exactly to do about the other spots.
Richard/Torvald, could you please have a look at this?