
Summary: https://reviews.llvm.org/D49240 led to symbol size problems in Chromium, and we expect this may be the case in other projects built in debug mode too. Instead, unless users explicitly ask for internal_linkage, we use always_inline like we used to. In the future, when we have a solution that allows us to drop always_inline without falling back on internal_linkage, we can replace always_inline by that. Note that this commit introduces a change in contract for existing libc++ users: by default, libc++ used to guarantee that TUs built with different versions of libc++ could be linked together. With the introduction of the _LIBCPP_HIDE_FROM_ABI_PER_TU macro, the default behavior is that TUs built with different libc++ versions are not guaranteed to link. This is a change in contract but not a change in behavior, since the current implementation still allows linking TUs built with different libc++ versions together. Reviewers: EricWF, mclow.lists, dexonsmith, hans, rnk Subscribers: christof, cfe-commits Differential Revision: https://reviews.llvm.org/D50652 llvm-svn: 339874
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
//===----------------------------------------------------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is dual licensed under the MIT and the University of Illinois Open
|
|
// Source Licenses. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef _LIBCPP_CONFIG_SITE
|
|
#define _LIBCPP_CONFIG_SITE
|
|
|
|
#cmakedefine _LIBCPP_ABI_VERSION @_LIBCPP_ABI_VERSION@
|
|
#cmakedefine _LIBCPP_ABI_UNSTABLE
|
|
#cmakedefine _LIBCPP_ABI_FORCE_ITANIUM
|
|
#cmakedefine _LIBCPP_ABI_FORCE_MICROSOFT
|
|
#cmakedefine _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
|
|
#cmakedefine _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
|
|
#cmakedefine _LIBCPP_HAS_NO_STDIN
|
|
#cmakedefine _LIBCPP_HAS_NO_STDOUT
|
|
#cmakedefine _LIBCPP_HAS_NO_THREADS
|
|
#cmakedefine _LIBCPP_HAS_NO_MONOTONIC_CLOCK
|
|
#cmakedefine _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
|
|
#cmakedefine _LIBCPP_HAS_MUSL_LIBC
|
|
#cmakedefine _LIBCPP_HAS_THREAD_API_PTHREAD
|
|
#cmakedefine _LIBCPP_HAS_THREAD_API_EXTERNAL
|
|
#cmakedefine _LIBCPP_HAS_THREAD_API_WIN32
|
|
#cmakedefine _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL
|
|
#cmakedefine _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS
|
|
#cmakedefine _LIBCPP_NO_VCRUNTIME
|
|
|
|
@_LIBCPP_ABI_DEFINES@
|
|
|
|
#endif // _LIBCPP_CONFIG_SITE
|