This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] N3659: add C++14's <shared_mutex>


This implements N3659, adding <shared_mutex> for C++14.

I used Howard's reference implementation in terms of std::mutex and
std::condition_variable. I haven't benchmarked this against using
pthread_rwlock_t, but this is more portable anyway.  We might want to
consider an alternative implementation for gthr_posix.h targets at a
later date, but I'm not planning to work on that.

        * include/std/shared_mutex: Implement N3659.
        * include/bits/c++14_warning.h: New.
        * include/Makefile.am: Add new headers.
        * include/Makefile.in: Regenerate.
        * testsuite/30_threads/shared_lock/cons/1.cc: New.
        * testsuite/30_threads/shared_lock/locking/2.cc: New.
        * testsuite/30_threads/shared_lock/cons/2.cc: New.
        * testsuite/30_threads/shared_lock/locking/3.cc: New.
        * testsuite/30_threads/shared_lock/cons/3.cc: New.
        * testsuite/30_threads/shared_lock/locking/4.cc: New.
        * testsuite/30_threads/shared_lock/cons/4.cc: New.
        * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
        * testsuite/30_threads/shared_lock/cons/5.cc: New.
        * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
        * testsuite/30_threads/shared_lock/cons/6.cc: New.
        * testsuite/30_threads/shared_lock/requirements/
        explicit_instantiation.cc: New.
        * testsuite/30_threads/shared_lock/locking/1.cc: New.
        * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
        * testsuite/30_threads/shared_mutex/cons/1.cc: New.
        * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
        * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
        * testsuite/30_threads/shared_mutex/requirements/
        standard_layout.cc: New.
        * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
        * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.

Tested x86_64-linux, committed to trunk.

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]