2024-05-27 09:12:27 +00:00
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
//
|
|
|
|
|
// 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
|
|
|
|
|
|
2024-06-02 11:15:48 +00:00
|
|
|
|
// 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
|
|
|
|
|
|
2024-05-27 09:12:27 +00:00
|
|
|
|
// 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
|
2024-07-24 16:48:33 +00:00
|
|
|
|
#define _LIBCPP_ABI_VERSION 1
|
|
|
|
|
#define _LIBCPP_ABI_NAMESPACE __1
|
2024-06-24 14:32:07 +00:00
|
|
|
|
#define _LIBCPP_USING_GETENTROPY
|
2024-05-27 09:12:27 +00:00
|
|
|
|
#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
|
2024-05-28 09:34:17 +00:00
|
|
|
|
#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
|
2024-07-23 10:16:17 +00:00
|
|
|
|
#define _LIBCPP_HAS_THREAD_API_PTHREAD
|
|
|
|
|
#define _LIBCPP_NO_VCRUNTIME
|
|
|
|
|
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
|
|
|
|
|
#define _LIBCPP_HAS_CLOCK_GETTIME
|
|
|
|
|
|
2024-05-27 09:12:27 +00:00
|
|
|
|
#ifdef MODE_DBG
|
|
|
|
|
#define _LIBCPP_ENABLE_DEBUG_MODE
|
|
|
|
|
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 1
|
2024-07-24 16:48:33 +00:00
|
|
|
|
#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
|
2024-05-27 09:12:27 +00:00
|
|
|
|
#else
|
|
|
|
|
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
|
2024-07-24 16:48:33 +00:00
|
|
|
|
#define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 2) // fast
|
2024-05-27 09:12:27 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// PSTL backends
|
2024-07-23 10:16:17 +00:00
|
|
|
|
#define _LIBCPP_PSTL_BACKEND_STD_THREAD
|
2024-05-27 09:12:27 +00:00
|
|
|
|
|
|
|
|
|
// __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
|