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?

Reply via email to