+2014-12-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/64203
+ * include/std/shared_mutex: Fix preprocessor conditions.
+ * testsuite/experimental/feat-cxx14.cc: Check conditions.
+
2014-12-05 Jonathan Wakely <jwakely@redhat.com>
* include/bits/hashtable_policy.h (_Map_base::operator[],
#else
#include <bits/c++config.h>
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-# include <mutex>
-# include <condition_variable>
-#endif
+#include <mutex>
+#include <condition_variable>
#include <bits/functexcept.h>
namespace std _GLIBCXX_VISIBILITY(default)
* @{
*/
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
+#ifdef _GLIBCXX_HAS_GTHREADS
#define __cpp_lib_shared_timed_mutex 201402
}
}
};
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
/// shared_lock
template<typename _Mutex>
swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept
{ __x.swap(__y); }
+#endif // _GLIBCXX_USE_C99_STDINT_TR1
+
// @} group mutexes
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
# error "<shared_mutex>"
#endif
-#ifndef __cpp_lib_shared_timed_mutex
-# error "__cpp_lib_shared_timed_mutex"
-#elif __cpp_lib_shared_timed_mutex != 201402
-# error "__cpp_lib_shared_timed_mutex != 201402"
+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+# ifndef __cpp_lib_shared_timed_mutex
+# error "__cpp_lib_shared_timed_mutex"
+# elif __cpp_lib_shared_timed_mutex != 201402
+# error "__cpp_lib_shared_timed_mutex != 201402"
+# endif
#endif
#ifndef __cpp_lib_is_final