cosmopolitan/third_party/libcxx/__config_site

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

69 lines
2.3 KiB
Text
Raw Normal View History

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
// 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
#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
#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
#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