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