Author: jlebar Date: Sun Apr 23 11:58:48 2017 New Revision: 301132 URL: http://llvm.org/viewvc/llvm-project?rev=301132&view=rev Log: Add missing acquire_load to call_once overload.
Summary: Seemed to have been overlooked in D24028. This bug was found and brought to my attention by Paul Wankadia. Reviewers: kubamracek, EricWF, dvyukov Differential Revision: https://reviews.llvm.org/D32402 Modified: libcxx/trunk/include/mutex Modified: libcxx/trunk/include/mutex URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/mutex?rev=301132&r1=301131&r2=301132&view=diff ============================================================================== --- libcxx/trunk/include/mutex (original) +++ libcxx/trunk/include/mutex Sun Apr 23 11:58:48 2017 @@ -685,7 +685,7 @@ inline _LIBCPP_INLINE_VISIBILITY void call_once(once_flag& __flag, const _Callable& __func) { - if (__flag.__state_ != ~0ul) + if (__libcpp_acquire_load(&__flag.__state_) != ~0ul) { __call_once_param<const _Callable> __p(__func); __call_once(__flag.__state_, &__p, &__call_once_proxy<const _Callable>); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits