Both clang/libc++ and MSVC-14 support <shared_mutex>, but neither set the SD6 macros so, don't bother testing them. Definitely don't test for the presence of std::shared_mutex as that's a C++17 feature.