The non-barrier versions of OSAtomic* functions are semantically mo_relaxed, but the two variants (e.g. OSAtomicAdd32 and OSAtomicAdd32Barrier) are actually aliases of each other, and we cannot have different interceptors for them, because they're actually the same function. Thus, we have to stay conservative and treat the non-barrier versions as mo_acq_rel.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM with a nit.
lib/tsan/rtl/tsan_interceptors_mac.cc | ||
---|---|---|
35 | Please use const int for there. |
Please use const int for there.
Constants generally lead to fewer issues during maintenance than text replacements.