EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land.
LGTM. I'll re-review the mutexor changes post-commit. ================ Comment at: CMakeLists.txt:121 option(LIBCXXABI_HAS_PTHREAD_API "Ignore auto-detection and force use of pthread API" OFF) +option(LIBCXXABI_HAS_EXTERNAL_THREAD_API + "Build libc++abi with an externalized threading API. ---------------- rmaprath wrote: > EricWF wrote: > > Maybe use a dependent option that sets it to the value of > > `LIBCXX_ENABLE_THREADS` when it is defined? > Are you referring to `CMAKE_DEPENDENT_OPTION` macro? I don't see this macro > used anywhere else in llvm, but I suppose that's not a concern? > > Although, it would have to be something like: > > ``` > CMAKE_DEPENDENT_OPTION(LIBCXXABI_HAS_EXTERNAL_THREAD_API "Externally Threaded > libcxxabi" OFF "LIBCXX_ENABLE_THREADS" OFF) > ``` > > Because, `LIBCXX_ENABLE_THREADS=ON` should not mean > `LIBCXXABI_HAS_EXTERNAL_THREAD_API=ON`. > Ah OK. This looks good as is then. Although it would be really nice if `LIBCXX_HAS_EXTERNAL_THREAD_API=ON` also enabled this option unless otherwise specified, but I don't see an easy way to do that. ================ Comment at: src/fallback_malloc.cpp:37 class mutexor { public: ---------------- rmaprath wrote: > EricWF wrote: > > Can't we replace this class with `std::mutex` directly? > Again, I should've included more context to the patch :( > > The `mutexor` here is supposed to degrade to a nop when threading is > disabled. I think we cannot use `std::mutex` without threading support. > > Will update the patch with more context. We cannot use `std::mutex` without threading support but I would still rather use it. I would `typedef std::lock_guard<std::mutex> mutexor` when threading is enabled and otherwise I would just `#ifdef` all usages away. Also please add `_LIBCPP_SAFE_STATIC` to the heap_mutex declaration. https://reviews.llvm.org/D27575 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits