[libc++] Introduce implicit and explicit ABI annotations (#193045)
This patch introduces `_LIBCPP_{BEGIN/END}_EXPLICIT_ABI_ANNOTATIONS` and
marks everything within an
`_LIBCPP_{BEGIN,END}_UNVERSIONED_NAMESPACE_STD` (and any derivatives
like `_LIBCPP_{BEGIN,END}_NAMESPACE_STD`) implicitly by default. This
allows us to drop `_LIBCPP_HIDE_FROM_ABI` in most of the code base,
except for functions which shouldn't be `_LIBCPP_HIDE_FROM_ABI`.
This patch doesn't remove any `_LIBCPP_HIDE_FROM_ABI`s, since we have
over 13k of them in the code base. Actually dropping them will happen
over some time to avoid too many merge conflicts.
This commit is contained in:
parent
0bdf71d5a6
commit
2e2d90b986
144 changed files with 331 additions and 5 deletions
|
|
@ -341,6 +341,7 @@ set(files
|
|||
__configuration/language.h
|
||||
__configuration/namespace.h
|
||||
__configuration/platform.h
|
||||
__configuration/utility.h
|
||||
__coroutine/coroutine_handle.h
|
||||
__coroutine/coroutine_traits.h
|
||||
__coroutine/noop_coroutine_handle.h
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ _LIBCPP_PUSH_MACROS
|
|||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
class _LIBCPP_EXPORTED_FROM_ABI __libcpp_debug_randomizer {
|
||||
public:
|
||||
_LIBCPP_HIDE_FROM_ABI __libcpp_debug_randomizer() {
|
||||
|
|
@ -160,6 +161,7 @@ shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _UniformRan
|
|||
std::move(__first), std::move(__last), std::forward<_UniformRandomNumberGenerator>(__g));
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -828,6 +828,7 @@ void __introsort(_RandomAccessIterator __first,
|
|||
}
|
||||
}
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
template <class _Comp, class _RandomAccessIterator>
|
||||
void __sort(_RandomAccessIterator, _RandomAccessIterator, _Comp);
|
||||
|
||||
|
|
@ -856,6 +857,7 @@ extern template _LIBCPP_EXPORTED_FROM_ABI void __sort<__less<float>&, float*>(fl
|
|||
extern template _LIBCPP_EXPORTED_FROM_ABI void __sort<__less<double>&, double*>(double*, double*, __less<double>&);
|
||||
extern template _LIBCPP_EXPORTED_FROM_ABI void
|
||||
__sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _AlgPolicy, class _RandomAccessIterator, class _Comp>
|
||||
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
#if _LIBCPP_STD_VER >= 20
|
||||
# if _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if !_LIBCPP_AVAILABILITY_HAS_NEW_SYNC
|
||||
|
||||
// old dylib interface kept for backwards compatibility
|
||||
|
|
@ -73,6 +75,8 @@ _LIBCPP_AVAILABILITY_NEW_SYNC _LIBCPP_EXPORTED_FROM_ABI void __atomic_notify_one
|
|||
template <std::size_t _Size>
|
||||
_LIBCPP_AVAILABILITY_NEW_SYNC _LIBCPP_EXPORTED_FROM_ABI void __atomic_notify_all_native(const void*) _NOEXCEPT;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_AVAILABILITY_HAS_NEW_SYNC
|
||||
|
||||
template <class _AtomicWaitable, class _Poll>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
#if _LIBCPP_STD_VER >= 20
|
||||
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_NEW_SYNC
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_AVAILABILITY_NEW_SYNC
|
||||
_LIBCPP_EXPORTED_FROM_ABI __cxx_contention_t __atomic_monitor_global(void const* __address) _NOEXCEPT;
|
||||
|
||||
|
|
@ -41,6 +42,7 @@ _LIBCPP_AVAILABILITY_NEW_SYNC _LIBCPP_EXPORTED_FROM_ABI void __atomic_wait_globa
|
|||
template <std::size_t _Size>
|
||||
_LIBCPP_AVAILABILITY_NEW_SYNC _LIBCPP_EXPORTED_FROM_ABI void
|
||||
__atomic_wait_native_with_timeout(void const* __address, void const* __old_value, uint64_t __timeout_ns) _NOEXCEPT;
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _AtomicWaitable, class _Poll, class _Rep, class _Period>
|
||||
struct __atomic_wait_timed_backoff_impl {
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ struct __from_chars_result {
|
|||
errc __ec;
|
||||
};
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
template <class _Fp>
|
||||
_LIBCPP_EXPORTED_FROM_ABI __from_chars_result<_Fp> __from_chars_floating_point(
|
||||
_LIBCPP_NOESCAPE const char* __first, _LIBCPP_NOESCAPE const char* __last, chars_format __fmt);
|
||||
|
|
@ -44,6 +45,7 @@ extern template __from_chars_result<float> __from_chars_floating_point(
|
|||
|
||||
extern template __from_chars_result<double> __from_chars_floating_point(
|
||||
_LIBCPP_NOESCAPE const char* __first, _LIBCPP_NOESCAPE const char* __last, chars_format __fmt);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Fp>
|
||||
_LIBCPP_HIDE_FROM_ABI from_chars_result
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
|
|
@ -50,6 +51,7 @@ _LIBCPP_AVAILABILITY_TO_CHARS_FLOATING_POINT _LIBCPP_EXPORTED_FROM_ABI to_chars_
|
|||
to_chars(char* __first, char* __last, long double __value, chars_format __fmt, int __precision);
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___CHARCONV_TO_CHARS_FLOATING_POINT_H
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20
|
||||
|
||||
|
|
@ -128,6 +129,7 @@ template <class _Duration>
|
|||
|
||||
# endif // _LIBCPP_STD_VER >= 20
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_EXPERIMENTAL_TZDB
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ _LIBCPP_END_NAMESPACE_STD
|
|||
|
||||
#ifndef _LIBCPP_CXX03_LANG
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
struct _FilesystemClock {
|
||||
# if _LIBCPP_HAS_INT128
|
||||
typedef __int128_t rep;
|
||||
|
|
@ -76,6 +78,8 @@ struct _FilesystemClock {
|
|||
}
|
||||
# endif // _LIBCPP_STD_VER >= 20
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
#endif // !_LIBCPP_CXX03_LANG
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace chrono {
|
||||
|
||||
|
|
@ -37,6 +38,7 @@ public:
|
|||
|
||||
} // namespace chrono
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___CHRONO_STEADY_CLOCK_H
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace chrono {
|
||||
|
||||
|
|
@ -47,6 +48,7 @@ using sys_days = sys_time<days>;
|
|||
|
||||
} // namespace chrono
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___CHRONO_SYSTEM_CLOCK_H
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
|
|
@ -176,6 +177,7 @@ operator<=>(const time_zone& __x, const time_zone& __y) noexcept {
|
|||
# endif // _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM &&
|
||||
// _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
|
|
@ -87,6 +88,7 @@ private:
|
|||
# endif // _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM &&
|
||||
// _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
|
|
@ -101,6 +102,7 @@ _LIBCPP_AVAILABILITY_TZDB _LIBCPP_EXPORTED_FROM_ABI const tzdb& reload_tzdb();
|
|||
# endif // _LIBCPP_STD_VER >= 20 && _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM &&
|
||||
// _LIBCPP_HAS_LOCALIZATION
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_EXPERIMENTAL_TZDB
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_HAS_THREADS
|
||||
|
||||
|
|
@ -225,6 +226,7 @@ inline void condition_variable::__do_timed_wait(unique_lock<mutex>& __lk,
|
|||
|
||||
#endif // _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -40,9 +40,6 @@
|
|||
# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
|
||||
# define _LIBCPP_CONCAT3(X, Y, Z) _LIBCPP_CONCAT(X, _LIBCPP_CONCAT(Y, Z))
|
||||
|
||||
# define _LIBCPP_TOSTRING2(x) #x
|
||||
# define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
|
||||
|
||||
# ifndef __has_constexpr_builtin
|
||||
# define __has_constexpr_builtin(x) 0
|
||||
# endif
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include <__config_site>
|
||||
#include <__configuration/hardening.h>
|
||||
#include <__configuration/language.h>
|
||||
#include <__configuration/utility.h>
|
||||
|
||||
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
|
||||
# pragma GCC system_header
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include <__config_site>
|
||||
#include <__configuration/compiler.h>
|
||||
#include <__configuration/utility.h>
|
||||
|
||||
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
|
||||
# pragma GCC system_header
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include <__config_site>
|
||||
#include <__configuration/attributes.h>
|
||||
#include <__configuration/diagnostic_suppression.h>
|
||||
#include <__configuration/utility.h>
|
||||
|
||||
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
|
||||
# pragma GCC system_header
|
||||
|
|
@ -39,6 +40,17 @@
|
|||
# define _LIBCPP_POP_EXTENSION_DIAGNOSTICS
|
||||
#endif
|
||||
|
||||
#define _LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS \
|
||||
_LIBCPP_DIAGNOSTIC_PUSH _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wpragma-clang-attribute") \
|
||||
_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wignored-attributes") \
|
||||
_Pragma(_LIBCPP_TOSTRING(clang attribute _LibcxxExplicitABIAnnotations.push( \
|
||||
__attribute__((__exclude_from_explicit_instantiation__, \
|
||||
__visibility__("hidden"), \
|
||||
__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_ODR_SIGNATURE)))), \
|
||||
apply_to = function))) _LIBCPP_DIAGNOSTIC_POP
|
||||
|
||||
#define _LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS _Pragma("clang attribute _LibcxxExplicitABIAnnotations.pop")
|
||||
|
||||
// clang-format off
|
||||
|
||||
// The unversioned namespace is used when we want to be ABI compatible with other standard libraries in some way. There
|
||||
|
|
@ -50,9 +62,9 @@
|
|||
// If it's not clear whether using the unversioned namespace is the correct thing to do, it's not. The versioned
|
||||
// namespace (_LIBCPP_BEGIN_NAMESPACE_STD) should almost always be used.
|
||||
# define _LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD \
|
||||
_LIBCPP_PUSH_EXTENSION_DIAGNOSTICS namespace _LIBCPP_NAMESPACE_VISIBILITY std {
|
||||
_LIBCPP_PUSH_EXTENSION_DIAGNOSTICS _LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS namespace _LIBCPP_NAMESPACE_VISIBILITY std {
|
||||
|
||||
# define _LIBCPP_END_UNVERSIONED_NAMESPACE_STD } _LIBCPP_POP_EXTENSION_DIAGNOSTICS
|
||||
# define _LIBCPP_END_UNVERSIONED_NAMESPACE_STD } _LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS _LIBCPP_POP_EXTENSION_DIAGNOSTICS
|
||||
|
||||
# define _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD inline namespace _LIBCPP_ABI_NAMESPACE {
|
||||
# define _LIBCPP_END_NAMESPACE_STD } _LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
|
|
|||
22
libcxx/include/__configuration/utility.h
Normal file
22
libcxx/include/__configuration/utility.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// -*- C++ -*-
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___CONFIGURATION_UTILITY_H
|
||||
#define _LIBCPP___CONFIGURATION_UTILITY_H
|
||||
|
||||
#include <__config_site>
|
||||
|
||||
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define _LIBCPP_TOSTRING2(x) #x
|
||||
#define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
|
||||
|
||||
#endif // _LIBCPP___CONFIGURATION_UTILITY_H
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if defined(_LIBCPP_ABI_VCRUNTIME) && (!defined(_HAS_EXCEPTIONS) || _HAS_EXCEPTIONS != 0)
|
||||
// The std::exception class was already included above, but we're explicit about this condition here for clarity.
|
||||
|
|
@ -91,6 +92,7 @@ public:
|
|||
};
|
||||
#endif // !_LIBCPP_ABI_VCRUNTIME
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___EXCEPTION_EXCEPTION_H
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ _LIBCPP_OVERRIDABLE_FUNC_VIS __cxa_exception* __cxa_init_primary_exception(
|
|||
#endif // !defined(_LIBCPP_ABI_MICROSOFT)
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#ifndef _LIBCPP_ABI_MICROSOFT
|
||||
|
||||
|
|
@ -219,6 +220,8 @@ _LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
|
|||
}
|
||||
|
||||
#endif // defined(_LIBCPP_ABI_MICROSOFT)
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI nested_exception {
|
||||
exception_ptr __ptr_;
|
||||
|
|
@ -95,6 +96,7 @@ inline _LIBCPP_HIDE_FROM_ABI void rethrow_if_nested(const _Ep& __e) {
|
|||
template <class _Ep, __enable_if_t<!__can_dynamic_cast<_Ep, nested_exception>::value, int> = 0>
|
||||
inline _LIBCPP_HIDE_FROM_ABI void rethrow_if_nested(const _Ep&) {}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS) || \
|
||||
defined(_LIBCPP_BUILDING_LIBRARY)
|
||||
using unexpected_handler = void (*)();
|
||||
|
|
@ -37,6 +39,8 @@ class _LIBCPP_EXPORTED_FROM_ABI exception_ptr;
|
|||
|
||||
[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT;
|
||||
[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___EXCEPTION_OPERATIONS_H
|
||||
|
|
|
|||
|
|
@ -16,7 +16,11 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void terminate() _NOEXCEPT;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___EXCEPTION_TERMINATE_H
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 23
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Err>
|
||||
class bad_expected_access;
|
||||
|
|
@ -66,6 +67,7 @@ private:
|
|||
_Err __unex_;
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 23
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 17 && _LIBCPP_HAS_FILESYSTEM
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class directory_entry {
|
||||
typedef filesystem::path _Path;
|
||||
|
|
@ -465,6 +466,7 @@ private:
|
|||
directory_entry __elem_;
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17 && _LIBCPP_HAS_FILESYSTEM
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 17 && _LIBCPP_HAS_FILESYSTEM
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_HIDDEN __dir_stream;
|
||||
class directory_iterator {
|
||||
|
|
@ -129,6 +130,7 @@ operator!=(const directory_iterator& __lhs, const directory_iterator& __rhs) noe
|
|||
return directory_iterator();
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI filesystem_error : public system_error {
|
||||
public:
|
||||
|
|
@ -80,6 +81,7 @@ template <class... _Args>
|
|||
}
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI path __absolute(const path&, error_code* __ec = nullptr);
|
||||
_LIBCPP_EXPORTED_FROM_ABI path __canonical(const path&, error_code* __ec = nullptr);
|
||||
_LIBCPP_EXPORTED_FROM_ABI bool
|
||||
|
|
@ -67,6 +68,7 @@ _LIBCPP_EXPORTED_FROM_ABI path __temp_directory_path(error_code* __ec = nullptr)
|
|||
_LIBCPP_EXPORTED_FROM_ABI bool __fs_is_empty(const path& __p, error_code* __ec = nullptr);
|
||||
_LIBCPP_EXPORTED_FROM_ABI void __permissions(const path&, perms, perm_options, error_code* = nullptr);
|
||||
_LIBCPP_EXPORTED_FROM_ABI space_info __space(const path&, error_code* __ec = nullptr);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI path absolute(const path& __p) { return __absolute(__p); }
|
||||
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI path absolute(const path& __p, error_code& __ec) {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Tp>
|
||||
struct __can_convert_char {
|
||||
|
|
@ -899,6 +900,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(path& __lhs, path& __rhs) noexcept { __lh
|
|||
|
||||
[[nodiscard]] _LIBCPP_EXPORTED_FROM_ABI size_t hash_value(const path& __p) noexcept;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI path::iterator {
|
||||
public:
|
||||
|
|
@ -103,6 +104,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const path::iterator& __lhs, const
|
|||
return !(__lhs == __rhs);
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 17 && _LIBCPP_HAS_FILESYSTEM
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class recursive_directory_iterator {
|
||||
public:
|
||||
|
|
@ -139,6 +140,7 @@ begin(recursive_directory_iterator __iter) noexcept {
|
|||
return recursive_directory_iterator();
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_FILESYSTEM
|
||||
|
||||
# if _LIBCPP_STD_VER >= 20
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_STD_VER >= 20
|
||||
|
||||
|
|
@ -45,6 +46,7 @@ _LIBCPP_DIAGNOSTIC_POP
|
|||
|
||||
#endif // _LIBCPP_STD_VER >= 20
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___FORMAT_FORMAT_ERROR_H
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
// bad_function_call
|
||||
|
||||
_LIBCPP_DIAGNOSTIC_PUSH
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
# if !_LIBCPP_AVAILABILITY_HAS_BAD_FUNCTION_CALL_KEY_FUNCTION
|
||||
_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wweak-vtables")
|
||||
# endif
|
||||
|
|
@ -65,6 +66,7 @@ public:
|
|||
const char* what() const _NOEXCEPT override;
|
||||
# endif
|
||||
};
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_DIAGNOSTIC_POP
|
||||
|
||||
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_bad_function_call() {
|
||||
|
|
|
|||
|
|
@ -249,7 +249,9 @@ private:
|
|||
};
|
||||
|
||||
#if _LIBCPP_AVAILABILITY_HAS_HASH_MEMORY
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
[[__gnu__::__pure__]] _LIBCPP_EXPORTED_FROM_ABI size_t __hash_memory(_LIBCPP_NOESCAPE const void*, size_t) _NOEXCEPT;
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
#else
|
||||
_LIBCPP_HIDE_FROM_ABI inline size_t __hash_memory(const void* __ptr, size_t __size) _NOEXCEPT {
|
||||
return __murmur2_or_cityhash<size_t>()(__ptr, __size);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,9 @@ struct __is_hash_value_type : false_type {};
|
|||
template <class _One>
|
||||
struct __is_hash_value_type<_One> : __is_hash_value_type_imp<__remove_cvref_t<_One> > {};
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI size_t __next_prime(size_t __n);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _NodePtr>
|
||||
struct __hash_node_base {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI locale;
|
||||
|
||||
|
|
@ -1497,6 +1498,7 @@ protected:
|
|||
};
|
||||
# endif // _LIBCPP_HAS_WIDE_CHARACTERS
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_LOCALIZATION
|
||||
|
|
|
|||
|
|
@ -20,10 +20,12 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
_LIBCPP_EXPORTED_FROM_ABI void
|
||||
__check_grouping(const string& __grouping, unsigned* __g, unsigned* __g_end, ios_base::iostate& __err);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_LOCALIZATION
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
# else
|
||||
# define _LIBCPP_GET_C_LOCALE __cloc()
|
||||
// Get the C locale object
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI __locale::__locale_t __cloc();
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
# define __cloc_defined
|
||||
# endif
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI messages_base {
|
||||
public:
|
||||
|
|
@ -136,6 +137,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_LOCALIZATION
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// money_base
|
||||
|
||||
|
|
@ -864,6 +865,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
struct _LIBCPP_EXPORTED_FROM_ABI __num_get_base {
|
||||
static const int __num_get_buf_sz = 40;
|
||||
|
|
@ -1008,6 +1009,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
namespace __locale {
|
||||
|
||||
using __lconv_t _LIBCPP_NODEBUG = std::lconv;
|
||||
|
|
@ -304,6 +305,7 @@ struct __locale_guard {
|
|||
#endif // _LIBCPP_BUILDING_LIBRARY
|
||||
|
||||
} // namespace __locale
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___LOCALE_DIR_SUPPORT_WINDOWS_H
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _CharT, class _InputIterator>
|
||||
_LIBCPP_HIDE_FROM_ABI int __get_up_to_n_digits(
|
||||
|
|
@ -755,6 +756,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_LOCALIZATION
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
|
||||
// This function should never be called directly from the code -- it should only be called through the
|
||||
// `_LIBCPP_LOG_HARDENING_FAILURE` macro.
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
[[__gnu__::__cold__]] _LIBCPP_EXPORTED_FROM_ABI void __log_hardening_failure(const char* __message) noexcept;
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// _LIBCPP_LOG_HARDENING_FAILURE(message)
|
||||
//
|
||||
|
|
|
|||
|
|
@ -68,11 +68,13 @@ inline _LIBCPP_HIDE_FROM_ABI double __lgamma_r(double __d) _NOEXCEPT { return __
|
|||
|
||||
#else
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
# if defined(_LIBCPP_OBJECT_FORMAT_MACHO)
|
||||
double __lgamma_r_shim(double, int*) _NOEXCEPT __asm__("_lgamma_r");
|
||||
# else
|
||||
double __lgamma_r_shim(double, int*) _NOEXCEPT __asm__("lgamma_r");
|
||||
# endif
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
inline _LIBCPP_HIDE_FROM_ABI double __lgamma_r(double __d) _NOEXCEPT {
|
||||
int __sign;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// NOTE: Relaxed and acq/rel atomics (for increment and decrement respectively)
|
||||
// should be sufficient for thread safety.
|
||||
|
|
@ -111,6 +112,7 @@ private:
|
|||
virtual void __on_zero_shared_weak() _NOEXCEPT = 0;
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___MEMORY_SHARED_COUNT_H
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI bad_weak_ptr : public std::exception {
|
||||
public:
|
||||
|
|
@ -1536,6 +1537,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_weak_explicit(
|
|||
|
||||
#endif // _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace pmr {
|
||||
|
||||
|
|
@ -84,6 +85,7 @@ null_memory_resource() noexcept;
|
|||
|
||||
} // namespace pmr
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace pmr {
|
||||
|
||||
|
|
@ -112,6 +113,7 @@ private:
|
|||
|
||||
} // namespace pmr
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace pmr {
|
||||
|
||||
|
|
@ -88,6 +89,7 @@ private:
|
|||
|
||||
} // namespace pmr
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace pmr {
|
||||
|
||||
|
|
@ -99,6 +100,7 @@ private:
|
|||
|
||||
} // namespace pmr
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#if _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_CAPABILITY("mutex") mutex {
|
||||
__libcpp_mutex_t __m_ = _LIBCPP_MUTEX_INITIALIZER;
|
||||
|
|
@ -46,6 +47,7 @@ public:
|
|||
|
||||
static_assert(is_nothrow_default_constructible<mutex>::value, "the default constructor for std::mutex must be nothrow");
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_HAS_THREADS
|
||||
|
|
|
|||
|
|
@ -113,7 +113,9 @@ void _LIBCPP_HIDE_FROM_ABI __call_once_proxy(void* __vp) {
|
|||
(*__p)();
|
||||
}
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI void __call_once(volatile once_flag::_State_type&, void*, void (*)(void*));
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _ValueType>
|
||||
inline _LIBCPP_HIDE_FROM_ABI _ValueType __libcpp_acquire_load(_ValueType const* __value) {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if !defined(_LIBCPP_ABI_VCRUNTIME)
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI bad_alloc : public exception {
|
||||
|
|
@ -74,6 +76,7 @@ public:
|
|||
_LIBCPP_VERBOSE_ABORT("bad_array_new_length was thrown in -fno-exceptions mode");
|
||||
#endif
|
||||
}
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___NEW_EXCEPTIONS_H
|
||||
|
|
|
|||
|
|
@ -19,9 +19,13 @@
|
|||
# include <new.h>
|
||||
#else
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
typedef void (*new_handler)();
|
||||
_LIBCPP_EXPORTED_FROM_ABI new_handler set_new_handler(new_handler) _NOEXCEPT;
|
||||
_LIBCPP_EXPORTED_FROM_ABI new_handler get_new_handler() _NOEXCEPT;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
#endif // _LIBCPP_ABI_VCRUNTIME
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _CharT, class _Traits>
|
||||
class basic_ostream : virtual public basic_ios<_CharT, _Traits> {
|
||||
|
|
@ -672,6 +673,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -82,7 +82,9 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(ostream& __os, string_view _
|
|||
// native Unicode API;
|
||||
// Whether the returned FILE* is "a terminal capable of displaying Unicode"
|
||||
// is determined in the same way as the print(FILE*, ...) overloads.
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI FILE* __get_ostream_file(ostream& __os);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_HAS_UNICODE
|
||||
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#if _LIBCPP_STD_VER >= 17
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
namespace __pstl {
|
||||
|
||||
namespace __libdispatch {
|
||||
|
|
@ -393,6 +394,7 @@ struct __fill<__libdispatch_backend_tag, _ExecutionPolicy>
|
|||
: __cpu_parallel_fill<__libdispatch_backend_tag, _ExecutionPolicy> {};
|
||||
|
||||
} // namespace __pstl
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_HAS_RANDOM_DEVICE
|
||||
|
||||
|
|
@ -74,6 +75,7 @@ public:
|
|||
|
||||
#endif // _LIBCPP_HAS_RANDOM_DEVICE
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class error_condition;
|
||||
class _LIBCPP_EXPORTED_FROM_ABI error_code;
|
||||
|
|
@ -70,6 +71,7 @@ public:
|
|||
[[__gnu__::__const__]] [[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI const error_category& generic_category() _NOEXCEPT;
|
||||
[[__gnu__::__const__]] [[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI const error_category& system_category() _NOEXCEPT;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CATEGORY_H
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Tp>
|
||||
struct is_error_code_enum : public false_type {};
|
||||
|
|
@ -137,6 +138,7 @@ struct hash<error_code> : public __unary_function<error_code, size_t> {
|
|||
}
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CODE_H
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Tp>
|
||||
struct is_error_condition_enum : public false_type {};
|
||||
|
|
@ -124,6 +125,7 @@ struct hash<error_condition> : public __unary_function<error_condition, size_t>
|
|||
}
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CONDITION_H
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI system_error : public runtime_error {
|
||||
error_code __ec_;
|
||||
|
|
@ -52,6 +53,7 @@ public:
|
|||
#endif
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H
|
||||
|
|
|
|||
|
|
@ -17,9 +17,11 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void __throw_system_error(int __ev, const char* __what_arg);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SYSTEM_ERROR_THROW_SYSTEM_ERROR_H
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
using __libcpp_timespec_t = ::timespec;
|
||||
|
||||
|
|
@ -126,6 +127,7 @@ _LIBCPP_EXPORTED_FROM_ABI void* __libcpp_tls_get(__libcpp_tls_key __key);
|
|||
|
||||
_LIBCPP_EXPORTED_FROM_ABI int __libcpp_tls_set(__libcpp_tls_key __key, void* __p);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___THREAD_SUPPORT_WINDOWS_H
|
||||
|
|
|
|||
|
|
@ -32,7 +32,9 @@ namespace this_thread {
|
|||
|
||||
#if _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI void sleep_for(const chrono::nanoseconds& __ns);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Rep, class _Period>
|
||||
_LIBCPP_HIDE_FROM_ABI void sleep_for(const chrono::duration<_Rep, _Period>& __d) {
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_HAS_THREADS
|
||||
|
||||
|
|
@ -261,6 +262,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(thread& __x, thread& __y) _NOEXCEPT { __x
|
|||
|
||||
#endif // _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -20,8 +20,10 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||
|
||||
// This function should never be called directly from the code -- it should only be called through
|
||||
// the _LIBCPP_VERBOSE_ABORT macro.
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
[[__noreturn__]] _LIBCPP_AVAILABILITY_VERBOSE_ABORT _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_ATTRIBUTE_FORMAT(
|
||||
__printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _NOEXCEPT;
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// _LIBCPP_VERBOSE_ABORT(format, args...)
|
||||
//
|
||||
|
|
|
|||
|
|
@ -120,10 +120,14 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI bad_any_cast : public bad_cast {
|
||||
public:
|
||||
const char* what() const _NOEXCEPT override;
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ using __barrier_phase_t _LIBCPP_NODEBUG = uint8_t;
|
|||
|
||||
class __barrier_algorithm_base;
|
||||
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
[[__gnu__::__returns_nonnull__, __gnu__::__malloc__]]
|
||||
_LIBCPP_EXPORTED_FROM_ABI __barrier_algorithm_base* __construct_barrier_algorithm_base(ptrdiff_t& __expected);
|
||||
|
||||
|
|
@ -104,6 +105,7 @@ __arrive_barrier_algorithm_base([[__gnu__::__nonnull__]] _LIBCPP_NOESCAPE __barr
|
|||
|
||||
_LIBCPP_EXPORTED_FROM_ABI void __destroy_barrier_algorithm_base(
|
||||
[[__gnu__::__nonnull__]] _LIBCPP_NOESCAPE __barrier_algorithm_base* __barrier) noexcept;
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _CompletionF>
|
||||
class __barrier_base {
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ class codecvt_utf8_utf16
|
|||
# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
enum _LIBCPP_DEPRECATED_IN_CXX17 codecvt_mode { consume_header = 4, generate_header = 2, little_endian = 1 };
|
||||
|
||||
|
|
@ -579,6 +580,7 @@ public:
|
|||
};
|
||||
_LIBCPP_SUPPRESS_DEPRECATED_POP
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# if _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Lock>
|
||||
struct __unlock_guard {
|
||||
|
|
@ -342,6 +343,7 @@ bool condition_variable_any::wait_for(
|
|||
|
||||
_LIBCPP_EXPORTED_FROM_ABI void notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
# endif // _LIBCPP_HAS_THREADS
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_STD_VER >= 23 && defined(_LIBCPP_WIN32API)
|
||||
_LIBCPP_EXPORTED_FROM_ABI void* __filebuf_windows_native_handle(FILE* __file) noexcept;
|
||||
|
|
@ -1616,6 +1617,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ofstream<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_filebuf<char>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -420,6 +420,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// enum class future_errc
|
||||
_LIBCPP_DECLARE_STRONG_ENUM(future_errc){
|
||||
|
|
@ -2057,6 +2058,7 @@ inline shared_future<_Rp&> future<_Rp&>::share() _NOEXCEPT {
|
|||
|
||||
inline shared_future<void> future<void>::share() _NOEXCEPT { return shared_future<void>(std::move(*this)); }
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -247,6 +247,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
typedef ptrdiff_t streamsize;
|
||||
|
||||
|
|
@ -878,6 +879,7 @@ _LIBCPP_HIDE_FROM_ABI inline ios_base& defaultfloat(ios_base& __str) {
|
|||
return __str;
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _CharT, class _Traits>
|
||||
class basic_istream : virtual public basic_ios<_CharT, _Traits> {
|
||||
|
|
@ -1405,6 +1406,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<wchar_t>;
|
|||
# endif
|
||||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_iostream<char>;
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ module std_config [system] {
|
|||
textual header "__configuration/language.h"
|
||||
textual header "__configuration/namespace.h"
|
||||
textual header "__configuration/platform.h"
|
||||
textual header "__configuration/utility.h"
|
||||
textual header "version"
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -215,6 +215,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
# if _LIBCPP_HAS_THREADS
|
||||
|
||||
|
|
@ -497,6 +498,7 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(scoped_lock);
|
|||
# endif // _LIBCPP_STD_VER >= 17
|
||||
# endif // _LIBCPP_HAS_THREADS
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ namespace std {
|
|||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
# ifdef _LIBCPP_WIN32API
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_EXPORTED_FROM_ABI bool __is_windows_terminal(FILE* __stream);
|
||||
|
||||
# if _LIBCPP_HAS_WIDE_CHARACTERS
|
||||
|
|
@ -69,6 +70,7 @@ _LIBCPP_EXPORTED_FROM_ABI bool __is_windows_terminal(FILE* __stream);
|
|||
// Note the function is only implemented on the Windows platform.
|
||||
_LIBCPP_EXPORTED_FROM_ABI void __write_to_windows_console(FILE* __stream, wstring_view __view);
|
||||
# endif // _LIBCPP_HAS_WIDE_CHARACTERS
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
# endif // _LIBCPP_WIN32API
|
||||
|
||||
# if _LIBCPP_STD_VER >= 23
|
||||
|
|
|
|||
|
|
@ -841,6 +841,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# define _LIBCPP_REGEX_COMPLEXITY_FACTOR 4096
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace regex_constants {
|
||||
|
||||
|
|
@ -5808,6 +5809,7 @@ regex_replace(const _CharT* __s,
|
|||
return __r;
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
# if _LIBCPP_STD_VER >= 17
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
struct _LIBCPP_EXPORTED_FROM_ABI __shared_mutex_base {
|
||||
mutex __mut_;
|
||||
|
|
@ -431,6 +432,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(shared_lock<_Mutex>& __x, shared_lock<_Mu
|
|||
__x.swap(__y);
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
# endif // _LIBCPP_STD_VER >= 14
|
||||
|
|
|
|||
|
|
@ -338,6 +338,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// Class template basic_stringbuf [stringbuf]
|
||||
|
||||
|
|
@ -1288,6 +1289,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostringstream<char>
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istringstream<char>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -212,7 +212,9 @@ public:
|
|||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
// in the dylib
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void __throw_runtime_error(const char*);
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_logic_error(const char* __msg) {
|
||||
# if _LIBCPP_HAS_EXCEPTIONS
|
||||
|
|
|
|||
|
|
@ -133,6 +133,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _CharT, class _Traits>
|
||||
class basic_streambuf {
|
||||
|
|
@ -430,6 +431,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<char>;
|
|||
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<wchar_t>;
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -694,6 +694,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// basic_string
|
||||
|
||||
|
|
@ -3966,6 +3967,7 @@ inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>>
|
|||
|
||||
# endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_DEPRECATED _LIBCPP_EXPORTED_FROM_ABI strstreambuf : public streambuf {
|
||||
public:
|
||||
|
|
@ -349,6 +350,7 @@ private:
|
|||
strstreambuf __sb_; // exposition only
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -381,6 +381,7 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class _Tp>
|
||||
class valarray;
|
||||
|
|
@ -3300,6 +3301,7 @@ template <class _Tp>
|
|||
return __v.__end_;
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -285,12 +285,14 @@ _LIBCPP_PUSH_MACROS
|
|||
# include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI bad_variant_access : public exception {
|
||||
public:
|
||||
[[__nodiscard__]] const char* what() const _NOEXCEPT override;
|
||||
};
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_UNVERSIONED_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <bit>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
template <class Comp, class RandomAccessIterator>
|
||||
void __sort(RandomAccessIterator first, RandomAccessIterator last, Comp comp) {
|
||||
|
|
@ -47,4 +48,5 @@ template void __sort<__less<double>&, double*>(double*, double*, __less<double>&
|
|||
template void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&);
|
||||
// clang-format on
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ const char* bad_any_cast::what() const noexcept { return "bad any cast"; }
|
|||
// Preserve std::experimental::any_bad_cast for ABI compatibility
|
||||
// Even though it no longer exists in a header file
|
||||
_LIBCPP_BEGIN_NAMESPACE_LFTS
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class _LIBCPP_EXPORTED_FROM_ABI bad_any_cast : public bad_cast {
|
||||
public:
|
||||
|
|
@ -27,6 +28,7 @@ public:
|
|||
|
||||
const char* bad_any_cast::what() const noexcept { return "bad any cast"; }
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_LFTS
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
struct NoTimeout {};
|
||||
|
||||
|
|
@ -523,6 +524,7 @@ __libcpp_atomic_monitor(__cxx_atomic_contention_t const volatile* __location) no
|
|||
|
||||
_LIBCPP_DIAGNOSTIC_POP
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <thread>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
class __barrier_algorithm_base {
|
||||
public:
|
||||
|
|
@ -69,4 +70,5 @@ __destroy_barrier_algorithm_base(_LIBCPP_NOESCAPE __barrier_algorithm_base* __ba
|
|||
delete __barrier;
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include "include/atomic_support.h"
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// If dispatch_once_f ever handles C++ exceptions, and if one can get to it
|
||||
// without illegal macros (unexpected macros not beginning with _UpperCase or
|
||||
|
|
@ -68,4 +69,5 @@ void __call_once(volatile once_flag::_State_type& flag, void* arg, void (*func)(
|
|||
#endif // !_LIBCPP_HAS_THREADS
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include "include/to_chars_floating_point.h"
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#if _LIBCPP_AVAILABILITY_MINIMUM_HEADER_VERSION < 15
|
||||
|
||||
|
|
@ -89,4 +90,6 @@ template __from_chars_result<float> __from_chars_floating_point(
|
|||
|
||||
template __from_chars_result<double> __from_chars_floating_point(
|
||||
_LIBCPP_NOESCAPE const char* __first, _LIBCPP_NOESCAPE const char* __last, chars_format __fmt);
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
namespace chrono {
|
||||
|
||||
|
|
@ -261,4 +262,5 @@ steady_clock::time_point steady_clock::now() noexcept { return __libcpp_steady_c
|
|||
|
||||
} // namespace chrono
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ _LIBCPP_PUSH_MACROS
|
|||
#include <__undef_macros>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// ~condition_variable is defined elsewhere.
|
||||
|
||||
|
|
@ -72,6 +73,7 @@ void notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk)
|
|||
__thread_local_data()->notify_all_at_thread_exit(&cond, lk.release());
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_POP_MACROS
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
#ifdef NEEDS_CONDVAR_DESTRUCTOR
|
||||
|
||||
|
|
@ -37,4 +38,5 @@ public:
|
|||
condition_variable::~condition_variable() { __libcpp_condvar_destroy(&__cv_); }
|
||||
#endif
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include <system_error>
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
|
||||
|
||||
// class error_category
|
||||
|
||||
|
|
@ -36,4 +37,5 @@ bool error_category::equivalent(const error_code& code, int condition) const noe
|
|||
return *this == code.category() && code.value() == condition;
|
||||
}
|
||||
|
||||
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue