diff options
author | heretic <heretic@yandex-team.ru> | 2022-02-10 16:45:46 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:46 +0300 |
commit | 81eddc8c0b55990194e112b02d127b87d54164a9 (patch) | |
tree | 9142afc54d335ea52910662635b898e79e192e49 /contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp | |
parent | 397cbe258b9e064f49c4ca575279f02f39fef76e (diff) | |
download | ydb-81eddc8c0b55990194e112b02d127b87d54164a9.tar.gz |
Restoring authorship annotation for <heretic@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp')
-rw-r--r-- | contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp b/contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp index 82f318080a..fc1fa90511 100644 --- a/contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp +++ b/contrib/libs/cxxsupp/libcxxabi/src/cxa_guard.cpp @@ -1,53 +1,53 @@ //===----------------------------------------------------------------------===// -// -// 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 -// -//===----------------------------------------------------------------------===// - -#include "__cxxabi_config.h" -#include "cxxabi.h" - -// Tell the implementation that we're building the actual implementation -// (and not testing it) -#define BUILDING_CXA_GUARD -#include "cxa_guard_impl.h" - -/* - This implementation must be careful to not call code external to this file - which will turn around and try to call __cxa_guard_acquire reentrantly. - For this reason, the headers of this file are as restricted as possible. - Previous implementations of this code for __APPLE__ have used - std::__libcpp_mutex_lock and the abort_message utility without problem. This - implementation also uses std::__libcpp_condvar_wait which has tested - to not be a problem. -*/ - -namespace __cxxabiv1 { - -#if defined(_LIBCXXABI_GUARD_ABI_ARM) -using guard_type = uint32_t; -#else -using guard_type = uint64_t; -#endif - -extern "C" -{ -_LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(guard_type* raw_guard_object) { - SelectedImplementation imp(raw_guard_object); - return static_cast<int>(imp.cxa_guard_acquire()); -} - -_LIBCXXABI_FUNC_VIS void __cxa_guard_release(guard_type *raw_guard_object) { - SelectedImplementation imp(raw_guard_object); - imp.cxa_guard_release(); -} - -_LIBCXXABI_FUNC_VIS void __cxa_guard_abort(guard_type *raw_guard_object) { - SelectedImplementation imp(raw_guard_object); - imp.cxa_guard_abort(); -} -} // extern "C" - -} // __cxxabiv1 +// +// 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 +// +//===----------------------------------------------------------------------===// + +#include "__cxxabi_config.h" +#include "cxxabi.h" + +// Tell the implementation that we're building the actual implementation +// (and not testing it) +#define BUILDING_CXA_GUARD +#include "cxa_guard_impl.h" + +/* + This implementation must be careful to not call code external to this file + which will turn around and try to call __cxa_guard_acquire reentrantly. + For this reason, the headers of this file are as restricted as possible. + Previous implementations of this code for __APPLE__ have used + std::__libcpp_mutex_lock and the abort_message utility without problem. This + implementation also uses std::__libcpp_condvar_wait which has tested + to not be a problem. +*/ + +namespace __cxxabiv1 { + +#if defined(_LIBCXXABI_GUARD_ABI_ARM) +using guard_type = uint32_t; +#else +using guard_type = uint64_t; +#endif + +extern "C" +{ +_LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(guard_type* raw_guard_object) { + SelectedImplementation imp(raw_guard_object); + return static_cast<int>(imp.cxa_guard_acquire()); +} + +_LIBCXXABI_FUNC_VIS void __cxa_guard_release(guard_type *raw_guard_object) { + SelectedImplementation imp(raw_guard_object); + imp.cxa_guard_release(); +} + +_LIBCXXABI_FUNC_VIS void __cxa_guard_abort(guard_type *raw_guard_object) { + SelectedImplementation imp(raw_guard_object); + imp.cxa_guard_abort(); +} +} // extern "C" + +} // __cxxabiv1 |