brintos

brintos / llvm-project-archived public Read only

0
0
Text · 61.0 KiB · 968dc7a Raw
1204 lines · plain
1ABI Changelog2==============3This changelog contains information about ABI changes in libc++. Specifically4the addition and deletion of symbols from the libc++ dylib.5 6Each entry should start with the revision number followed by a description of7the change. The entry should contain a summary of the ABI changes made,8including what symbols were added, removed, or changed.9 10To generate a summary, re-generate the new ABI list using the11`generate-cxx-abilist` target, and look at the diff.12 13New entries should be added directly below the "Version" header.14 15------------16Version 22.017------------18 19* [libc++] Remove __time_get_storage::{__analyze,init} from the ABI20 21  These functions have never been used outside the dylib, so there is no point in exporting them.22 23  All platforms24  -------------25  Symbol removed: _ZNSt3__118__time_get_storageIcE4initERKNS_5ctypeIcEE26  Symbol removed: _ZNSt3__118__time_get_storageIcE9__analyzeEcRKNS_5ctypeIcEE27  Symbol removed: _ZNSt3__118__time_get_storageIwE4initERKNS_5ctypeIwEE28  Symbol removed: _ZNSt3__118__time_get_storageIwE9__analyzeEcRKNS_5ctypeIwEE29 30------------31Version 21.032------------33 34* [libc++] Optimize ctype::to{lower,upper}35 36  This patch removed __classic_upper_table() and __classic_lower_table(), which were only ever accessed from the dylib.37 38  x86_64-unknown-gnu-linux39  ------------------------40  Symbol removed: _ZNSt3__15ctypeIcE21__classic_lower_tableEv41  Symbol removed: _ZNSt3__15ctypeIcE21__classic_upper_tableEv42 43* [libc++] Instantiate hash function externally44 45  This has multiple benefits:46  - There is a single instance of our hash function, reducing object file size47  - The hash implementation isn't instantiated in every TU anymore, reducing compile times48  - Behind an ABI configuration macro, it would be possible to salt the hash49 50  All platforms51  -------------52  Symbol added: _ZNSt3__113__hash_memoryEPKvm53 54------------55Version 20.056------------57 58* [libc++][PMR] Remove duplicate implementation of __try_allocate_from_chunk59 60  This patch removes member functions __try_allocate_from_chunk from __chunk_footer and __initial_descriptor.61  The two implementations were almost identical and can be easily moved to be implementation details of the built library.62  Since they were only used from within the built library, the removal of these symbols should not be an ABI break.63 64  All platforms65  -------------66  Symbol removed: _ZNSt3__13pmr25monotonic_buffer_resource14__chunk_footer25__try_allocate_from_chunkEmm67  Symbol removed: _ZNSt3__13pmr25monotonic_buffer_resource20__initial_descriptor25__try_allocate_from_chunkEmm68 69* [libc++] Remove the pointer safety functions from the dylib70 71  The pointer safety functions were never implemented by anyone in a non-trivial72  way, which lead us to removing them entirely from the headers when they were73  removed in C++23. This also means that just about nobody ever called these74  functions, especially not in production code. Because of that, we expect there75  to be no references in the wild to the functions in the dylib.76 77  Symbol removed: _ZNSt3__117declare_reachableEPv78  Symbol removed: _ZNSt3__119declare_no_pointersEPcm79  Symbol removed: _ZNSt3__121__undeclare_reachableEPv80  Symbol removed: _ZNSt3__121undeclare_no_pointersEPcm81 82* [libcxx][libc] Implements from_chars floating-point83 84  All platforms85  -------------86  Symbol added: _ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE87  Symbol added: _ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE88 89* [libc++] Stop trying to avoid exporting some typeinfo names90 91  This patch removes the explicit list of symbols to avoid exporting92  from the library, which at this point doesn't cover much anyways.93  That makes us export some new symbols on Appl platforms, namely the94  typeinfo names for some implementation-detail types. While we95  technically wouldn't have to export those (I don't think any user96  can get their hands on those typeinfo names), that makes the library97  more consistent on all platforms.98 99  <arch>-apple-darwin100  -------------------101  Symbol added: __ZTSNSt3__114__codecvt_utf8IDsEE102  Symbol added: __ZTSNSt3__114__codecvt_utf8IwEE103  Symbol added: __ZTSNSt3__114__shared_countE104  Symbol added: __ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE105  Symbol added: __ZTSNSt3__114codecvt_bynameIDic11__mbstate_tEE106  Symbol added: __ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE107  Symbol added: __ZTSNSt3__114codecvt_bynameIDsc11__mbstate_tEE108  Symbol added: __ZTSNSt3__114codecvt_bynameIcc11__mbstate_tEE109  Symbol added: __ZTSNSt3__114codecvt_bynameIwc11__mbstate_tEE110  Symbol added: __ZTSNSt3__115__codecvt_utf16IDiLb0EEE111  Symbol added: __ZTSNSt3__115__codecvt_utf16IDiLb1EEE112  Symbol added: __ZTSNSt3__115__codecvt_utf16IDsLb0EEE113  Symbol added: __ZTSNSt3__115__codecvt_utf16IDsLb1EEE114  Symbol added: __ZTSNSt3__115__codecvt_utf16IwLb0EEE115  Symbol added: __ZTSNSt3__115__codecvt_utf16IwLb1EEE116  Symbol added: __ZTSNSt3__116__narrow_to_utf8ILm16EEE117  Symbol added: __ZTSNSt3__116__narrow_to_utf8ILm32EEE118  Symbol added: __ZTSNSt3__117__assoc_sub_stateE119  Symbol added: __ZTSNSt3__117__widen_from_utf8ILm16EEE120  Symbol added: __ZTSNSt3__117__widen_from_utf8ILm32EEE121  Symbol added: __ZTSNSt3__119__shared_weak_countE122  Symbol added: __ZTSNSt3__120__codecvt_utf8_utf16IDiEE123  Symbol added: __ZTSNSt3__120__codecvt_utf8_utf16IDsEE124  Symbol added: __ZTSNSt3__120__codecvt_utf8_utf16IwEE125 126------------127Version 19.0128------------129 130* [libc++] Avoid re-exporting a few specific symbols from libc++abi131 132  In 6a884a9aef39, I synchronized the export list of libc++abi to the133  export list of libc++. From the linker's perspective, this caused134  these symbols to be taken from libc++.dylib instead of libc++abi.dylib.135 136  However, that can be problematic when back-deploying. Indeed, this means137  that the linker will encode an undefined reference to be fullfilled by138  libc++.dylib, but when backdeploying against an older system, that symbol139  might only be available in libc++abi.dylib.140 141  Most of the symbols that started being re-exported after 6a884a9aef39142  turn out to be implementation details of libc++abi, so nobody really143  depends on them and this back-deployment issue is inconsequential.144 145  However, we ran into issues with a few of these symbols while testing146  LLVM 19, which led to this patch.147 148  In the future, a follow-up cleanup would be to stop exporting most of149  the _cxxabiv1_foo_type_infoE symbols from both libc++abi and libc++150  since they are implementation details that nobody should be relying151  on.152 153  <arch>-apple-darwin154  -------------------155  Symbol not reexported anymore: ___cxa_rethrow_primary_exception156  Symbol not reexported anymore: __ZTIN10__cxxabiv117__class_type_infoE157  Symbol not reexported anymore: __ZTIN10__cxxabiv120__si_class_type_infoE158  Symbol not reexported anymore: __ZTIN10__cxxabiv121__vmi_class_type_infoE159 160* [libc++] Always keep libc++abi re-exports up-to-date161 162  This patch makes sure that the set of libc++abi symbols re-exported from libc++163  is up-to-date with the symbols that libc++abi re-exports. As such, it adds several164  symbols that were left out of the libc++ re-exports list. Exporting new symbols165  is not an ABI break.166 167  <arch>-apple-darwin168  -------------------169  Symbol reexported: ___cxa_current_primary_exception170  Symbol reexported: ___cxa_decrement_exception_refcount171  Symbol reexported: ___cxa_increment_exception_refcount172  Symbol reexported: ___cxa_new_handler173  Symbol reexported: ___cxa_rethrow_primary_exception174  Symbol reexported: ___cxa_terminate_handler175  Symbol reexported: ___cxa_uncaught_exception176  Symbol reexported: ___cxa_unexpected_handler177  Symbol reexported: __ZTIDh178  Symbol reexported: __ZTIDu179  Symbol reexported: __ZTIg180  Symbol reexported: __ZTIn181  Symbol reexported: __ZTIN10__cxxabiv116__enum_type_infoE182  Symbol reexported: __ZTIN10__cxxabiv116__shim_type_infoE183  Symbol reexported: __ZTIN10__cxxabiv117__array_type_infoE184  Symbol reexported: __ZTIN10__cxxabiv117__class_type_infoE185  Symbol reexported: __ZTIN10__cxxabiv117__pbase_type_infoE186  Symbol reexported: __ZTIN10__cxxabiv119__pointer_type_infoE187  Symbol reexported: __ZTIN10__cxxabiv120__function_type_infoE188  Symbol reexported: __ZTIN10__cxxabiv120__si_class_type_infoE189  Symbol reexported: __ZTIN10__cxxabiv121__vmi_class_type_infoE190  Symbol reexported: __ZTIN10__cxxabiv123__fundamental_type_infoE191  Symbol reexported: __ZTIN10__cxxabiv129__pointer_to_member_type_infoE192  Symbol reexported: __ZTIo193  Symbol reexported: __ZTIPDh194  Symbol reexported: __ZTIPDu195  Symbol reexported: __ZTIPg196  Symbol reexported: __ZTIPKDh197  Symbol reexported: __ZTIPKDu198  Symbol reexported: __ZTIPKg199  Symbol reexported: __ZTIPKn200  Symbol reexported: __ZTIPKo201  Symbol reexported: __ZTIPn202  Symbol reexported: __ZTIPo203  Symbol reexported: __ZTSDh204  Symbol reexported: __ZTSDu205  Symbol reexported: __ZTSg206  Symbol reexported: __ZTSn207  Symbol reexported: __ZTSN10__cxxabiv116__shim_type_infoE208  Symbol reexported: __ZTSo209  Symbol reexported: __ZTSPDh210  Symbol reexported: __ZTSPDu211  Symbol reexported: __ZTSPg212  Symbol reexported: __ZTSPKDh213  Symbol reexported: __ZTSPKDu214  Symbol reexported: __ZTSPKg215  Symbol reexported: __ZTSPKn216  Symbol reexported: __ZTSPKo217  Symbol reexported: __ZTSPn218  Symbol reexported: __ZTSPo219  Symbol reexported: __ZTVN10__cxxabiv116__shim_type_infoE220 221------------222Version 18.0223------------224 225* [libc++] Moves is_terminal to the dylib226 227  The patch moves the POSIX implementation of is_terminal to the dylib. This is228  needed to avoid using <unistd.h> in public headers.229 230  All platforms231  Symbol added: _ZNSt6__ndk119__is_posix_terminalEP7__sFILE232 233* [libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534)234 235  This patch implements __cxa_init_primary_exception, an extension to the Itanium C++ ABI.236  This extension is already present in both libsupc++ and libcxxrt. This patch also starts237  making use of this function in std::make_exception_ptr: instead of going through a full238  throw/catch cycle, we are now able to initialize an exception directly, thus making239  std::make_exception_ptr around 30x faster. Adding a new symbol is not an ABI break.240 241  All platforms242  -------------243  Symbol added: __cxa_init_primary_exception244 245* [libc++] Simplify the implementation of locale::id246 247  This patch removes a symbol defined in the library for std::locale::id::__init().248  The symbol '__init' was defined as a private static function as part of the locale::id249  class and was never visible from outside the dylib. The addition of this symbol to the250  ABI was most likely accidental. The deletion of the symbol should not be a breaking change.251 252  All platforms253  -------------254  Symbol removed: _ZNSt3__16locale2id6__initEv255 256* [libc++] Remove symbol for std::system_error from the dylib257 258  This patch removes a symbol defined in the library for std::system_error.259  The symbol '__init' was defined as a private static function as part of the260  system_error class and was never visible. The addition of this symbol to the ABI was most likely accidental.261  The function '__init' is replaced by another equivalent function which is placed in the262  anonymous namespace of the std::system_error source code file.263  There are no internal references to this symbol which seems to support the reasoning that264  this was never used outside of the dylib.265  The deletion of the symbol should not be a breaking change.266 267  All platforms268  -------------269  Symbol removed: _ZNSt3__112system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE270 271------------272Version 17.0273------------274 275* [libc++] Remove symbols for a std::allocator_arg & friends from the dylib276 277  This patch removes the symbols defined in the library for std::allocator_arg,278  std::defer_lock, std::try_to_lock, std::adopt_lock, and std::piecewise_construct.279  Those were defined in the library because we provided them in C++03 as an280  extension, and in C++03 it was impossible to define them as `constexpr`281  variables, as required by the Standard.282 283  This is technically an ABI break since we are removing symbols from the284  library. However, in practice, only programs compiled in C++03 mode that285  take the address of those objects (or pass them as a reference) will have286  an undefined ref to those symbols. In practice, this is expected to be287  rare. First, those are C++11 features that we happen to provide in C++03,288  and only the C++03 definition can potentially lead to code referencing289  the dylib definition. So any code that is using these objects but compiling290  in C++11 mode (as they should) is not at risk. Second, all uses of these291  types in the library is done by passing those types by value to a function292  that can get inlined. Since they are empty types, the compiler won't293  generate an undefined reference if passed by value, since there's nothing294  to pass anyway.295 296  Long story short, the risk for code actually containing an undefined297  reference to one of these types is rather small (but non-zero).298 299  All platforms300  -------------301  Symbol removed: _ZNSt3__110adopt_lockE302  Symbol removed: _ZNSt3__110defer_lockE303  Symbol removed: _ZNSt3__111try_to_lockE304  Symbol removed: _ZNSt3__113allocator_argE305  Symbol removed: _ZNSt3__119piecewise_constructE306 307* [libc++] Remove explicit instantiations of __insertion_sort_incomplete and __sort5 from the dylib308 309  These instantiations were never visible, because they are only used in `__sort`, which is also explicitly310  instantiated in the dylib.311 312  All platforms313  -------------314  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_315  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_316  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_317  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_318  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_319  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_320  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_321  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_322  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_323  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_324  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_325  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_326  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_327  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_328  Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_329  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_330 331------------332Version 16.0333------------334 335* [libc++][PMR] Move the pmr::memory_resource destructor into the dylib336 337  All platforms338  -------------339  Symbol added: _ZNSt3__13pmr15memory_resourceD0Ev340  Symbol added: _ZNSt3__13pmr15memory_resourceD1Ev341  Symbol added: _ZNSt3__13pmr15memory_resourceD2Ev342  Symbol added: _ZTVNSt3__13pmr15memory_resourceE343 344* [libc++] [C++17] Implement <memory_resource>.345 346  This commit adds <memory_resource> to the shared library.347 348  All platforms349  -------------350  Symbol added: _ZNKSt3__13pmr26synchronized_pool_resource11do_is_equalERKNS0_15memory_resourceE351  Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource12__pool_indexEmm352  Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource17__pool_block_sizeEi353  Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource22__log2_pool_block_sizeEi354  Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource7optionsEv355  Symbol added: _ZNSt3__13pmr19new_delete_resourceEv356  Symbol added: _ZNSt3__13pmr20get_default_resourceEv357  Symbol added: _ZNSt3__13pmr20null_memory_resourceEv358  Symbol added: _ZNSt3__13pmr20set_default_resourceEPNS0_15memory_resourceE359  Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource11do_allocateEmm360  Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource14__chunk_footer25__try_allocate_from_chunkEmm361  Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource20__initial_descriptor25__try_allocate_from_chunkEmm362  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource11do_allocateEmm363  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__do_allocateEPNS0_15memory_resourceEmm364  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__release_ptrEPNS0_15memory_resourceE365  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool15__do_deallocateEPNS0_15memory_resourceEPvmm366  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource13do_deallocateEPvmm367  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource7releaseEv368  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC1ERKNS0_12pool_optionsEPNS0_15memory_resourceE369  Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC2ERKNS0_12pool_optionsEPNS0_15memory_resourceE370  Symbol added: _ZTINSt3__13pmr15memory_resourceE371  Symbol added: _ZTINSt3__13pmr25monotonic_buffer_resourceE372  Symbol added: _ZTINSt3__13pmr26__null_memory_resource_impE373  Symbol added: _ZTINSt3__13pmr26synchronized_pool_resourceE374  Symbol added: _ZTINSt3__13pmr28unsynchronized_pool_resourceE375  Symbol added: _ZTINSt3__13pmr32__new_delete_memory_resource_impE376  Symbol added: _ZTSNSt3__13pmr15memory_resourceE377  Symbol added: _ZTSNSt3__13pmr25monotonic_buffer_resourceE378  Symbol added: _ZTSNSt3__13pmr26__null_memory_resource_impE379  Symbol added: _ZTSNSt3__13pmr26synchronized_pool_resourceE380  Symbol added: _ZTSNSt3__13pmr28unsynchronized_pool_resourceE381  Symbol added: _ZTSNSt3__13pmr32__new_delete_memory_resource_impE382  Symbol added: _ZTVNSt3__13pmr25monotonic_buffer_resourceE383  Symbol added: _ZTVNSt3__13pmr26synchronized_pool_resourceE384  Symbol added: _ZTVNSt3__13pmr28unsynchronized_pool_resourceE385 386------------387Version 15.0388------------389 390* f1c30135417f - [libc++] Drop the legacy debug mode symbols by default391 392  This commit removed symbols implementing debug mode in the non-debug393  configuration of the library. Using the debug mode now requires a394  differently-configured version of libc++. This is technically an ABI395  break, however any user having been using the debug mode support previously396  was already at risk of non-benign ODR violations, and in practice we397  never found it to work reliably.398 399  All platforms400  -------------401  Symbol removed: _ZNKSt3__111__libcpp_db15__decrementableEPKv402  Symbol removed: _ZNKSt3__111__libcpp_db15__find_c_from_iEPv403  Symbol removed: _ZNKSt3__111__libcpp_db15__subscriptableEPKvl404  Symbol removed: _ZNKSt3__111__libcpp_db17__dereferenceableEPKv405  Symbol removed: _ZNKSt3__111__libcpp_db17__find_c_and_lockEPv406  Symbol removed: _ZNKSt3__111__libcpp_db22__less_than_comparableEPKvS2_407  Symbol removed: _ZNKSt3__111__libcpp_db6unlockEv408  Symbol removed: _ZNKSt3__111__libcpp_db8__find_cEPv409  Symbol removed: _ZNKSt3__111__libcpp_db9__addableEPKvl410  Symbol removed: _ZNKSt3__119__libcpp_debug_info4whatEv411  Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E412  Symbol removed: _ZNSt3__111__libcpp_db10__insert_iEPv413  Symbol removed: _ZNSt3__111__libcpp_db11__insert_icEPvPKv414  Symbol removed: _ZNSt3__111__libcpp_db15__iterator_copyEPvPKv415  Symbol removed: _ZNSt3__111__libcpp_db16__invalidate_allEPv416  Symbol removed: _ZNSt3__111__libcpp_db4swapEPvS1_417  Symbol removed: _ZNSt3__111__libcpp_db9__erase_cEPv418  Symbol removed: _ZNSt3__111__libcpp_db9__erase_iEPv419  Symbol removed: _ZNSt3__111__libcpp_dbC1Ev420  Symbol removed: _ZNSt3__111__libcpp_dbC2Ev421  Symbol removed: _ZNSt3__111__libcpp_dbD1Ev422  Symbol removed: _ZNSt3__111__libcpp_dbD2Ev423  Symbol removed: _ZNSt3__114__get_const_dbEv424  Symbol removed: _ZNSt3__123__libcpp_debug_functionE425  Symbol removed: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE426  Symbol removed: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE427  Symbol removed: _ZNSt3__18__c_node5__addEPNS_8__i_nodeE428  Symbol removed: _ZNSt3__18__c_nodeD0Ev429  Symbol removed: _ZNSt3__18__c_nodeD1Ev430  Symbol removed: _ZNSt3__18__c_nodeD2Ev431  Symbol removed: _ZNSt3__18__get_dbEv432  Symbol removed: _ZNSt3__18__i_nodeD1Ev433  Symbol removed: _ZNSt3__18__i_nodeD2Ev434  Symbol removed: _ZTINSt3__18__c_nodeE435  Symbol removed: _ZTSNSt3__18__c_nodeE436  Symbol removed: _ZTVNSt3__18__c_nodeE437 438* b0fd9497af6d, 7de5aca84c54 and 507125af3d0b - [libc++] Add a lightweight overridable assertion handler439 440  This patch adds a lightweight assertion handler mechanism that can be441  overriden at link-time in a fashion similar to `operator new`. A default442  assertion handler is provided in the shared library, hence the added443  symbol.444 445  All platforms446  -------------447  Symbol added: _ZNSt3__122__libcpp_verbose_abortEPKcz448 449------------450Version 14.0451------------452 453* abb5dd6e99df - [libc++] `to_chars` for floating point.454 455  This commit added the `to_chars` implementation for floating point values.456  The entire implementation resides in the dylib and the functions specified457  in the Standard are now part of the ABI.458 459  All platforms460  -------------461  Symbol added: _ZNSt3__18to_charsEPcS0_d462  Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatE463  Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatEi464  Symbol added: _ZNSt3__18to_charsEPcS0_e465  Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatE466  Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatEi467  Symbol added: _ZNSt3__18to_charsEPcS0_f468  Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatE469  Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatEi470 471* 049f6c29a6f0 - [libc++] Resolve missing table_size symbol472 473  This commit added an out-of-line definition for `table_size` in the library.474  This is not an ABI break since we are just adding a symbol to the library.475  In fact, any program that would have attempted to refer to that symbol would476  have previously failed to link.477 478  <arch>-apple-darwin479  -------------------------480  Symbol added: _ZNSt3__15ctypeIcE10table_sizeE481 482  x86_64-unknown-linux-gnu483  ------------------------484  Symbol added: _ZNSt3__15ctypeIcE10table_sizeE485 486* 434dc0a5bcae - [libc++] Always define a key function for std::bad_function_call in the dylib487 488  This commit added a new explicit instantiation of std::bad_function_call's489  vtable in the shared library. This change is not an ABI break as it only490  adds symbols to the library. Programs compiled against the library will not491  rely on the vtable being defined in it by default. Reliance on the vtable492  being in the shared library can be enabled by defining the493  _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION macro.494 495  Note that this commit also causes the libc++ shared library to start relying496  on std::exception::what() being provided. This is due to the fact that the497  shared library now contains the vtable for std::bad_function_call, which498  references std::exception::what(). This shouldn't be an issue since that499  function needs to be available to users in order to use std::bad_function_call500  before this patch too.501 502  All platforms503  -------------504  Symbol added: _ZNSt3__117bad_function_callD0Ev505  Symbol added: _ZNSt3__117bad_function_callD1Ev506  Symbol added: _ZNSt3__117bad_function_callD2Ev507  Symbol added: _ZTINSt3__117bad_function_callE508  Symbol added: _ZTSNSt3__117bad_function_callE509  Symbol added: _ZTVNSt3__117bad_function_callE510 511  <arch>-unknown-linux-gnu512  ------------------------513  Added dependency on symbol: _ZNKSt9exception4whatEv514 515------------516Version 12.0517------------518 519* a984dcaf7c21 - [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname.520 521  This commit added new instantiations with char8_t for classes codecvt and522  codecvt_byname in <locale> in the library.523 524  All platforms525  -------------526  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_527  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv528  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv529  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv530  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_531  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_532  Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m533  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_534  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv535  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv536  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv537  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_538  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_539  Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m540  Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev541  Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev542  Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev543  Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev544  Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev545  Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev546  Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE547  Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev548  Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev549  Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev550  Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE551  Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev552  Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev553  Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev554  Symbol added: _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE555  Symbol added: _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE556  Symbol added: _ZTINSt3__17codecvtIDiDu11__mbstate_tEE557  Symbol added: _ZTINSt3__17codecvtIDsDu11__mbstate_tEE558  Symbol added: _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE559  Symbol added: _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE560  Symbol added: _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE561  Symbol added: _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE562  Symbol added: _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE563  Symbol added: _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE564 565  <arch>-unknown-linux-gnu566  ------------------------567  Symbol added: _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE568  Symbol added: _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE569 570* 997d41cdec53 - [libc++] Instantiate additional <iostream> members in the dylib571 572  This commit added new explicit instantiations for classes in <iostream> in573  the library. This was done after noticing that many programs that used streams574  ended up containing weak definitions of these classes, which has a negative575  impact on both code size and load times. This change is not an ABI break,576  since we are just adding additional symbols.577 578  All platforms579  -------------580  Symbol added: _ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv581  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv582  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv583  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj584  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_585  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv586  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv587  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE588  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl589  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj590  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj591  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi592  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi593  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv594  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_595  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev596  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_597  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev598  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev599  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev600  Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev601  Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj602  Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj603  Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj604  Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj605  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE606  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_607  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj608  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi609  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi610  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv611  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_612  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_613  Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_614  Symbol added: _ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_615  Symbol added: _ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_616  Symbol added: _ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_617  Symbol added: _ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE618  Symbol added: _ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE619  Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE620  Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE621  Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE622  Symbol added: _ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE623  Symbol added: _ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE624  Symbol added: _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE625  Symbol added: _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE626  Symbol added: _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE627  Symbol added: _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE628  Symbol added: _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE629  Symbol added: _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE630  Symbol added: _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE631  Symbol added: _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE632  Symbol added: _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE633  Symbol added: _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE634  Symbol added: _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE635  Symbol added: _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE636  Symbol added: _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE637  Symbol added: _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE638  Symbol added: _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE639  Symbol added: _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE640  Symbol added: _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE641  Symbol added: _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE642  Symbol added: _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE643  Symbol added: _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE644  Symbol added: _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE645  Symbol added: _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE646  Symbol added: _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE647  Symbol added: _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE648  Symbol added: _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE649  Symbol added: _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE650 651* 9b40ee8eb0c1 - [libc++] Define new/delete in libc++abi only by default652 653  By default, libc++ does not include the definition for new and delete anymore.654  Those were previously defined in both libc++ and libc++abi, which was an655  ODR violation.656 657  <arch>-apple-darwin658  -------------------------659  The following symbols are now re-exported from libc++abi instead of exported660  by libc++ directly (this should not be an ABI break):661 662  Symbol moved: __ZdaPv663  Symbol moved: __ZdaPvm664  Symbol moved: __ZdaPvmSt11align_val_t665  Symbol moved: __ZdaPvRKSt9nothrow_t666  Symbol moved: __ZdaPvSt11align_val_t667  Symbol moved: __ZdaPvSt11align_val_tRKSt9nothrow_t668  Symbol moved: __ZdlPv669  Symbol moved: __ZdlPvm670  Symbol moved: __ZdlPvmSt11align_val_t671  Symbol moved: __ZdlPvRKSt9nothrow_t672  Symbol moved: __ZdlPvSt11align_val_t673  Symbol moved: __ZdlPvSt11align_val_tRKSt9nothrow_t674  Symbol moved: __Znam675  Symbol moved: __ZnamRKSt9nothrow_t676  Symbol moved: __ZnamSt11align_val_t677  Symbol moved: __ZnamSt11align_val_tRKSt9nothrow_t678  Symbol moved: __Znwm679  Symbol moved: __ZnwmRKSt9nothrow_t680  Symbol moved: __ZnwmSt11align_val_t681  Symbol moved: __ZnwmSt11align_val_tRKSt9nothrow_t682 683  <arch>-unknown-linux-gnu684  ------------------------685  The following symbols were moved to libc++abi, but are NOT being re-exported686  by libc++. This constitutes an ABI break if one links against libc++ but687  not libc++abi.688 689  Symbol moved: _ZdaPv690  Symbol moved: _ZdaPvm691  Symbol moved: _ZdaPvmSt11align_val_t692  Symbol moved: _ZdaPvRKSt9nothrow_t693  Symbol moved: _ZdaPvSt11align_val_t694  Symbol moved: _ZdaPvSt11align_val_tRKSt9nothrow_t695  Symbol moved: _ZdlPv696  Symbol moved: _ZdlPvm697  Symbol moved: _ZdlPvmSt11align_val_t698  Symbol moved: _ZdlPvRKSt9nothrow_t699  Symbol moved: _ZdlPvSt11align_val_t700  Symbol moved: _ZdlPvSt11align_val_tRKSt9nothrow_t701  Symbol moved: _Znam702  Symbol moved: _ZnamRKSt9nothrow_t703  Symbol moved: _ZnamSt11align_val_t704  Symbol moved: _ZnamSt11align_val_tRKSt9nothrow_t705  Symbol moved: _Znwm706  Symbol moved: _ZnwmRKSt9nothrow_t707  Symbol moved: _ZnwmSt11align_val_t708  Symbol moved: _ZnwmSt11align_val_tRKSt9nothrow_t709 710* 4f13b9992971 - [libc++] Simplify how we re-export symbols from libc++abi711 712  We re-export some symbols that were exported from libc++abi but not from713  libc++. Exporting new symbols is not an ABI break.714 715  <arch>-apple-darwin716  -------------------717  Symbol added: ___cxa_allocate_dependent_exception718  Symbol added: ___cxa_free_dependent_exception719 720------------721Version 11.0722------------723 724* 54fa9ecd3088 - [libc++] Implementation of C++20's P1135R6 for libcxx725 726  libc++ now implements P1135R6 (The C++20 Synchronization Library), which727  adds a few symbols to the dylib. This is backwards-compatible since we're728  just adding new symbols.729 730  All platforms731  -------------732  Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx733  Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx734  Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE735  Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv736  Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE737  Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv738  Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE739  Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv740  Symbol added: __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh741  Symbol added: __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE742  Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl743 744-----------745Version 9.0746-----------747 748* r358690 - Re-rexport missing symbols from libc++abi749 750  libc++ now re-exports `__cxa_throw_bad_array_new_length` and `__cxa_uncaught_exceptions`,751  both of which are provided by libc++abi. This is not an ABI break because752  we're just adding symbols. Also, this does mean that libc++ can't be linked753  against an older version of libc++abi that doesn't provide those symbols,754  however doing so is not supported anyway.755 756  <arch>-apple-darwin757  -------------------758  Symbol added: ___cxa_throw_bad_array_new_length759  Symbol added: ___cxa_uncaught_exceptions760 761* r356518 - Integrate <filesystem> support into the shared library762 763  This patch introduces support for <filesystem> into the shared library,764  instead of requiring users to manually link against a static archive. As765  such, new symbols required to implement <filesystem> are exported from766  the shared library.767 768  All platforms769  -------------770  Symbol added: _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv771  Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv772  Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv773  Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv774  Symbol added: _ZNKSt3__14__fs10filesystem4path10__filenameEv775  Symbol added: _ZNKSt3__14__fs10filesystem4path11__extensionEv776  Symbol added: _ZNKSt3__14__fs10filesystem4path11__root_nameEv777  Symbol added: _ZNKSt3__14__fs10filesystem4path13__parent_pathEv778  Symbol added: _ZNKSt3__14__fs10filesystem4path15__relative_pathEv779  Symbol added: _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv780  Symbol added: _ZNKSt3__14__fs10filesystem4path16__root_directoryEv781  Symbol added: _ZNKSt3__14__fs10filesystem4path16lexically_normalEv782  Symbol added: _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_783  Symbol added: _ZNKSt3__14__fs10filesystem4path3endEv784  Symbol added: _ZNKSt3__14__fs10filesystem4path5beginEv785  Symbol added: _ZNKSt3__14__fs10filesystem4path6__stemEv786  Symbol added: _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE787  Symbol added: _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE788  Symbol added: _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE789  Symbol added: _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE790  Symbol added: _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE791  Symbol added: _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE792  Symbol added: _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE793  Symbol added: _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE794  Symbol added: _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE795  Symbol added: _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE796  Symbol added: _ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE797  Symbol added: _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE798  Symbol added: _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE799  Symbol added: _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE800  Symbol added: _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE801  Symbol added: _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv802  Symbol added: _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE803  Symbol added: _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE804  Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv805  Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE806  Symbol added: _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi807  Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev808  Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev809  Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev810  Symbol added: _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE811  Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE812  Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE813  Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE814  Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE815  Symbol added: _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE816  Symbol added: _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE817  Symbol added: _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE818  Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE819  Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE820  Symbol added: _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE821  Symbol added: _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE822  Symbol added: _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE823  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE824  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE825  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE826  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE827  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE828  Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE829  Symbol added: _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_830  Symbol added: _ZNSt3__14__fs10filesystem4path19preferred_separatorE831  Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv832  Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv833  Symbol added: _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE834  Symbol added: _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE835  Symbol added: _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE836  Symbol added: _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE837  Symbol added: _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE838  Symbol added: _ZTINSt3__14__fs10filesystem16filesystem_errorE839  Symbol added: _ZTSNSt3__14__fs10filesystem16filesystem_errorE840  Symbol added: _ZTVNSt3__14__fs10filesystem16filesystem_errorE841 842* r356417 - Remove exception throwing debug mode handler support.843 844  The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically,845  I thought that if a debug violation aborted, we could only test one violation per file. This made846  it impossible to test debug mode. Which throwing behavior we could test more!847 848  However, the throwing approach didn't work either, since there are debug violations underneath noexcept849  functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug850  mode was off.851 852  Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was853  viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst854  changing the behavior of their program.855 856  This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style857  death tests.858 859  All Platforms (ignoring versioning namespaces)860  ----------------------------------------------861  Symbol added: _ZNKSt3__119__libcpp_debug_info4whatEv862  Symbol removed: _ZNKSt3__124__libcpp_debug_exception4whatEv863  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE864  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_865  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1Ev866  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE867  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_868  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2Ev869  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD0Ev870  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD1Ev871  Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD2Ev872  Symbol removed: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE873  Symbol removed: _ZTINSt3__124__libcpp_debug_exceptionE874  Symbol removed: _ZTSNSt3__124__libcpp_debug_exceptionE875  Symbol removed: _ZTVNSt3__124__libcpp_debug_exceptionE876 877  <arch>-apple-darwin878  -------------------879  Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E880  Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv881 882* r355367 - Fix -fsanitize=vptr badness in <__debug>883 884  This patch fixes a lifetime bug when inserting a new container into the debug database. It is885  diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed886  during insertion.887 888  The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI889  stability from debug mode.890 891  All platforms892  -------------893  Symbol added: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E894  Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPv895 896-----------897Version 8.0898-----------899 900* r347903 - Remove std::bad_array_length901 902  The change removes the definition of std::bad_array_length (which never made903  it into the standard) from the headers and the dylib. This is technically an904  ABI break because the symbols are shipped starting with mac OSX 10.13, however905  users couldn't be relying on the functionality because it is marked as being906  unavailable using Clang's availability attribute.907 908  <arch>-apple-darwin909  -------------------910  Symbol removed: __ZNKSt16bad_array_length4whatEv911  Symbol removed: __ZNKSt16bad_array_length4whatEv912  Symbol removed: __ZNSt16bad_array_lengthC1Ev913  Symbol removed: __ZNSt16bad_array_lengthC1Ev914  Symbol removed: __ZNSt16bad_array_lengthC2Ev915  Symbol removed: __ZNSt16bad_array_lengthC2Ev916  Symbol removed: __ZNSt16bad_array_lengthD0Ev917  Symbol removed: __ZNSt16bad_array_lengthD0Ev918  Symbol removed: __ZNSt16bad_array_lengthD1Ev919  Symbol removed: __ZNSt16bad_array_lengthD1Ev920  Symbol removed: __ZNSt16bad_array_lengthD2Ev921  Symbol removed: __ZNSt16bad_array_lengthD2Ev922  Symbol removed: __ZTISt16bad_array_length923  Symbol removed: __ZTISt16bad_array_length924  Symbol removed: __ZTSSt16bad_array_length925  Symbol removed: __ZTSSt16bad_array_length926  Symbol removed: __ZTVSt16bad_array_length927  Symbol removed: __ZTVSt16bad_array_length928 929* r347395 - Making libc++ build under -fvisibility=hidden on Linux930 931  The change marks several function templates as hidden. This removes symbols932  from the shared library, but this is not an ABI break because it's impossible933  for programs linking against libc++.so to actually depend on that symbol.934  The reason is that the symbol is exported from the shared library through935  an implicit instantiation present in the shared object itself only. Furthermore,936  if a user's shared object was implicitly instantiating one of these functions,937  marking that symbol as hidden would not be an ABI break for them because none938  of their users could actually be using the symbol in their dylib (because939  it's an implicit instantiation).940 941  x86_64-linux-gnu942  ----------------943  Symbol removed: _ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji944  Symbol removed: _ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji945  Symbol removed: _ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji946  Symbol removed: _ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji947  Symbol removed: _ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji948  Symbol removed: _ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji949  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_950  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_951  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_952  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_953  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_954  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_955  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_956  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_957  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_958  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_959  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_960  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_961  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_962  Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_963  Symbol removed: _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_964  Symbol removed: _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_965 966* r345260 - Making libc++ build under -fvisibility=hidden on Mac OS967 968  The change marks __thread_specific_ptr<__thread_struct>::__at_thread_exit(void*)969  with hidden visibility. This removes a symbol from the shared libraries,970  however this is not an ABI break because it's impossible for programs linking971  against libc++.dylib to actually depend on that symbol. The reason is that972  the symbol is exported from the shared library through an implicit973  instantiation present in the dylib itself only. Furthermore, if a user's974  dylib was implicitly instantiating __thread_specific_ptr<T>::__at_thread_exit975  (because it's defined in the headers), marking that symbol as hidden would976  not be an ABI break for them because none of their users could actually be977  using the symbol in their dylib (because it's an implicit instantiation).978 979  This change also marks __start_std_streams as hidden -- this variable is980  only required to initialize the streams, and nobody should depend on it981  from outside the dylib.982 983  x86_64-linux-gnu984  ----------------985  Symbol removed: _ZNSt3__121__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv986  Symbol removed: _ZNSt3__119__start_std_streamsE987 988  <arch>-apple-darwin989  -------------------990  Symbol removed: __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv991  Symbol removed: __ZNSt3__119__start_std_streamsE992 993-----------994Version 7.0995-----------996 997* r338479 - Elementary string conversions for integral types998 999  The change emits __u64toa and __u32toa under std::__1::__itoa.1000 1001  x86_64-linux-gnu1002  ----------------1003  Symbol added: _ZNSt3__16__itoa8__u64toaEmPc1004  Symbol added: _ZNSt3__16__itoa8__u32toaEjPc1005 1006  <arch>-apple-darwin1007  -------------------1008  Symbol added: __ZNSt3__16__itoa8__u64toaEyPc1009  Symbol added: __ZNSt3__16__itoa8__u32toaEjPc1010 1011 1012* r333467 - Fix embarrasing typo in uncaught_exceptions.1013 1014  This bug caused __uncaught_exception to be ODR used instead of1015  __uncaught_exceptions. This change is non-ABI breaking because the symbols1016  for std::uncaught_exception and std::uncaught_exceptions haven't changed,1017  and because users shouldn't be depending directly on libc++ exporting1018  __uncaught_exception/__uncaught_exceptions.1019 1020  All Platforms1021  ----------------1022  Symbol removed: __cxa_uncaught_exception1023  Symbol added: __cxa_uncaught_exceptions1024 1025-----------1026Version 5.01027-----------1028 1029* r313500 - Fix undefined "___cxa_deleted_virtual" symbol in macosx1030 1031  x86_64-linux-gnu1032  ----------------1033  No changes1034 1035  <arch>-apple-darwin1036  -------------------1037  Symbol added: ___cxa_deleted_virtual1038 1039* r296729 - Remove std::num_get template methods which should be inline1040 1041  These functions should never have had visible definitions in the dylib but1042  since they were previously not specified with 'inline' they accidentally1043  got emitted. This change is non-ABI breaking because every "linkage unit"1044  must contain its own definition.1045 1046  x86_64-linux-gnu1047  ----------------1048  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_1049  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_1050  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_1051  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_1052  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_1053  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_1054  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_1055  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_1056  Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_1057  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_1058  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_1059  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_1060  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_1061  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_1062  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_1063  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_1064  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_1065  Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_1066 1067  <arch>-apple-darwin1068  -------------------1069  No changes1070 1071-----------1072Version 4.01073-----------1074 1075* r290651 - Add _LIBCPP_ASSERT debug handling functions1076 1077  All Platforms1078  -------------1079  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE1080  Symbol added: _ZNSt3__124__libcpp_debug_exceptionD1Ev1081  Symbol added: _ZTINSt3__124__libcpp_debug_exceptionE1082  Symbol added: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE1083  Symbol added: _ZNSt3__124__libcpp_debug_exceptionD2Ev1084  Symbol added: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE1085  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_1086  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1Ev1087  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE1088  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2Ev1089  Symbol added: _ZTSNSt3__124__libcpp_debug_exceptionE1090  Symbol added: _ZNSt3__123__libcpp_debug_functionE1091  Symbol added: _ZNKSt3__124__libcpp_debug_exception4whatEv1092  Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_1093  Symbol added: _ZNSt3__124__libcpp_debug_exceptionD0Ev1094  Symbol added: _ZTVNSt3__124__libcpp_debug_exceptionE1095  Symbol added: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE1096 1097* r288547 - Implement C++17 <variant>1098 1099  All Platforms1100  -------------1101  Symbol added: _ZTVSt18bad_variant_access1102  Symbol added: _ZTISt18bad_variant_access1103  Symbol added: _ZTSSt18bad_variant_access1104  Symbol added: _ZNKSt18bad_variant_access4whatEv1105 1106* r285537 - Remove std::string::append template methods which should be inline1107 1108  These functions should never have had visible definitions in the dylib but1109  since they were previously not specified with 'inline' they accidentally1110  got emitted. This change is non-ABI breaking because every "linkage unit"1111  must contain its own definition.1112 1113  x86_64-linux-gnu1114  ----------------1115  Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_1116  Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_1117 1118  <arch>-apple-darwin1119  -------------------1120  No changes1121 1122* r285101 - Add -fvisibility-inlines-hidden when building libc++.1123 1124  Although this change removes symbols, it should still be non-ABI breaking1125  since all of the definitions removed are inline functions. For this reason1126  removing these symbols is safe because every "linkage unit" which uses these1127  functions will contain their own definition.1128 1129  x86_64-linux-gnu1130  ----------------1131  Symbol removed: _ZNSt12bad_any_castD0Ev1132  Symbol removed: _ZNSt12experimental15fundamentals_v112bad_any_castD0Ev1133  Symbol removed: _ZNSt3__114__codecvt_utf8IDiED0Ev1134  Symbol removed: _ZNSt3__114__codecvt_utf8IDsED0Ev1135  Symbol removed: _ZNSt3__114__codecvt_utf8IwED0Ev1136  Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb0EED0Ev1137  Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb1EED0Ev1138  Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb0EED0Ev1139  Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb1EED0Ev1140  Symbol removed: _ZNSt3__115__codecvt_utf16IwLb0EED0Ev1141  Symbol removed: _ZNSt3__115__codecvt_utf16IwLb1EED0Ev1142  Symbol removed: _ZNSt3__117__assoc_sub_stateD0Ev1143  Symbol removed: _ZNSt3__117__assoc_sub_stateD2Ev1144  Symbol removed: _ZNSt3__117__libcpp_sscanf_lEPKcP15__locale_structS1_z1145  Symbol removed: _ZNSt3__119__libcpp_asprintf_lEPPcP15__locale_structPKcz1146  Symbol removed: _ZNSt3__119__libcpp_snprintf_lEPcmP15__locale_structPKcz1147  Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDiED0Ev1148  Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDsED0Ev1149  Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IwED0Ev1150 1151  <arch>-apple-darwin1152  -------------------1153  No Changes - inline symbols are already hidden1154 1155* r284206 - Implement C++17 aligned allocation in <new>1156 1157  x86_64-linux-gnu1158  ----------------1159  Symbol added: _ZdaPvSt11align_val_t1160  Symbol added: _ZdlPvSt11align_val_t1161  Symbol added: _ZnamSt11align_val_t1162  Symbol added: _ZdaPvmSt11align_val_t1163  Symbol added: _ZdlPvmSt11align_val_t1164  Symbol added: _ZdlPvSt11align_val_tRKSt9nothrow_t1165  Symbol added: _ZnwmSt11align_val_tRKSt9nothrow_t1166  Symbol added: _ZnamSt11align_val_tRKSt9nothrow_t1167  Symbol added: _ZdaPvSt11align_val_tRKSt9nothrow_t1168  Symbol added: _ZnwmSt11align_val_t1169 1170* r283980 - Implement C++17 <optional>1171 1172  x86_64-linux-gnu1173  ----------------1174  Symbol added: _ZTISt19bad_optional_access1175  Symbol added: _ZNSt19bad_optional_accessD0Ev1176  Symbol added: _ZNSt19bad_optional_accessD1Ev1177  Symbol added: _ZNSt19bad_optional_accessD2Ev1178  Symbol added: _ZTVSt19bad_optional_access1179  Symbol added: _ZTSSt19bad_optional_access1180 1181* r278310 - Implement C++17 <any>1182 1183  x86_64-linux-gnu1184  ----------------1185  Symbol added: _ZNKSt12bad_any_cast4whatEv1186  Symbol added: _ZNSt12bad_any_castD0Ev1187  Symbol added: _ZTISt12bad_any_cast1188  Symbol added: _ZTSSt12bad_any_cast1189  Symbol added: _ZTVSt12bad_any_cast1190 1191* r295398 - Remove basic_string::insert and basic_string::replace template methods which should be inline.1192 1193  These functions should never have had visible definitions in the dylib but1194  since they were previously not specified with 'inline' they accidentally1195  got emitted. This change is non-ABI breaking because every "linkage unit"1196  must contain its own definition.1197 1198  x86_64-linux-gnu1199  ----------------1200  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_1201  Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_1202  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_1203  Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_1204