http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46269

--- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> 2010-11-09 
18:06:35 UTC ---
Since updateBuildingSite is transaction_callable, not 
transaction_safe, we should handle this no matter how
the other functions are annotated.

When atomic_exchange_and_add is not annotated, we should
transition to serial-irrevocable mode before the asm,
just as we would do when calling any other unknown function.

When atomic_exchange_and_add is annotated pure, we should
believe it and not process anything inside.  We do not
currently support a general TM escape mechanism on a per-
block basis, so the only way to really ignore stuff inside
transaction_pure functions is to *not* inline them.

Reply via email to