diff options
Diffstat (limited to 'libcxx/src/memory.cpp')
| -rw-r--r-- | libcxx/src/memory.cpp | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/libcxx/src/memory.cpp b/libcxx/src/memory.cpp deleted file mode 100644 index a892e75c86d0..000000000000 --- a/libcxx/src/memory.cpp +++ /dev/null @@ -1,165 +0,0 @@ -//===------------------------ memory.cpp ----------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "memory" - -_LIBCPP_BEGIN_NAMESPACE_STD - -namespace -{ - -template <class T> -inline T -increment(T& t) _NOEXCEPT -{ - return __sync_add_and_fetch(&t, 1); -} - -template <class T> -inline T -decrement(T& t) _NOEXCEPT -{ - return __sync_add_and_fetch(&t, -1); -} - -} // namespace - -const allocator_arg_t allocator_arg = allocator_arg_t(); - -bad_weak_ptr::~bad_weak_ptr() _NOEXCEPT {} - -const char* -bad_weak_ptr::what() const _NOEXCEPT -{ - return "bad_weak_ptr"; -} - -__shared_count::~__shared_count() -{ -} - -void -__shared_count::__add_shared() _NOEXCEPT -{ - increment(__shared_owners_); -} - -bool -__shared_count::__release_shared() _NOEXCEPT -{ - if (decrement(__shared_owners_) == -1) - { - __on_zero_shared(); - return true; - } - return false; -} - -__shared_weak_count::~__shared_weak_count() -{ -} - -void -__shared_weak_count::__add_shared() _NOEXCEPT -{ - __shared_count::__add_shared(); -} - -void -__shared_weak_count::__add_weak() _NOEXCEPT -{ - increment(__shared_weak_owners_); -} - -void -__shared_weak_count::__release_shared() _NOEXCEPT -{ - if (__shared_count::__release_shared()) - __release_weak(); -} - -void -__shared_weak_count::__release_weak() _NOEXCEPT -{ - if (decrement(__shared_weak_owners_) == -1) - __on_zero_shared_weak(); -} - -__shared_weak_count* -__shared_weak_count::lock() _NOEXCEPT -{ - long object_owners = __shared_owners_; - while (object_owners != -1) - { - if (__sync_bool_compare_and_swap(&__shared_owners_, - object_owners, - object_owners+1)) - return this; - object_owners = __shared_owners_; - } - return 0; -} - -#ifndef _LIBCPP_NO_RTTI - -const void* -__shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT -{ - return 0; -} - -#endif // _LIBCPP_NO_RTTI - -void -declare_reachable(void*) -{ -} - -void -declare_no_pointers(char*, size_t) -{ -} - -void -undeclare_no_pointers(char*, size_t) -{ -} - -pointer_safety -get_pointer_safety() _NOEXCEPT -{ - return pointer_safety::relaxed; -} - -void* -__undeclare_reachable(void* p) -{ - return p; -} - -void* -align(size_t alignment, size_t size, void*& ptr, size_t& space) -{ - void* r = nullptr; - if (size <= space) - { - char* p1 = static_cast<char*>(ptr); - char* p2 = (char*)((size_t)(p1 + (alignment - 1)) & -alignment); - size_t d = static_cast<size_t>(p2 - p1); - if (d <= space - size) - { - r = p2; - ptr = r; - space -= d; - } - } - return r; -} - -_LIBCPP_END_NAMESPACE_STD |
