[PATCH] D21260: Implement variadic lock_guard.

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 13 14:08:11 PDT 2016


EricWF updated the summary for this revision.
EricWF updated this revision to Diff 60602.
EricWF added a comment.

Address K-ballo's comments:

- Remove `mutex_type` typedef when `sizeof...(MutexTypes) > 1`.
- Move the variadic `lock_guard` implementation into `<mutex>` instead of `<__mutex_base>`. This prevents a lot of code reshuffling.
- Fix accidental `explicit` on deleted copy constructor.
- Mark non-variadic lock_guard copy ctor and assignment as deleted using `_LIBCPP_EQUAL_DELETE`.
- Fix mismatched `struct` and `class` tags.


http://reviews.llvm.org/D21260

Files:
  include/__mutex_base
  include/mutex
  test/libcxx/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex_mangling.pass.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_assign.fail.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_copy.fail.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.fail.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp
  test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_types.pass.cpp
  www/cxx1z_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21260.60602.patch
Type: text/x-patch
Size: 19462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160613/04753131/attachment-0001.bin>


More information about the cfe-commits mailing list