summaryrefslogtreecommitdiff
path: root/contrib/libc++/src/mutex_destructor.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
commit0b57cec536236d46e3dba9bd041533462f33dbb7 (patch)
tree56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/libc++/src/mutex_destructor.cpp
parent718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff)
Notes
Diffstat (limited to 'contrib/libc++/src/mutex_destructor.cpp')
-rw-r--r--contrib/libc++/src/mutex_destructor.cpp51
1 files changed, 0 insertions, 51 deletions
diff --git a/contrib/libc++/src/mutex_destructor.cpp b/contrib/libc++/src/mutex_destructor.cpp
deleted file mode 100644
index 3a6b6b55eeb7..000000000000
--- a/contrib/libc++/src/mutex_destructor.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//===--------------------- mutex_destructor.cpp ---------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// Define ~mutex.
-//
-// On some platforms ~mutex has been made trivial and the definition is only
-// provided for ABI compatibility.
-//
-// In order to avoid ODR violations within libc++ itself, we need to ensure
-// that *nothing* sees the non-trivial mutex declaration. For this reason
-// we re-declare the entire class in this file instead of using
-// _LIBCPP_BUILDING_LIBRARY to change the definition in the headers.
-
-#include "__config"
-#include "__threading_support"
-
-#if !defined(_LIBCPP_HAS_NO_THREADS)
-#if _LIBCPP_ABI_VERSION == 1 || !defined(_LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION)
-#define NEEDS_MUTEX_DESTRUCTOR
-#endif
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#ifdef NEEDS_MUTEX_DESTRUCTOR
-class _LIBCPP_TYPE_VIS mutex
-{
- __libcpp_mutex_t __m_ = _LIBCPP_MUTEX_INITIALIZER;
-
-public:
- _LIBCPP_ALWAYS_INLINE _LIBCPP_INLINE_VISIBILITY
- constexpr mutex() = default;
- mutex(const mutex&) = delete;
- mutex& operator=(const mutex&) = delete;
- ~mutex() noexcept;
-};
-
-
-mutex::~mutex() _NOEXCEPT
-{
- __libcpp_mutex_destroy(&__m_);
-}
-
-#endif // !_LIBCPP_HAS_NO_THREADS
-_LIBCPP_END_NAMESPACE_STD
-