llvm-project/libcxx/src
Louis Dionne 0cc34ca7ec [libc++] Define legacy symbols for inline functions at a finer-grained level
When we build the library with the stable ABI, we need to include some
functions in the dylib that were made inline in later versions of the
library (to avoid breaking code that might be relying on those symbols).

However, those methods were made non-inline whenever we'd be building
the library, which means that all translation units would end up using
the old out-of-line definition of these methods, as opposed to the new
inlined version. This patch makes it so that only the translation units
that actually define the out-of-line methods use the old definition,
opening up potential optimization opportunities in other translation
units.

This should solve some of the issues encountered in D65667.

Differential Revision: https://reviews.llvm.org/D123519
2022-04-12 13:44:30 -04:00
..
experimental [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
filesystem [libc++] Rename PS() macro to avoid clashing with Xtensa register name 2022-04-08 17:00:29 -04:00
include [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
ryu [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
support [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
CMakeLists.txt [libc++] Add a lightweight overridable assertion handler 2022-03-23 15:35:46 -04:00
algorithm.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
any.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
assert.cpp [libc++] Add a lightweight overridable assertion handler 2022-03-23 15:35:46 -04:00
atomic.cpp [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
barrier.cpp [libcxx] Add deprecation notices to macros deprecated in P0883R2 2021-12-20 20:30:00 +02:00
bind.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
charconv.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
chrono.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
chrono_system_time_init.h Ensure newlines at the end of files (NFC) 2021-12-26 08:51:06 -08:00
condition_variable.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
condition_variable_destructor.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
debug.cpp [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
exception.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
format.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
functional.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
future.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
hash.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
ios.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
ios.instantiations.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
iostream.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
iostream_init.h Ensure newlines at the end of files (NFC) 2021-12-26 08:51:06 -08:00
legacy_debug_handler.cpp [libc++] Add a lightweight overridable assertion handler 2022-03-23 15:35:46 -04:00
legacy_pointer_safety.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
locale.cpp [libcxx] Fix the error checking for wctob_l, fixing locale narrow function on Windows 2022-02-25 23:44:23 +02:00
memory.cpp [libc++] Define legacy symbols for inline functions at a finer-grained level 2022-04-12 13:44:30 -04:00
mutex.cpp [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
mutex_destructor.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
new.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
optional.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
random.cpp [libcxx] random_device, specify optimal entropy properties for all OS's using arc4random() 2022-03-28 22:43:11 -04:00
random_shuffle.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
regex.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
shared_mutex.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
stdexcept.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
string.cpp [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
strstream.cpp [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file 2022-02-16 12:49:50 -05:00
system_error.cpp [libc++] Define legacy symbols for inline functions at a finer-grained level 2022-04-12 13:44:30 -04:00
thread.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
typeinfo.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
utility.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
valarray.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
variant.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00
vector.cpp [libc++] Replace `#include ""` with `<>` in libcxx/src/. NFCI. 2022-02-15 13:00:46 -05:00