__tm_abort clarification

__tm_abort clarification

The documentation says that "__tm_abort" must be lexically bound to a transaction. My understanding is that you cannot call __tm_abort inside a tm_callable transaction called through a transaction. Is that right?

__attribute__ ((tm_callable)) void abort_me() {
__tm_abort; /* ILLEGAL */
}

foo() {
__tm_atomic {
abort_me();
}
}

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Your understanding is correct. Thanks for trying our Edition 2.0 out.

Xinmin Tian (Intel)

Login to leave a comment.