//===----------------------------------------------------------------------===// // // 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___CONFIG_SITE #define _LIBCPP___CONFIG_SITE // every c++ program is bound to include *something* from the stl // therefore we schlep in 28k of code needed to print c++ symbols // however c programs should never include *any* stl headers ever #ifndef TINY __static_yoink("__demangle"); #endif // We get a million `error: ‘always_inline’ function might not be // inlinable` because we're using LLVM LIBCXX with GCC, which has // no exclude_from_explicit_instantiation attribute, which libcxx // really wants to have, and uses an always_inline hack for this. #pragma GCC diagnostic ignored "-Wattributes" #define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER #define _LIBCPP_DISABLE_DEPRECATION_WARNINGS #define _LIBCPP_NO_ABI_TAG #define _LIBCPP_ABI_VERSION 1 #define _LIBCPP_ABI_NAMESPACE __1 #define _LIBCPP_USING_GETENTROPY #define _LIBCPP_DISABLE_AVAILABILITY #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS #define _LIBCPP_NO_VCRUNTIME #define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 1 #define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES #define _LIBCPP_HAS_THREAD_API_PTHREAD #define _LIBCPP_NO_VCRUNTIME #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE #define _LIBCPP_HAS_CLOCK_GETTIME #ifdef MODE_DBG #define _LIBCPP_ENABLE_DEBUG_MODE #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 1 #define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 3) // debug #elif defined(TINY) #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 #define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 1) // none #else #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 #define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 2) // fast #endif // PSTL backends #define _LIBCPP_PSTL_BACKEND_STD_THREAD // __USE_MINGW_ANSI_STDIO gets redefined on MinGW #ifdef __clang__ # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wmacro-redefined" #endif #ifdef __clang__ # pragma clang diagnostic pop #endif #endif // _LIBCPP___CONFIG_SITE