21 #if !defined(FOLLY_FORCE_EXCEPTION_COUNT_USE_STD) && \ 22 (defined(__GNUG__) || defined(__clang__)) 23 #define FOLLY_EXCEPTION_COUNT_USE_CXA_GET_GLOBALS 26 struct __cxa_eh_globals;
30 #elif defined(_MSC_VER) && (_MSC_VER >= 1400) && \ 31 (_MSC_VER < 1900) // MSVC++ 8.0 or greater 32 #define FOLLY_EXCEPTION_COUNT_USE_GETPTD 35 extern "C" _tiddata* _getptd();
36 #elif defined(FOLLY_FORCE_EXCEPTION_COUNT_USE_STD) || \ 37 (defined(_MSC_VER) && (_MSC_VER >= 1900)) // MSVC++ 2015 38 #define FOLLY_EXCEPTION_COUNT_USE_STD 41 #error "Unsupported platform, don't include this header." 53 #if defined(FOLLY_EXCEPTION_COUNT_USE_CXA_GET_GLOBALS) 56 return *(
reinterpret_cast<unsigned int*
>(
59 #elif defined(FOLLY_EXCEPTION_COUNT_USE_GETPTD) 62 return *(
reinterpret_cast<int*
>(
63 static_cast<char*
>(
static_cast<void*
>(_getptd())) +
sizeof(
void*) * 28 +
65 #elif defined(FOLLY_EXCEPTION_COUNT_USE_STD) —— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
int uncaught_exceptions() noexcept
__cxa_eh_globals * __cxa_get_globals(void) noexcept