| ABI Changelog | 
 | ============== | 
 | This changelog contains information about ABI changes in libc++. Specifically | 
 | the addition and deletion of symbols from the libc++ dylib. | 
 |  | 
 | Each entry should start with the revision number followed by a description of | 
 | the change. The entry should contain a summary of the ABI changes made, | 
 | including what symbols were added, removed, or changed. | 
 |  | 
 | To generate a summary, re-generate the new ABI list using the | 
 | `generate-cxx-abilist` target, and look at the diff. | 
 |  | 
 | New entries should be added directly below the "Version" header. | 
 |  | 
 | ------------ | 
 | Version 19.0 | 
 | ------------ | 
 |  | 
 | * [libc++] Always keep libc++abi re-exports up-to-date | 
 |  | 
 |   This patch makes sure that the set of libc++abi symbols re-exported from libc++ | 
 |   is up-to-date with the symbols that libc++abi re-exports. As such, it adds several | 
 |   symbols that were left out of the libc++ re-exports list. Exporting new symbols | 
 |   is not an ABI break. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol reexported: ___cxa_current_primary_exception | 
 |   Symbol reexported: ___cxa_decrement_exception_refcount | 
 |   Symbol reexported: ___cxa_increment_exception_refcount | 
 |   Symbol reexported: ___cxa_new_handler | 
 |   Symbol reexported: ___cxa_rethrow_primary_exception | 
 |   Symbol reexported: ___cxa_terminate_handler | 
 |   Symbol reexported: ___cxa_uncaught_exception | 
 |   Symbol reexported: ___cxa_unexpected_handler | 
 |   Symbol reexported: __ZTIDh | 
 |   Symbol reexported: __ZTIDu | 
 |   Symbol reexported: __ZTIg | 
 |   Symbol reexported: __ZTIn | 
 |   Symbol reexported: __ZTIN10__cxxabiv116__enum_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv116__shim_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv117__array_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv117__class_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv117__pbase_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv119__pointer_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv120__function_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv120__si_class_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv121__vmi_class_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv123__fundamental_type_infoE | 
 |   Symbol reexported: __ZTIN10__cxxabiv129__pointer_to_member_type_infoE | 
 |   Symbol reexported: __ZTIo | 
 |   Symbol reexported: __ZTIPDh | 
 |   Symbol reexported: __ZTIPDu | 
 |   Symbol reexported: __ZTIPg | 
 |   Symbol reexported: __ZTIPKDh | 
 |   Symbol reexported: __ZTIPKDu | 
 |   Symbol reexported: __ZTIPKg | 
 |   Symbol reexported: __ZTIPKn | 
 |   Symbol reexported: __ZTIPKo | 
 |   Symbol reexported: __ZTIPn | 
 |   Symbol reexported: __ZTIPo | 
 |   Symbol reexported: __ZTSDh | 
 |   Symbol reexported: __ZTSDu | 
 |   Symbol reexported: __ZTSg | 
 |   Symbol reexported: __ZTSn | 
 |   Symbol reexported: __ZTSN10__cxxabiv116__shim_type_infoE | 
 |   Symbol reexported: __ZTSo | 
 |   Symbol reexported: __ZTSPDh | 
 |   Symbol reexported: __ZTSPDu | 
 |   Symbol reexported: __ZTSPg | 
 |   Symbol reexported: __ZTSPKDh | 
 |   Symbol reexported: __ZTSPKDu | 
 |   Symbol reexported: __ZTSPKg | 
 |   Symbol reexported: __ZTSPKn | 
 |   Symbol reexported: __ZTSPKo | 
 |   Symbol reexported: __ZTSPn | 
 |   Symbol reexported: __ZTSPo | 
 |   Symbol reexported: __ZTVN10__cxxabiv116__shim_type_infoE | 
 |  | 
 | ------------ | 
 | Version 18.0 | 
 | ------------ | 
 |  | 
 | * [libc++] Moves is_terminal to the dylib | 
 |  | 
 |   The patch moves the POSIX implementation of is_terminal to the dylib. This is | 
 |   needed to avoid using <unistd.h> in public headers. | 
 |  | 
 |   All platforms | 
 |   Symbol added: _ZNSt6__ndk119__is_posix_terminalEP7__sFILE | 
 |  | 
 | * [libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534) | 
 |  | 
 |   This patch implements __cxa_init_primary_exception, an extension to the Itanium C++ ABI. | 
 |   This extension is already present in both libsupc++ and libcxxrt. This patch also starts | 
 |   making use of this function in std::make_exception_ptr: instead of going through a full | 
 |   throw/catch cycle, we are now able to initialize an exception directly, thus making | 
 |   std::make_exception_ptr around 30x faster. Adding a new symbol is not an ABI break. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: __cxa_init_primary_exception | 
 |  | 
 | * [libc++] Simplify the implementation of locale::id | 
 |  | 
 |   This patch removes a symbol defined in the library for std::locale::id::__init(). | 
 |   The symbol '__init' was defined as a private static function as part of the locale::id | 
 |   class and was never visible from outside the dylib. The addition of this symbol to the | 
 |   ABI was most likely accidental. The deletion of the symbol should not be a breaking change. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol removed: _ZNSt3__16locale2id6__initEv | 
 |  | 
 | * [libc++] Remove symbol for std::system_error from the dylib | 
 |  | 
 |   This patch removes a symbol defined in the library for std::system_error. | 
 |   The symbol '__init' was defined as a private static function as part of the | 
 |   system_error class and was never visible. The addition of this symbol to the ABI was most likely accidental. | 
 |   The function '__init' is replaced by another equivalent function which is placed in the | 
 |   anonymous namespace of the std::system_error source code file. | 
 |   There are no internal references to this symbol which seems to support the reasoning that | 
 |   this was never used outside of the dylib. | 
 |   The deletion of the symbol should not be a breaking change. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol removed: _ZNSt3__112system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |  | 
 | ------------ | 
 | Version 17.0 | 
 | ------------ | 
 |  | 
 | * [libc++] Remove symbols for a std::allocator_arg & friends from the dylib | 
 |  | 
 |   This patch removes the symbols defined in the library for std::allocator_arg, | 
 |   std::defer_lock, std::try_to_lock, std::adopt_lock, and std::piecewise_construct. | 
 |   Those were defined in the library because we provided them in C++03 as an | 
 |   extension, and in C++03 it was impossible to define them as `constexpr` | 
 |   variables, as required by the Standard. | 
 |  | 
 |   This is technically an ABI break since we are removing symbols from the | 
 |   library. However, in practice, only programs compiled in C++03 mode that | 
 |   take the address of those objects (or pass them as a reference) will have | 
 |   an undefined ref to those symbols. In practice, this is expected to be | 
 |   rare. First, those are C++11 features that we happen to provide in C++03, | 
 |   and only the C++03 definition can potentially lead to code referencing | 
 |   the dylib definition. So any code that is using these objects but compiling | 
 |   in C++11 mode (as they should) is not at risk. Second, all uses of these | 
 |   types in the library is done by passing those types by value to a function | 
 |   that can get inlined. Since they are empty types, the compiler won't | 
 |   generate an undefined reference if passed by value, since there's nothing | 
 |   to pass anyway. | 
 |  | 
 |   Long story short, the risk for code actually containing an undefined | 
 |   reference to one of these types is rather small (but non-zero). | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol removed: _ZNSt3__110adopt_lockE | 
 |   Symbol removed: _ZNSt3__110defer_lockE | 
 |   Symbol removed: _ZNSt3__111try_to_lockE | 
 |   Symbol removed: _ZNSt3__113allocator_argE | 
 |   Symbol removed: _ZNSt3__119piecewise_constructE | 
 |  | 
 | * [libc++] Remove explicit instantiations of __insertion_sort_incomplete and __sort5 from the dylib | 
 |  | 
 |   These instantiations were never visible, because they are only used in `__sort`, which is also explicitly | 
 |   instantiated in the dylib. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_ | 
 |  | 
 | ------------ | 
 | Version 16.0 | 
 | ------------ | 
 |  | 
 | * [libc++][PMR] Move the pmr::memory_resource destructor into the dylib | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__13pmr15memory_resourceD0Ev | 
 |   Symbol added: _ZNSt3__13pmr15memory_resourceD1Ev | 
 |   Symbol added: _ZNSt3__13pmr15memory_resourceD2Ev | 
 |   Symbol added: _ZTVNSt3__13pmr15memory_resourceE | 
 |  | 
 | * [libc++] [C++17] Implement <memory_resource>. | 
 |  | 
 |   This commit adds <memory_resource> to the shared library. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNKSt3__13pmr26synchronized_pool_resource11do_is_equalERKNS0_15memory_resourceE | 
 |   Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource12__pool_indexEmm | 
 |   Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource17__pool_block_sizeEi | 
 |   Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource22__log2_pool_block_sizeEi | 
 |   Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource7optionsEv | 
 |   Symbol added: _ZNSt3__13pmr19new_delete_resourceEv | 
 |   Symbol added: _ZNSt3__13pmr20get_default_resourceEv | 
 |   Symbol added: _ZNSt3__13pmr20null_memory_resourceEv | 
 |   Symbol added: _ZNSt3__13pmr20set_default_resourceEPNS0_15memory_resourceE | 
 |   Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource11do_allocateEmm | 
 |   Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource14__chunk_footer25__try_allocate_from_chunkEmm | 
 |   Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource20__initial_descriptor25__try_allocate_from_chunkEmm | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource11do_allocateEmm | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__do_allocateEPNS0_15memory_resourceEmm | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__release_ptrEPNS0_15memory_resourceE | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool15__do_deallocateEPNS0_15memory_resourceEPvmm | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource13do_deallocateEPvmm | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource7releaseEv | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC1ERKNS0_12pool_optionsEPNS0_15memory_resourceE | 
 |   Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC2ERKNS0_12pool_optionsEPNS0_15memory_resourceE | 
 |   Symbol added: _ZTINSt3__13pmr15memory_resourceE | 
 |   Symbol added: _ZTINSt3__13pmr25monotonic_buffer_resourceE | 
 |   Symbol added: _ZTINSt3__13pmr26__null_memory_resource_impE | 
 |   Symbol added: _ZTINSt3__13pmr26synchronized_pool_resourceE | 
 |   Symbol added: _ZTINSt3__13pmr28unsynchronized_pool_resourceE | 
 |   Symbol added: _ZTINSt3__13pmr32__new_delete_memory_resource_impE | 
 |   Symbol added: _ZTSNSt3__13pmr15memory_resourceE | 
 |   Symbol added: _ZTSNSt3__13pmr25monotonic_buffer_resourceE | 
 |   Symbol added: _ZTSNSt3__13pmr26__null_memory_resource_impE | 
 |   Symbol added: _ZTSNSt3__13pmr26synchronized_pool_resourceE | 
 |   Symbol added: _ZTSNSt3__13pmr28unsynchronized_pool_resourceE | 
 |   Symbol added: _ZTSNSt3__13pmr32__new_delete_memory_resource_impE | 
 |   Symbol added: _ZTVNSt3__13pmr25monotonic_buffer_resourceE | 
 |   Symbol added: _ZTVNSt3__13pmr26synchronized_pool_resourceE | 
 |   Symbol added: _ZTVNSt3__13pmr28unsynchronized_pool_resourceE | 
 |  | 
 | ------------ | 
 | Version 15.0 | 
 | ------------ | 
 |  | 
 | * f1c30135417f - [libc++] Drop the legacy debug mode symbols by default | 
 |  | 
 |   This commit removed symbols implementing debug mode in the non-debug | 
 |   configuration of the library. Using the debug mode now requires a | 
 |   differently-configured version of libc++. This is technically an ABI | 
 |   break, however any user having been using the debug mode support previously | 
 |   was already at risk of non-benign ODR violations, and in practice we | 
 |   never found it to work reliably. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db15__decrementableEPKv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db15__find_c_from_iEPv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db15__subscriptableEPKvl | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db17__dereferenceableEPKv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db17__find_c_and_lockEPv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db22__less_than_comparableEPKvS2_ | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db6unlockEv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db8__find_cEPv | 
 |   Symbol removed: _ZNKSt3__111__libcpp_db9__addableEPKvl | 
 |   Symbol removed: _ZNKSt3__119__libcpp_debug_info4whatEv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E | 
 |   Symbol removed: _ZNSt3__111__libcpp_db10__insert_iEPv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db11__insert_icEPvPKv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db15__iterator_copyEPvPKv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db16__invalidate_allEPv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db4swapEPvS1_ | 
 |   Symbol removed: _ZNSt3__111__libcpp_db9__erase_cEPv | 
 |   Symbol removed: _ZNSt3__111__libcpp_db9__erase_iEPv | 
 |   Symbol removed: _ZNSt3__111__libcpp_dbC1Ev | 
 |   Symbol removed: _ZNSt3__111__libcpp_dbC2Ev | 
 |   Symbol removed: _ZNSt3__111__libcpp_dbD1Ev | 
 |   Symbol removed: _ZNSt3__111__libcpp_dbD2Ev | 
 |   Symbol removed: _ZNSt3__114__get_const_dbEv | 
 |   Symbol removed: _ZNSt3__123__libcpp_debug_functionE | 
 |   Symbol removed: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE | 
 |   Symbol removed: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE | 
 |   Symbol removed: _ZNSt3__18__c_node5__addEPNS_8__i_nodeE | 
 |   Symbol removed: _ZNSt3__18__c_nodeD0Ev | 
 |   Symbol removed: _ZNSt3__18__c_nodeD1Ev | 
 |   Symbol removed: _ZNSt3__18__c_nodeD2Ev | 
 |   Symbol removed: _ZNSt3__18__get_dbEv | 
 |   Symbol removed: _ZNSt3__18__i_nodeD1Ev | 
 |   Symbol removed: _ZNSt3__18__i_nodeD2Ev | 
 |   Symbol removed: _ZTINSt3__18__c_nodeE | 
 |   Symbol removed: _ZTSNSt3__18__c_nodeE | 
 |   Symbol removed: _ZTVNSt3__18__c_nodeE | 
 |  | 
 | * b0fd9497af6d, 7de5aca84c54 and 507125af3d0b - [libc++] Add a lightweight overridable assertion handler | 
 |  | 
 |   This patch adds a lightweight assertion handler mechanism that can be | 
 |   overriden at link-time in a fashion similar to `operator new`. A default | 
 |   assertion handler is provided in the shared library, hence the added | 
 |   symbol. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__122__libcpp_verbose_abortEPKcz | 
 |  | 
 | ------------ | 
 | Version 14.0 | 
 | ------------ | 
 |  | 
 | * abb5dd6e99df - [libc++] `to_chars` for floating point. | 
 |  | 
 |   This commit added the `to_chars` implementation for floating point values. | 
 |   The entire implementation resides in the dylib and the functions specified | 
 |   in the Standard are now part of the ABI. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_d | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatE | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatEi | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_e | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatE | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatEi | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_f | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatE | 
 |   Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatEi | 
 |  | 
 | * 049f6c29a6f0 - [libc++] Resolve missing table_size symbol | 
 |  | 
 |   This commit added an out-of-line definition for `table_size` in the library. | 
 |   This is not an ABI break since we are just adding a symbol to the library. | 
 |   In fact, any program that would have attempted to refer to that symbol would | 
 |   have previously failed to link. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------------- | 
 |   Symbol added: _ZNSt3__15ctypeIcE10table_sizeE | 
 |  | 
 |   x86_64-unknown-linux-gnu | 
 |   ------------------------ | 
 |   Symbol added: _ZNSt3__15ctypeIcE10table_sizeE | 
 |  | 
 | * 434dc0a5bcae - [libc++] Always define a key function for std::bad_function_call in the dylib | 
 |  | 
 |   This commit added a new explicit instantiation of std::bad_function_call's | 
 |   vtable in the shared library. This change is not an ABI break as it only | 
 |   adds symbols to the library. Programs compiled against the library will not | 
 |   rely on the vtable being defined in it by default. Reliance on the vtable | 
 |   being in the shared library can be enabled by defining the | 
 |   _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION macro. | 
 |  | 
 |   Note that this commit also causes the libc++ shared library to start relying | 
 |   on std::exception::what() being provided. This is due to the fact that the | 
 |   shared library now contains the vtable for std::bad_function_call, which | 
 |   references std::exception::what(). This shouldn't be an issue since that | 
 |   function needs to be available to users in order to use std::bad_function_call | 
 |   before this patch too. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__117bad_function_callD0Ev | 
 |   Symbol added: _ZNSt3__117bad_function_callD1Ev | 
 |   Symbol added: _ZNSt3__117bad_function_callD2Ev | 
 |   Symbol added: _ZTINSt3__117bad_function_callE | 
 |   Symbol added: _ZTSNSt3__117bad_function_callE | 
 |   Symbol added: _ZTVNSt3__117bad_function_callE | 
 |  | 
 |   <arch>-unknown-linux-gnu | 
 |   ------------------------ | 
 |   Added dependency on symbol: _ZNKSt9exception4whatEv | 
 |  | 
 | ------------ | 
 | Version 12.0 | 
 | ------------ | 
 |  | 
 | * a984dcaf7c21 - [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. | 
 |  | 
 |   This commit added new instantiations with char8_t for classes codecvt and | 
 |   codecvt_byname in <locale> in the library. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_ | 
 |   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev | 
 |   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE | 
 |   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE | 
 |   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev | 
 |   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev | 
 |   Symbol added: _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE | 
 |   Symbol added: _ZTINSt3__17codecvtIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTINSt3__17codecvtIDsDu11__mbstate_tEE | 
 |   Symbol added: _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE | 
 |   Symbol added: _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE | 
 |   Symbol added: _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE | 
 |  | 
 |   <arch>-unknown-linux-gnu | 
 |   ------------------------ | 
 |   Symbol added: _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE | 
 |   Symbol added: _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE | 
 |  | 
 | * 997d41cdec53 - [libc++] Instantiate additional <iostream> members in the dylib | 
 |  | 
 |   This commit added new explicit instantiations for classes in <iostream> in | 
 |   the library. This was done after noticing that many programs that used streams | 
 |   ended up containing weak definitions of these classes, which has a negative | 
 |   impact on both code size and load times. This change is not an ABI break, | 
 |   since we are just adding additional symbols. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_ | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_ | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_ | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev | 
 |   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev | 
 |   Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj | 
 |   Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj | 
 |   Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj | 
 |   Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_ | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_ | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ | 
 |   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ | 
 |   Symbol added: _ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ | 
 |   Symbol added: _ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ | 
 |   Symbol added: _ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ | 
 |   Symbol added: _ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE | 
 |   Symbol added: _ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE | 
 |   Symbol added: _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |   Symbol added: _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE | 
 |  | 
 | * 9b40ee8eb0c1 - [libc++] Define new/delete in libc++abi only by default | 
 |  | 
 |   By default, libc++ does not include the definition for new and delete anymore. | 
 |   Those were previously defined in both libc++ and libc++abi, which was an | 
 |   ODR violation. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------------- | 
 |   The following symbols are now re-exported from libc++abi instead of exported | 
 |   by libc++ directly (this should not be an ABI break): | 
 |  | 
 |   Symbol moved: __ZdaPv | 
 |   Symbol moved: __ZdaPvm | 
 |   Symbol moved: __ZdaPvmSt11align_val_t | 
 |   Symbol moved: __ZdaPvRKSt9nothrow_t | 
 |   Symbol moved: __ZdaPvSt11align_val_t | 
 |   Symbol moved: __ZdaPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: __ZdlPv | 
 |   Symbol moved: __ZdlPvm | 
 |   Symbol moved: __ZdlPvmSt11align_val_t | 
 |   Symbol moved: __ZdlPvRKSt9nothrow_t | 
 |   Symbol moved: __ZdlPvSt11align_val_t | 
 |   Symbol moved: __ZdlPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: __Znam | 
 |   Symbol moved: __ZnamRKSt9nothrow_t | 
 |   Symbol moved: __ZnamSt11align_val_t | 
 |   Symbol moved: __ZnamSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: __Znwm | 
 |   Symbol moved: __ZnwmRKSt9nothrow_t | 
 |   Symbol moved: __ZnwmSt11align_val_t | 
 |   Symbol moved: __ZnwmSt11align_val_tRKSt9nothrow_t | 
 |  | 
 |   <arch>-unknown-linux-gnu | 
 |   ------------------------ | 
 |   The following symbols were moved to libc++abi, but are NOT being re-exported | 
 |   by libc++. This constitutes an ABI break if one links against libc++ but | 
 |   not libc++abi. | 
 |  | 
 |   Symbol moved: _ZdaPv | 
 |   Symbol moved: _ZdaPvm | 
 |   Symbol moved: _ZdaPvmSt11align_val_t | 
 |   Symbol moved: _ZdaPvRKSt9nothrow_t | 
 |   Symbol moved: _ZdaPvSt11align_val_t | 
 |   Symbol moved: _ZdaPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: _ZdlPv | 
 |   Symbol moved: _ZdlPvm | 
 |   Symbol moved: _ZdlPvmSt11align_val_t | 
 |   Symbol moved: _ZdlPvRKSt9nothrow_t | 
 |   Symbol moved: _ZdlPvSt11align_val_t | 
 |   Symbol moved: _ZdlPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: _Znam | 
 |   Symbol moved: _ZnamRKSt9nothrow_t | 
 |   Symbol moved: _ZnamSt11align_val_t | 
 |   Symbol moved: _ZnamSt11align_val_tRKSt9nothrow_t | 
 |   Symbol moved: _Znwm | 
 |   Symbol moved: _ZnwmRKSt9nothrow_t | 
 |   Symbol moved: _ZnwmSt11align_val_t | 
 |   Symbol moved: _ZnwmSt11align_val_tRKSt9nothrow_t | 
 |  | 
 | * 4f13b9992971 - [libc++] Simplify how we re-export symbols from libc++abi | 
 |  | 
 |   We re-export some symbols that were exported from libc++abi but not from | 
 |   libc++. Exporting new symbols is not an ABI break. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol added: ___cxa_allocate_dependent_exception | 
 |   Symbol added: ___cxa_free_dependent_exception | 
 |  | 
 | ------------ | 
 | Version 10.0 | 
 | ------------ | 
 |  | 
 | * 54fa9ecd3088 - [libc++] Implementation of C++20's P1135R6 for libcxx | 
 |  | 
 |   libc++ now implements P1135R6 (The C++20 Synchronization Library), which | 
 |   adds a few symbols to the dylib. This is backwards-compatible since we're | 
 |   just adding new symbols. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx | 
 |   Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx | 
 |   Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE | 
 |   Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv | 
 |   Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE | 
 |   Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv | 
 |   Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE | 
 |   Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv | 
 |   Symbol added: __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh | 
 |   Symbol added: __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE | 
 |   Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl | 
 |  | 
 | ----------- | 
 | Version 9.0 | 
 | ----------- | 
 |  | 
 | * r358690 - Re-rexport missing symbols from libc++abi | 
 |  | 
 |   libc++ now re-exports `__cxa_throw_bad_array_new_length` and `__cxa_uncaught_exceptions`, | 
 |   both of which are provided by libc++abi. This is not an ABI break because | 
 |   we're just adding symbols. Also, this does mean that libc++ can't be linked | 
 |   against an older version of libc++abi that doesn't provide those symbols, | 
 |   however doing so is not supported anyway. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol added: ___cxa_throw_bad_array_new_length | 
 |   Symbol added: ___cxa_uncaught_exceptions | 
 |  | 
 | * r356518 - Integrate <filesystem> support into the shared library | 
 |  | 
 |   This patch introduces support for <filesystem> into the shared library, | 
 |   instead of requiring users to manually link against a static archive. As | 
 |   such, new symbols required to implement <filesystem> are exported from | 
 |   the shared library. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path10__filenameEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path11__extensionEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path11__root_nameEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path13__parent_pathEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path15__relative_pathEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path16__root_directoryEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path16lexically_normalEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_ | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path3endEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path5beginEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path6__stemEv | 
 |   Symbol added: _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev | 
 |   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev | 
 |   Symbol added: _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_ | 
 |   Symbol added: _ZNSt3__14__fs10filesystem4path19preferred_separatorE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv | 
 |   Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv | 
 |   Symbol added: _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE | 
 |   Symbol added: _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE | 
 |   Symbol added: _ZTINSt3__14__fs10filesystem16filesystem_errorE | 
 |   Symbol added: _ZTSNSt3__14__fs10filesystem16filesystem_errorE | 
 |   Symbol added: _ZTVNSt3__14__fs10filesystem16filesystem_errorE | 
 |  | 
 | * r356417 - Remove exception throwing debug mode handler support. | 
 |  | 
 |   The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically, | 
 |   I thought that if a debug violation aborted, we could only test one violation per file. This made | 
 |   it impossible to test debug mode. Which throwing behavior we could test more! | 
 |  | 
 |   However, the throwing approach didn't work either, since there are debug violations underneath noexcept | 
 |   functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug | 
 |   mode was off. | 
 |  | 
 |   Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was | 
 |   viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst | 
 |   changing the behavior of their program. | 
 |  | 
 |   This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style | 
 |   death tests. | 
 |  | 
 |   All Platforms (ignoring versioning namespaces) | 
 |   ---------------------------------------------- | 
 |   Symbol added: _ZNKSt3__119__libcpp_debug_info4whatEv | 
 |   Symbol removed: _ZNKSt3__124__libcpp_debug_exception4whatEv | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1Ev | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2Ev | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD0Ev | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD1Ev | 
 |   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD2Ev | 
 |   Symbol removed: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE | 
 |   Symbol removed: _ZTINSt3__124__libcpp_debug_exceptionE | 
 |   Symbol removed: _ZTSNSt3__124__libcpp_debug_exceptionE | 
 |   Symbol removed: _ZTVNSt3__124__libcpp_debug_exceptionE | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E | 
 |   Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv | 
 |  | 
 | * r355367 - Fix -fsanitize=vptr badness in <__debug> | 
 |  | 
 |   This patch fixes a lifetime bug when inserting a new container into the debug database. It is | 
 |   diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed | 
 |   during insertion. | 
 |  | 
 |   The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI | 
 |   stability from debug mode. | 
 |  | 
 |   All platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E | 
 |   Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPv | 
 |  | 
 | ----------- | 
 | Version 8.0 | 
 | ----------- | 
 |  | 
 | * r347903 - Remove std::bad_array_length | 
 |  | 
 |   The change removes the definition of std::bad_array_length (which never made | 
 |   it into the standard) from the headers and the dylib. This is technically an | 
 |   ABI break because the symbols are shipped starting with mac OSX 10.13, however | 
 |   users couldn't be relying on the functionality because it is marked as being | 
 |   unavailable using Clang's availability attribute. | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol removed: __ZNKSt16bad_array_length4whatEv | 
 |   Symbol removed: __ZNKSt16bad_array_length4whatEv | 
 |   Symbol removed: __ZNSt16bad_array_lengthC1Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthC1Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthC2Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthC2Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD0Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD0Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD1Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD1Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD2Ev | 
 |   Symbol removed: __ZNSt16bad_array_lengthD2Ev | 
 |   Symbol removed: __ZTISt16bad_array_length | 
 |   Symbol removed: __ZTISt16bad_array_length | 
 |   Symbol removed: __ZTSSt16bad_array_length | 
 |   Symbol removed: __ZTSSt16bad_array_length | 
 |   Symbol removed: __ZTVSt16bad_array_length | 
 |   Symbol removed: __ZTVSt16bad_array_length | 
 |  | 
 | * r347395 - Making libc++ build under -fvisibility=hidden on Linux | 
 |  | 
 |   The change marks several function templates as hidden. This removes symbols | 
 |   from the shared library, but this is not an ABI break because it's impossible | 
 |   for programs linking against libc++.so to actually depend on that symbol. | 
 |   The reason is that the symbol is exported from the shared library through | 
 |   an implicit instantiation present in the shared object itself only. Furthermore, | 
 |   if a user's shared object was implicitly instantiating one of these functions, | 
 |   marking that symbol as hidden would not be an ABI break for them because none | 
 |   of their users could actually be using the symbol in their dylib (because | 
 |   it's an implicit instantiation). | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_ | 
 |   Symbol removed: _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_ | 
 |   Symbol removed: _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_ | 
 |  | 
 | * r345260 - Making libc++ build under -fvisibility=hidden on Mac OS | 
 |  | 
 |   The change marks __thread_specific_ptr<__thread_struct>::__at_thread_exit(void*) | 
 |   with hidden visibility. This removes a symbol from the shared libraries, | 
 |   however this is not an ABI break because it's impossible for programs linking | 
 |   against libc++.dylib to actually depend on that symbol. The reason is that | 
 |   the symbol is exported from the shared library through an implicit | 
 |   instantiation present in the dylib itself only. Furthermore, if a user's | 
 |   dylib was implicitly instantiating __thread_specific_ptr<T>::__at_thread_exit | 
 |   (because it's defined in the headers), marking that symbol as hidden would | 
 |   not be an ABI break for them because none of their users could actually be | 
 |   using the symbol in their dylib (because it's an implicit instantiation). | 
 |  | 
 |   This change also marks __start_std_streams as hidden -- this variable is | 
 |   only required to initialize the streams, and nobody should depend on it | 
 |   from outside the dylib. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNSt3__121__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv | 
 |   Symbol removed: _ZNSt3__119__start_std_streamsE | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol removed: __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv | 
 |   Symbol removed: __ZNSt3__119__start_std_streamsE | 
 |  | 
 | ----------- | 
 | Version 7.0 | 
 | ----------- | 
 |  | 
 | * r338479 - Elementary string conversions for integral types | 
 |  | 
 |   The change emits __u64toa and __u32toa under std::__1::__itoa. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol added: _ZNSt3__16__itoa8__u64toaEmPc | 
 |   Symbol added: _ZNSt3__16__itoa8__u32toaEjPc | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol added: __ZNSt3__16__itoa8__u64toaEyPc | 
 |   Symbol added: __ZNSt3__16__itoa8__u32toaEjPc | 
 |  | 
 |  | 
 | * r333467 - Fix embarrasing typo in uncaught_exceptions. | 
 |  | 
 |   This bug caused __uncaught_exception to be ODR used instead of | 
 |   __uncaught_exceptions. This change is non-ABI breaking because the symbols | 
 |   for std::uncaught_exception and std::uncaught_exceptions haven't changed, | 
 |   and because users shouldn't be depending directly on libc++ exporting | 
 |   __uncaught_exception/__uncaught_exceptions. | 
 |  | 
 |   All Platforms | 
 |   ---------------- | 
 |   Symbol removed: __cxa_uncaught_exception | 
 |   Symbol added: __cxa_uncaught_exceptions | 
 |  | 
 | ----------- | 
 | Version 5.0 | 
 | ----------- | 
 |  | 
 | * r313500 - Fix undefined "___cxa_deleted_virtual" symbol in macosx | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   No changes | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   Symbol added: ___cxa_deleted_virtual | 
 |  | 
 | * r296729 - Remove std::num_get template methods which should be inline | 
 |  | 
 |   These functions should never have had visible definitions in the dylib but | 
 |   since they were previously not specified with 'inline' they accidentally | 
 |   got emitted. This change is non-ABI breaking because every "linkage unit" | 
 |   must contain its own definition. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |   Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   No changes | 
 |  | 
 | ----------- | 
 | Version 4.0 | 
 | ----------- | 
 |  | 
 | * r290651 - Add _LIBCPP_ASSERT debug handling functions | 
 |  | 
 |   All Platforms | 
 |   ------------- | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD1Ev | 
 |   Symbol added: _ZTINSt3__124__libcpp_debug_exceptionE | 
 |   Symbol added: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD2Ev | 
 |   Symbol added: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1Ev | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2Ev | 
 |   Symbol added: _ZTSNSt3__124__libcpp_debug_exceptionE | 
 |   Symbol added: _ZNSt3__123__libcpp_debug_functionE | 
 |   Symbol added: _ZNKSt3__124__libcpp_debug_exception4whatEv | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ | 
 |   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD0Ev | 
 |   Symbol added: _ZTVNSt3__124__libcpp_debug_exceptionE | 
 |   Symbol added: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE | 
 |  | 
 | * r288547 - Implement C++17 <variant> | 
 |  | 
 |   All Platforms | 
 |   ------------- | 
 |   Symbol added: _ZTVSt18bad_variant_access | 
 |   Symbol added: _ZTISt18bad_variant_access | 
 |   Symbol added: _ZTSSt18bad_variant_access | 
 |   Symbol added: _ZNKSt18bad_variant_access4whatEv | 
 |  | 
 | * r285537 - Remove std::string::append template methods which should be inline | 
 |  | 
 |   These functions should never have had visible definitions in the dylib but | 
 |   since they were previously not specified with 'inline' they accidentally | 
 |   got emitted. This change is non-ABI breaking because every "linkage unit" | 
 |   must contain its own definition. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ | 
 |   Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   No changes | 
 |  | 
 | * r285101 - Add -fvisibility-inlines-hidden when building libc++. | 
 |  | 
 |   Although this change removes symbols, it should still be non-ABI breaking | 
 |   since all of the definitions removed are inline functions. For this reason | 
 |   removing these symbols is safe because every "linkage unit" which uses these | 
 |   functions will contain their own definition. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNSt12bad_any_castD0Ev | 
 |   Symbol removed: _ZNSt12experimental15fundamentals_v112bad_any_castD0Ev | 
 |   Symbol removed: _ZNSt3__114__codecvt_utf8IDiED0Ev | 
 |   Symbol removed: _ZNSt3__114__codecvt_utf8IDsED0Ev | 
 |   Symbol removed: _ZNSt3__114__codecvt_utf8IwED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb0EED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb1EED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb0EED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb1EED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IwLb0EED0Ev | 
 |   Symbol removed: _ZNSt3__115__codecvt_utf16IwLb1EED0Ev | 
 |   Symbol removed: _ZNSt3__117__assoc_sub_stateD0Ev | 
 |   Symbol removed: _ZNSt3__117__assoc_sub_stateD2Ev | 
 |   Symbol removed: _ZNSt3__117__libcpp_sscanf_lEPKcP15__locale_structS1_z | 
 |   Symbol removed: _ZNSt3__119__libcpp_asprintf_lEPPcP15__locale_structPKcz | 
 |   Symbol removed: _ZNSt3__119__libcpp_snprintf_lEPcmP15__locale_structPKcz | 
 |   Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDiED0Ev | 
 |   Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDsED0Ev | 
 |   Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IwED0Ev | 
 |  | 
 |   <arch>-apple-darwin | 
 |   ------------------- | 
 |   No Changes - inline symbols are already hidden | 
 |  | 
 | * r284206 - Implement C++17 aligned allocation in <new> | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol added: _ZdaPvSt11align_val_t | 
 |   Symbol added: _ZdlPvSt11align_val_t | 
 |   Symbol added: _ZnamSt11align_val_t | 
 |   Symbol added: _ZdaPvmSt11align_val_t | 
 |   Symbol added: _ZdlPvmSt11align_val_t | 
 |   Symbol added: _ZdlPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol added: _ZnwmSt11align_val_tRKSt9nothrow_t | 
 |   Symbol added: _ZnamSt11align_val_tRKSt9nothrow_t | 
 |   Symbol added: _ZdaPvSt11align_val_tRKSt9nothrow_t | 
 |   Symbol added: _ZnwmSt11align_val_t | 
 |  | 
 | * r283980 - Implement C++17 <optional> | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol added: _ZTISt19bad_optional_access | 
 |   Symbol added: _ZNSt19bad_optional_accessD0Ev | 
 |   Symbol added: _ZNSt19bad_optional_accessD1Ev | 
 |   Symbol added: _ZNSt19bad_optional_accessD2Ev | 
 |   Symbol added: _ZTVSt19bad_optional_access | 
 |   Symbol added: _ZTSSt19bad_optional_access | 
 |  | 
 | * r278310 - Implement C++17 <any> | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol added: _ZNKSt12bad_any_cast4whatEv | 
 |   Symbol added: _ZNSt12bad_any_castD0Ev | 
 |   Symbol added: _ZTISt12bad_any_cast | 
 |   Symbol added: _ZTSSt12bad_any_cast | 
 |   Symbol added: _ZTVSt12bad_any_cast | 
 |  | 
 | * r295398 - Remove basic_string::insert and basic_string::replace template methods which should be inline. | 
 |  | 
 |   These functions should never have had visible definitions in the dylib but | 
 |   since they were previously not specified with 'inline' they accidentally | 
 |   got emitted. This change is non-ABI breaking because every "linkage unit" | 
 |   must contain its own definition. | 
 |  | 
 |   x86_64-linux-gnu | 
 |   ---------------- | 
 |   Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPcEEE4typeENSB_IS8_EESA_SA_ | 
 |   Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ | 
 |   Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertIPKwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPwEEE4typeENSB_IS8_EESA_SA_ | 
 |   Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ |