1ABI Changelog 2============== 3This changelog contains information about ABI changes in libc++. Specifically 4the addition and deletion of symbols from the libc++ dylib. 5 6Each entry should start with the revision number followed by a description of 7the 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 the 11`generate-cxx-abilist` target, and look at the diff. 12 13New entries should be added directly below the "Version" header. 14 15------------ 16Version 19.0 17------------ 18 19* [libc++] Always keep libc++abi re-exports up-to-date 20 21 This patch makes sure that the set of libc++abi symbols re-exported from libc++ 22 is up-to-date with the symbols that libc++abi re-exports. As such, it adds several 23 symbols that were left out of the libc++ re-exports list. Exporting new symbols 24 is not an ABI break. 25 26 <arch>-apple-darwin 27 ------------------- 28 Symbol reexported: ___cxa_current_primary_exception 29 Symbol reexported: ___cxa_decrement_exception_refcount 30 Symbol reexported: ___cxa_increment_exception_refcount 31 Symbol reexported: ___cxa_new_handler 32 Symbol reexported: ___cxa_rethrow_primary_exception 33 Symbol reexported: ___cxa_terminate_handler 34 Symbol reexported: ___cxa_uncaught_exception 35 Symbol reexported: ___cxa_unexpected_handler 36 Symbol reexported: __ZTIDh 37 Symbol reexported: __ZTIDu 38 Symbol reexported: __ZTIg 39 Symbol reexported: __ZTIn 40 Symbol reexported: __ZTIN10__cxxabiv116__enum_type_infoE 41 Symbol reexported: __ZTIN10__cxxabiv116__shim_type_infoE 42 Symbol reexported: __ZTIN10__cxxabiv117__array_type_infoE 43 Symbol reexported: __ZTIN10__cxxabiv117__class_type_infoE 44 Symbol reexported: __ZTIN10__cxxabiv117__pbase_type_infoE 45 Symbol reexported: __ZTIN10__cxxabiv119__pointer_type_infoE 46 Symbol reexported: __ZTIN10__cxxabiv120__function_type_infoE 47 Symbol reexported: __ZTIN10__cxxabiv120__si_class_type_infoE 48 Symbol reexported: __ZTIN10__cxxabiv121__vmi_class_type_infoE 49 Symbol reexported: __ZTIN10__cxxabiv123__fundamental_type_infoE 50 Symbol reexported: __ZTIN10__cxxabiv129__pointer_to_member_type_infoE 51 Symbol reexported: __ZTIo 52 Symbol reexported: __ZTIPDh 53 Symbol reexported: __ZTIPDu 54 Symbol reexported: __ZTIPg 55 Symbol reexported: __ZTIPKDh 56 Symbol reexported: __ZTIPKDu 57 Symbol reexported: __ZTIPKg 58 Symbol reexported: __ZTIPKn 59 Symbol reexported: __ZTIPKo 60 Symbol reexported: __ZTIPn 61 Symbol reexported: __ZTIPo 62 Symbol reexported: __ZTSDh 63 Symbol reexported: __ZTSDu 64 Symbol reexported: __ZTSg 65 Symbol reexported: __ZTSn 66 Symbol reexported: __ZTSN10__cxxabiv116__shim_type_infoE 67 Symbol reexported: __ZTSo 68 Symbol reexported: __ZTSPDh 69 Symbol reexported: __ZTSPDu 70 Symbol reexported: __ZTSPg 71 Symbol reexported: __ZTSPKDh 72 Symbol reexported: __ZTSPKDu 73 Symbol reexported: __ZTSPKg 74 Symbol reexported: __ZTSPKn 75 Symbol reexported: __ZTSPKo 76 Symbol reexported: __ZTSPn 77 Symbol reexported: __ZTSPo 78 Symbol reexported: __ZTVN10__cxxabiv116__shim_type_infoE 79 80------------ 81Version 18.0 82------------ 83 84* [libc++] Moves is_terminal to the dylib 85 86 The patch moves the POSIX implementation of is_terminal to the dylib. This is 87 needed to avoid using <unistd.h> in public headers. 88 89 All platforms 90 Symbol added: _ZNSt6__ndk119__is_posix_terminalEP7__sFILE 91 92* [libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534) 93 94 This patch implements __cxa_init_primary_exception, an extension to the Itanium C++ ABI. 95 This extension is already present in both libsupc++ and libcxxrt. This patch also starts 96 making use of this function in std::make_exception_ptr: instead of going through a full 97 throw/catch cycle, we are now able to initialize an exception directly, thus making 98 std::make_exception_ptr around 30x faster. Adding a new symbol is not an ABI break. 99 100 All platforms 101 ------------- 102 Symbol added: __cxa_init_primary_exception 103 104* [libc++] Simplify the implementation of locale::id 105 106 This patch removes a symbol defined in the library for std::locale::id::__init(). 107 The symbol '__init' was defined as a private static function as part of the locale::id 108 class and was never visible from outside the dylib. The addition of this symbol to the 109 ABI was most likely accidental. The deletion of the symbol should not be a breaking change. 110 111 All platforms 112 ------------- 113 Symbol removed: _ZNSt3__16locale2id6__initEv 114 115* [libc++] Remove symbol for std::system_error from the dylib 116 117 This patch removes a symbol defined in the library for std::system_error. 118 The symbol '__init' was defined as a private static function as part of the 119 system_error class and was never visible. The addition of this symbol to the ABI was most likely accidental. 120 The function '__init' is replaced by another equivalent function which is placed in the 121 anonymous namespace of the std::system_error source code file. 122 There are no internal references to this symbol which seems to support the reasoning that 123 this was never used outside of the dylib. 124 The deletion of the symbol should not be a breaking change. 125 126 All platforms 127 ------------- 128 Symbol removed: _ZNSt3__112system_error6__initERKNS_10error_codeENS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE 129 130------------ 131Version 17.0 132------------ 133 134* [libc++] Remove symbols for a std::allocator_arg & friends from the dylib 135 136 This patch removes the symbols defined in the library for std::allocator_arg, 137 std::defer_lock, std::try_to_lock, std::adopt_lock, and std::piecewise_construct. 138 Those were defined in the library because we provided them in C++03 as an 139 extension, and in C++03 it was impossible to define them as `constexpr` 140 variables, as required by the Standard. 141 142 This is technically an ABI break since we are removing symbols from the 143 library. However, in practice, only programs compiled in C++03 mode that 144 take the address of those objects (or pass them as a reference) will have 145 an undefined ref to those symbols. In practice, this is expected to be 146 rare. First, those are C++11 features that we happen to provide in C++03, 147 and only the C++03 definition can potentially lead to code referencing 148 the dylib definition. So any code that is using these objects but compiling 149 in C++11 mode (as they should) is not at risk. Second, all uses of these 150 types in the library is done by passing those types by value to a function 151 that can get inlined. Since they are empty types, the compiler won't 152 generate an undefined reference if passed by value, since there's nothing 153 to pass anyway. 154 155 Long story short, the risk for code actually containing an undefined 156 reference to one of these types is rather small (but non-zero). 157 158 All platforms 159 ------------- 160 Symbol removed: _ZNSt3__110adopt_lockE 161 Symbol removed: _ZNSt3__110defer_lockE 162 Symbol removed: _ZNSt3__111try_to_lockE 163 Symbol removed: _ZNSt3__113allocator_argE 164 Symbol removed: _ZNSt3__119piecewise_constructE 165 166* [libc++] Remove explicit instantiations of __insertion_sort_incomplete and __sort5 from the dylib 167 168 These instantiations were never visible, because they are only used in `__sort`, which is also explicitly 169 instantiated in the dylib. 170 171 All platforms 172 ------------- 173 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIaaEEPaEEbT0_S5_T_ 174 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIccEEPcEEbT0_S5_T_ 175 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIddEEPdEEbT0_S5_T_ 176 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIeeEEPeEEbT0_S5_T_ 177 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIffEEPfEEbT0_S5_T_ 178 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIhhEEPhEEbT0_S5_T_ 179 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIiiEEPiEEbT0_S5_T_ 180 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIjjEEPjEEbT0_S5_T_ 181 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIllEEPlEEbT0_S5_T_ 182 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessImmEEPmEEbT0_S5_T_ 183 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIssEEPsEEbT0_S5_T_ 184 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIttEEPtEEbT0_S5_T_ 185 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIwwEEPwEEbT0_S5_T_ 186 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIxxEEPxEEbT0_S5_T_ 187 Symbol removed: _ZNSt3__127__insertion_sort_incompleteIRNS_6__lessIyyEEPyEEbT0_S5_T_ 188 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIeeEEPeEEjT0_S5_S5_S5_S5_T_ 189 190------------ 191Version 16.0 192------------ 193 194* [libc++][PMR] Move the pmr::memory_resource destructor into the dylib 195 196 All platforms 197 ------------- 198 Symbol added: _ZNSt3__13pmr15memory_resourceD0Ev 199 Symbol added: _ZNSt3__13pmr15memory_resourceD1Ev 200 Symbol added: _ZNSt3__13pmr15memory_resourceD2Ev 201 Symbol added: _ZTVNSt3__13pmr15memory_resourceE 202 203* [libc++] [C++17] Implement <memory_resource>. 204 205 This commit adds <memory_resource> to the shared library. 206 207 All platforms 208 ------------- 209 Symbol added: _ZNKSt3__13pmr26synchronized_pool_resource11do_is_equalERKNS0_15memory_resourceE 210 Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource12__pool_indexEmm 211 Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource17__pool_block_sizeEi 212 Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource22__log2_pool_block_sizeEi 213 Symbol added: _ZNKSt3__13pmr28unsynchronized_pool_resource7optionsEv 214 Symbol added: _ZNSt3__13pmr19new_delete_resourceEv 215 Symbol added: _ZNSt3__13pmr20get_default_resourceEv 216 Symbol added: _ZNSt3__13pmr20null_memory_resourceEv 217 Symbol added: _ZNSt3__13pmr20set_default_resourceEPNS0_15memory_resourceE 218 Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource11do_allocateEmm 219 Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource14__chunk_footer25__try_allocate_from_chunkEmm 220 Symbol added: _ZNSt3__13pmr25monotonic_buffer_resource20__initial_descriptor25__try_allocate_from_chunkEmm 221 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource11do_allocateEmm 222 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__do_allocateEPNS0_15memory_resourceEmm 223 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__release_ptrEPNS0_15memory_resourceE 224 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool15__do_deallocateEPNS0_15memory_resourceEPvmm 225 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource13do_deallocateEPvmm 226 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resource7releaseEv 227 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC1ERKNS0_12pool_optionsEPNS0_15memory_resourceE 228 Symbol added: _ZNSt3__13pmr28unsynchronized_pool_resourceC2ERKNS0_12pool_optionsEPNS0_15memory_resourceE 229 Symbol added: _ZTINSt3__13pmr15memory_resourceE 230 Symbol added: _ZTINSt3__13pmr25monotonic_buffer_resourceE 231 Symbol added: _ZTINSt3__13pmr26__null_memory_resource_impE 232 Symbol added: _ZTINSt3__13pmr26synchronized_pool_resourceE 233 Symbol added: _ZTINSt3__13pmr28unsynchronized_pool_resourceE 234 Symbol added: _ZTINSt3__13pmr32__new_delete_memory_resource_impE 235 Symbol added: _ZTSNSt3__13pmr15memory_resourceE 236 Symbol added: _ZTSNSt3__13pmr25monotonic_buffer_resourceE 237 Symbol added: _ZTSNSt3__13pmr26__null_memory_resource_impE 238 Symbol added: _ZTSNSt3__13pmr26synchronized_pool_resourceE 239 Symbol added: _ZTSNSt3__13pmr28unsynchronized_pool_resourceE 240 Symbol added: _ZTSNSt3__13pmr32__new_delete_memory_resource_impE 241 Symbol added: _ZTVNSt3__13pmr25monotonic_buffer_resourceE 242 Symbol added: _ZTVNSt3__13pmr26synchronized_pool_resourceE 243 Symbol added: _ZTVNSt3__13pmr28unsynchronized_pool_resourceE 244 245------------ 246Version 15.0 247------------ 248 249* f1c30135417f - [libc++] Drop the legacy debug mode symbols by default 250 251 This commit removed symbols implementing debug mode in the non-debug 252 configuration of the library. Using the debug mode now requires a 253 differently-configured version of libc++. This is technically an ABI 254 break, however any user having been using the debug mode support previously 255 was already at risk of non-benign ODR violations, and in practice we 256 never found it to work reliably. 257 258 All platforms 259 ------------- 260 Symbol removed: _ZNKSt3__111__libcpp_db15__decrementableEPKv 261 Symbol removed: _ZNKSt3__111__libcpp_db15__find_c_from_iEPv 262 Symbol removed: _ZNKSt3__111__libcpp_db15__subscriptableEPKvl 263 Symbol removed: _ZNKSt3__111__libcpp_db17__dereferenceableEPKv 264 Symbol removed: _ZNKSt3__111__libcpp_db17__find_c_and_lockEPv 265 Symbol removed: _ZNKSt3__111__libcpp_db22__less_than_comparableEPKvS2_ 266 Symbol removed: _ZNKSt3__111__libcpp_db6unlockEv 267 Symbol removed: _ZNKSt3__111__libcpp_db8__find_cEPv 268 Symbol removed: _ZNKSt3__111__libcpp_db9__addableEPKvl 269 Symbol removed: _ZNKSt3__119__libcpp_debug_info4whatEv 270 Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E 271 Symbol removed: _ZNSt3__111__libcpp_db10__insert_iEPv 272 Symbol removed: _ZNSt3__111__libcpp_db11__insert_icEPvPKv 273 Symbol removed: _ZNSt3__111__libcpp_db15__iterator_copyEPvPKv 274 Symbol removed: _ZNSt3__111__libcpp_db16__invalidate_allEPv 275 Symbol removed: _ZNSt3__111__libcpp_db4swapEPvS1_ 276 Symbol removed: _ZNSt3__111__libcpp_db9__erase_cEPv 277 Symbol removed: _ZNSt3__111__libcpp_db9__erase_iEPv 278 Symbol removed: _ZNSt3__111__libcpp_dbC1Ev 279 Symbol removed: _ZNSt3__111__libcpp_dbC2Ev 280 Symbol removed: _ZNSt3__111__libcpp_dbD1Ev 281 Symbol removed: _ZNSt3__111__libcpp_dbD2Ev 282 Symbol removed: _ZNSt3__114__get_const_dbEv 283 Symbol removed: _ZNSt3__123__libcpp_debug_functionE 284 Symbol removed: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE 285 Symbol removed: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE 286 Symbol removed: _ZNSt3__18__c_node5__addEPNS_8__i_nodeE 287 Symbol removed: _ZNSt3__18__c_nodeD0Ev 288 Symbol removed: _ZNSt3__18__c_nodeD1Ev 289 Symbol removed: _ZNSt3__18__c_nodeD2Ev 290 Symbol removed: _ZNSt3__18__get_dbEv 291 Symbol removed: _ZNSt3__18__i_nodeD1Ev 292 Symbol removed: _ZNSt3__18__i_nodeD2Ev 293 Symbol removed: _ZTINSt3__18__c_nodeE 294 Symbol removed: _ZTSNSt3__18__c_nodeE 295 Symbol removed: _ZTVNSt3__18__c_nodeE 296 297* b0fd9497af6d, 7de5aca84c54 and 507125af3d0b - [libc++] Add a lightweight overridable assertion handler 298 299 This patch adds a lightweight assertion handler mechanism that can be 300 overriden at link-time in a fashion similar to `operator new`. A default 301 assertion handler is provided in the shared library, hence the added 302 symbol. 303 304 All platforms 305 ------------- 306 Symbol added: _ZNSt3__122__libcpp_verbose_abortEPKcz 307 308------------ 309Version 14.0 310------------ 311 312* abb5dd6e99df - [libc++] `to_chars` for floating point. 313 314 This commit added the `to_chars` implementation for floating point values. 315 The entire implementation resides in the dylib and the functions specified 316 in the Standard are now part of the ABI. 317 318 All platforms 319 ------------- 320 Symbol added: _ZNSt3__18to_charsEPcS0_d 321 Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatE 322 Symbol added: _ZNSt3__18to_charsEPcS0_dNS_12chars_formatEi 323 Symbol added: _ZNSt3__18to_charsEPcS0_e 324 Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatE 325 Symbol added: _ZNSt3__18to_charsEPcS0_eNS_12chars_formatEi 326 Symbol added: _ZNSt3__18to_charsEPcS0_f 327 Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatE 328 Symbol added: _ZNSt3__18to_charsEPcS0_fNS_12chars_formatEi 329 330* 049f6c29a6f0 - [libc++] Resolve missing table_size symbol 331 332 This commit added an out-of-line definition for `table_size` in the library. 333 This is not an ABI break since we are just adding a symbol to the library. 334 In fact, any program that would have attempted to refer to that symbol would 335 have previously failed to link. 336 337 <arch>-apple-darwin 338 ------------------------- 339 Symbol added: _ZNSt3__15ctypeIcE10table_sizeE 340 341 x86_64-unknown-linux-gnu 342 ------------------------ 343 Symbol added: _ZNSt3__15ctypeIcE10table_sizeE 344 345* 434dc0a5bcae - [libc++] Always define a key function for std::bad_function_call in the dylib 346 347 This commit added a new explicit instantiation of std::bad_function_call's 348 vtable in the shared library. This change is not an ABI break as it only 349 adds symbols to the library. Programs compiled against the library will not 350 rely on the vtable being defined in it by default. Reliance on the vtable 351 being in the shared library can be enabled by defining the 352 _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION macro. 353 354 Note that this commit also causes the libc++ shared library to start relying 355 on std::exception::what() being provided. This is due to the fact that the 356 shared library now contains the vtable for std::bad_function_call, which 357 references std::exception::what(). This shouldn't be an issue since that 358 function needs to be available to users in order to use std::bad_function_call 359 before this patch too. 360 361 All platforms 362 ------------- 363 Symbol added: _ZNSt3__117bad_function_callD0Ev 364 Symbol added: _ZNSt3__117bad_function_callD1Ev 365 Symbol added: _ZNSt3__117bad_function_callD2Ev 366 Symbol added: _ZTINSt3__117bad_function_callE 367 Symbol added: _ZTSNSt3__117bad_function_callE 368 Symbol added: _ZTVNSt3__117bad_function_callE 369 370 <arch>-unknown-linux-gnu 371 ------------------------ 372 Added dependency on symbol: _ZNKSt9exception4whatEv 373 374------------ 375Version 12.0 376------------ 377 378* a984dcaf7c21 - [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. 379 380 This commit added new instantiations with char8_t for classes codecvt and 381 codecvt_byname in <locale> in the library. 382 383 All platforms 384 ------------- 385 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ 386 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv 387 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv 388 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv 389 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_ 390 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_ 391 Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m 392 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ 393 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv 394 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv 395 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv 396 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_ 397 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_ 398 Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m 399 Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev 400 Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev 401 Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev 402 Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev 403 Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev 404 Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev 405 Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE 406 Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev 407 Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev 408 Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev 409 Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE 410 Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev 411 Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev 412 Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev 413 Symbol added: _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE 414 Symbol added: _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE 415 Symbol added: _ZTINSt3__17codecvtIDiDu11__mbstate_tEE 416 Symbol added: _ZTINSt3__17codecvtIDsDu11__mbstate_tEE 417 Symbol added: _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE 418 Symbol added: _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE 419 Symbol added: _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE 420 Symbol added: _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE 421 Symbol added: _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE 422 Symbol added: _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE 423 424 <arch>-unknown-linux-gnu 425 ------------------------ 426 Symbol added: _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE 427 Symbol added: _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE 428 429* 997d41cdec53 - [libc++] Instantiate additional <iostream> members in the dylib 430 431 This commit added new explicit instantiations for classes in <iostream> in 432 the library. This was done after noticing that many programs that used streams 433 ended up containing weak definitions of these classes, which has a negative 434 impact on both code size and load times. This change is not an ABI break, 435 since we are just adding additional symbols. 436 437 All platforms 438 ------------- 439 Symbol added: _ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv 440 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv 441 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv 442 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj 443 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_ 444 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv 445 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv 446 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE 447 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl 448 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj 449 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj 450 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi 451 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi 452 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv 453 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_ 454 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev 455 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_ 456 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev 457 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev 458 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev 459 Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev 460 Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj 461 Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj 462 Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj 463 Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj 464 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE 465 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_ 466 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj 467 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi 468 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi 469 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv 470 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_ 471 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ 472 Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ 473 Symbol added: _ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ 474 Symbol added: _ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ 475 Symbol added: _ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ 476 Symbol added: _ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE 477 Symbol added: _ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE 478 Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE 479 Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE 480 Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE 481 Symbol added: _ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE 482 Symbol added: _ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE 483 Symbol added: _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE 484 Symbol added: _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE 485 Symbol added: _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE 486 Symbol added: _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE 487 Symbol added: _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 488 Symbol added: _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 489 Symbol added: _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 490 Symbol added: _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE 491 Symbol added: _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE 492 Symbol added: _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE 493 Symbol added: _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE 494 Symbol added: _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 495 Symbol added: _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 496 Symbol added: _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 497 Symbol added: _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE 498 Symbol added: _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE 499 Symbol added: _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 500 Symbol added: _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 501 Symbol added: _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 502 Symbol added: _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE 503 Symbol added: _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE 504 Symbol added: _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE 505 Symbol added: _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE 506 Symbol added: _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 507 Symbol added: _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 508 Symbol added: _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE 509 510* 9b40ee8eb0c1 - [libc++] Define new/delete in libc++abi only by default 511 512 By default, libc++ does not include the definition for new and delete anymore. 513 Those were previously defined in both libc++ and libc++abi, which was an 514 ODR violation. 515 516 <arch>-apple-darwin 517 ------------------------- 518 The following symbols are now re-exported from libc++abi instead of exported 519 by libc++ directly (this should not be an ABI break): 520 521 Symbol moved: __ZdaPv 522 Symbol moved: __ZdaPvm 523 Symbol moved: __ZdaPvmSt11align_val_t 524 Symbol moved: __ZdaPvRKSt9nothrow_t 525 Symbol moved: __ZdaPvSt11align_val_t 526 Symbol moved: __ZdaPvSt11align_val_tRKSt9nothrow_t 527 Symbol moved: __ZdlPv 528 Symbol moved: __ZdlPvm 529 Symbol moved: __ZdlPvmSt11align_val_t 530 Symbol moved: __ZdlPvRKSt9nothrow_t 531 Symbol moved: __ZdlPvSt11align_val_t 532 Symbol moved: __ZdlPvSt11align_val_tRKSt9nothrow_t 533 Symbol moved: __Znam 534 Symbol moved: __ZnamRKSt9nothrow_t 535 Symbol moved: __ZnamSt11align_val_t 536 Symbol moved: __ZnamSt11align_val_tRKSt9nothrow_t 537 Symbol moved: __Znwm 538 Symbol moved: __ZnwmRKSt9nothrow_t 539 Symbol moved: __ZnwmSt11align_val_t 540 Symbol moved: __ZnwmSt11align_val_tRKSt9nothrow_t 541 542 <arch>-unknown-linux-gnu 543 ------------------------ 544 The following symbols were moved to libc++abi, but are NOT being re-exported 545 by libc++. This constitutes an ABI break if one links against libc++ but 546 not libc++abi. 547 548 Symbol moved: _ZdaPv 549 Symbol moved: _ZdaPvm 550 Symbol moved: _ZdaPvmSt11align_val_t 551 Symbol moved: _ZdaPvRKSt9nothrow_t 552 Symbol moved: _ZdaPvSt11align_val_t 553 Symbol moved: _ZdaPvSt11align_val_tRKSt9nothrow_t 554 Symbol moved: _ZdlPv 555 Symbol moved: _ZdlPvm 556 Symbol moved: _ZdlPvmSt11align_val_t 557 Symbol moved: _ZdlPvRKSt9nothrow_t 558 Symbol moved: _ZdlPvSt11align_val_t 559 Symbol moved: _ZdlPvSt11align_val_tRKSt9nothrow_t 560 Symbol moved: _Znam 561 Symbol moved: _ZnamRKSt9nothrow_t 562 Symbol moved: _ZnamSt11align_val_t 563 Symbol moved: _ZnamSt11align_val_tRKSt9nothrow_t 564 Symbol moved: _Znwm 565 Symbol moved: _ZnwmRKSt9nothrow_t 566 Symbol moved: _ZnwmSt11align_val_t 567 Symbol moved: _ZnwmSt11align_val_tRKSt9nothrow_t 568 569* 4f13b9992971 - [libc++] Simplify how we re-export symbols from libc++abi 570 571 We re-export some symbols that were exported from libc++abi but not from 572 libc++. Exporting new symbols is not an ABI break. 573 574 <arch>-apple-darwin 575 ------------------- 576 Symbol added: ___cxa_allocate_dependent_exception 577 Symbol added: ___cxa_free_dependent_exception 578 579------------ 580Version 10.0 581------------ 582 583* 54fa9ecd3088 - [libc++] Implementation of C++20's P1135R6 for libcxx 584 585 libc++ now implements P1135R6 (The C++20 Synchronization Library), which 586 adds a few symbols to the dylib. This is backwards-compatible since we're 587 just adding new symbols. 588 589 All platforms 590 ------------- 591 Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx 592 Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx 593 Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE 594 Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv 595 Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE 596 Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv 597 Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE 598 Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv 599 Symbol added: __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh 600 Symbol added: __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE 601 Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl 602 603----------- 604Version 9.0 605----------- 606 607* r358690 - Re-rexport missing symbols from libc++abi 608 609 libc++ now re-exports `__cxa_throw_bad_array_new_length` and `__cxa_uncaught_exceptions`, 610 both of which are provided by libc++abi. This is not an ABI break because 611 we're just adding symbols. Also, this does mean that libc++ can't be linked 612 against an older version of libc++abi that doesn't provide those symbols, 613 however doing so is not supported anyway. 614 615 <arch>-apple-darwin 616 ------------------- 617 Symbol added: ___cxa_throw_bad_array_new_length 618 Symbol added: ___cxa_uncaught_exceptions 619 620* r356518 - Integrate <filesystem> support into the shared library 621 622 This patch introduces support for <filesystem> into the shared library, 623 instead of requiring users to manually link against a static archive. As 624 such, new symbols required to implement <filesystem> are exported from 625 the shared library. 626 627 All platforms 628 ------------- 629 Symbol added: _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv 630 Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv 631 Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv 632 Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv 633 Symbol added: _ZNKSt3__14__fs10filesystem4path10__filenameEv 634 Symbol added: _ZNKSt3__14__fs10filesystem4path11__extensionEv 635 Symbol added: _ZNKSt3__14__fs10filesystem4path11__root_nameEv 636 Symbol added: _ZNKSt3__14__fs10filesystem4path13__parent_pathEv 637 Symbol added: _ZNKSt3__14__fs10filesystem4path15__relative_pathEv 638 Symbol added: _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv 639 Symbol added: _ZNKSt3__14__fs10filesystem4path16__root_directoryEv 640 Symbol added: _ZNKSt3__14__fs10filesystem4path16lexically_normalEv 641 Symbol added: _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_ 642 Symbol added: _ZNKSt3__14__fs10filesystem4path3endEv 643 Symbol added: _ZNKSt3__14__fs10filesystem4path5beginEv 644 Symbol added: _ZNKSt3__14__fs10filesystem4path6__stemEv 645 Symbol added: _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE 646 Symbol added: _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE 647 Symbol added: _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE 648 Symbol added: _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE 649 Symbol added: _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE 650 Symbol added: _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE 651 Symbol added: _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE 652 Symbol added: _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE 653 Symbol added: _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE 654 Symbol added: _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE 655 Symbol added: _ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE 656 Symbol added: _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE 657 Symbol added: _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE 658 Symbol added: _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE 659 Symbol added: _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE 660 Symbol added: _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv 661 Symbol added: _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE 662 Symbol added: _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE 663 Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv 664 Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE 665 Symbol added: _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi 666 Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev 667 Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev 668 Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev 669 Symbol added: _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE 670 Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE 671 Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE 672 Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE 673 Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE 674 Symbol added: _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE 675 Symbol added: _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE 676 Symbol added: _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE 677 Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE 678 Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE 679 Symbol added: _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE 680 Symbol added: _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE 681 Symbol added: _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE 682 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE 683 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE 684 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE 685 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE 686 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE 687 Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE 688 Symbol added: _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_ 689 Symbol added: _ZNSt3__14__fs10filesystem4path19preferred_separatorE 690 Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv 691 Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv 692 Symbol added: _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE 693 Symbol added: _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE 694 Symbol added: _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE 695 Symbol added: _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE 696 Symbol added: _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE 697 Symbol added: _ZTINSt3__14__fs10filesystem16filesystem_errorE 698 Symbol added: _ZTSNSt3__14__fs10filesystem16filesystem_errorE 699 Symbol added: _ZTVNSt3__14__fs10filesystem16filesystem_errorE 700 701* r356417 - Remove exception throwing debug mode handler support. 702 703 The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically, 704 I thought that if a debug violation aborted, we could only test one violation per file. This made 705 it impossible to test debug mode. Which throwing behavior we could test more! 706 707 However, the throwing approach didn't work either, since there are debug violations underneath noexcept 708 functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug 709 mode was off. 710 711 Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was 712 viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst 713 changing the behavior of their program. 714 715 This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style 716 death tests. 717 718 All Platforms (ignoring versioning namespaces) 719 ---------------------------------------------- 720 Symbol added: _ZNKSt3__119__libcpp_debug_info4whatEv 721 Symbol removed: _ZNKSt3__124__libcpp_debug_exception4whatEv 722 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE 723 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ 724 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1Ev 725 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE 726 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ 727 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2Ev 728 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD0Ev 729 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD1Ev 730 Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD2Ev 731 Symbol removed: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE 732 Symbol removed: _ZTINSt3__124__libcpp_debug_exceptionE 733 Symbol removed: _ZTSNSt3__124__libcpp_debug_exceptionE 734 Symbol removed: _ZTVNSt3__124__libcpp_debug_exceptionE 735 736 <arch>-apple-darwin 737 ------------------- 738 Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E 739 Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv 740 741* r355367 - Fix -fsanitize=vptr badness in <__debug> 742 743 This patch fixes a lifetime bug when inserting a new container into the debug database. It is 744 diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed 745 during insertion. 746 747 The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI 748 stability from debug mode. 749 750 All platforms 751 ------------- 752 Symbol added: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E 753 Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPv 754 755----------- 756Version 8.0 757----------- 758 759* r347903 - Remove std::bad_array_length 760 761 The change removes the definition of std::bad_array_length (which never made 762 it into the standard) from the headers and the dylib. This is technically an 763 ABI break because the symbols are shipped starting with mac OSX 10.13, however 764 users couldn't be relying on the functionality because it is marked as being 765 unavailable using Clang's availability attribute. 766 767 <arch>-apple-darwin 768 ------------------- 769 Symbol removed: __ZNKSt16bad_array_length4whatEv 770 Symbol removed: __ZNKSt16bad_array_length4whatEv 771 Symbol removed: __ZNSt16bad_array_lengthC1Ev 772 Symbol removed: __ZNSt16bad_array_lengthC1Ev 773 Symbol removed: __ZNSt16bad_array_lengthC2Ev 774 Symbol removed: __ZNSt16bad_array_lengthC2Ev 775 Symbol removed: __ZNSt16bad_array_lengthD0Ev 776 Symbol removed: __ZNSt16bad_array_lengthD0Ev 777 Symbol removed: __ZNSt16bad_array_lengthD1Ev 778 Symbol removed: __ZNSt16bad_array_lengthD1Ev 779 Symbol removed: __ZNSt16bad_array_lengthD2Ev 780 Symbol removed: __ZNSt16bad_array_lengthD2Ev 781 Symbol removed: __ZTISt16bad_array_length 782 Symbol removed: __ZTISt16bad_array_length 783 Symbol removed: __ZTSSt16bad_array_length 784 Symbol removed: __ZTSSt16bad_array_length 785 Symbol removed: __ZTVSt16bad_array_length 786 Symbol removed: __ZTVSt16bad_array_length 787 788* r347395 - Making libc++ build under -fvisibility=hidden on Linux 789 790 The change marks several function templates as hidden. This removes symbols 791 from the shared library, but this is not an ABI break because it's impossible 792 for programs linking against libc++.so to actually depend on that symbol. 793 The reason is that the symbol is exported from the shared library through 794 an implicit instantiation present in the shared object itself only. Furthermore, 795 if a user's shared object was implicitly instantiating one of these functions, 796 marking that symbol as hidden would not be an ABI break for them because none 797 of their users could actually be using the symbol in their dylib (because 798 it's an implicit instantiation). 799 800 x86_64-linux-gnu 801 ---------------- 802 Symbol removed: _ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji 803 Symbol removed: _ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji 804 Symbol removed: _ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji 805 Symbol removed: _ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji 806 Symbol removed: _ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji 807 Symbol removed: _ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji 808 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_ 809 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_ 810 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_ 811 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_ 812 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_ 813 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_ 814 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_ 815 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_ 816 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_ 817 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_ 818 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_ 819 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_ 820 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_ 821 Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_ 822 Symbol removed: _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_ 823 Symbol removed: _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_ 824 825* r345260 - Making libc++ build under -fvisibility=hidden on Mac OS 826 827 The change marks __thread_specific_ptr<__thread_struct>::__at_thread_exit(void*) 828 with hidden visibility. This removes a symbol from the shared libraries, 829 however this is not an ABI break because it's impossible for programs linking 830 against libc++.dylib to actually depend on that symbol. The reason is that 831 the symbol is exported from the shared library through an implicit 832 instantiation present in the dylib itself only. Furthermore, if a user's 833 dylib was implicitly instantiating __thread_specific_ptr<T>::__at_thread_exit 834 (because it's defined in the headers), marking that symbol as hidden would 835 not be an ABI break for them because none of their users could actually be 836 using the symbol in their dylib (because it's an implicit instantiation). 837 838 This change also marks __start_std_streams as hidden -- this variable is 839 only required to initialize the streams, and nobody should depend on it 840 from outside the dylib. 841 842 x86_64-linux-gnu 843 ---------------- 844 Symbol removed: _ZNSt3__121__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv 845 Symbol removed: _ZNSt3__119__start_std_streamsE 846 847 <arch>-apple-darwin 848 ------------------- 849 Symbol removed: __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv 850 Symbol removed: __ZNSt3__119__start_std_streamsE 851 852----------- 853Version 7.0 854----------- 855 856* r338479 - Elementary string conversions for integral types 857 858 The change emits __u64toa and __u32toa under std::__1::__itoa. 859 860 x86_64-linux-gnu 861 ---------------- 862 Symbol added: _ZNSt3__16__itoa8__u64toaEmPc 863 Symbol added: _ZNSt3__16__itoa8__u32toaEjPc 864 865 <arch>-apple-darwin 866 ------------------- 867 Symbol added: __ZNSt3__16__itoa8__u64toaEyPc 868 Symbol added: __ZNSt3__16__itoa8__u32toaEjPc 869 870 871* r333467 - Fix embarrasing typo in uncaught_exceptions. 872 873 This bug caused __uncaught_exception to be ODR used instead of 874 __uncaught_exceptions. This change is non-ABI breaking because the symbols 875 for std::uncaught_exception and std::uncaught_exceptions haven't changed, 876 and because users shouldn't be depending directly on libc++ exporting 877 __uncaught_exception/__uncaught_exceptions. 878 879 All Platforms 880 ---------------- 881 Symbol removed: __cxa_uncaught_exception 882 Symbol added: __cxa_uncaught_exceptions 883 884----------- 885Version 5.0 886----------- 887 888* r313500 - Fix undefined "___cxa_deleted_virtual" symbol in macosx 889 890 x86_64-linux-gnu 891 ---------------- 892 No changes 893 894 <arch>-apple-darwin 895 ------------------- 896 Symbol added: ___cxa_deleted_virtual 897 898* r296729 - Remove std::num_get template methods which should be inline 899 900 These functions should never have had visible definitions in the dylib but 901 since they were previously not specified with 'inline' they accidentally 902 got emitted. This change is non-ABI breaking because every "linkage unit" 903 must contain its own definition. 904 905 x86_64-linux-gnu 906 ---------------- 907 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ 908 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ 909 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ 910 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ 911 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ 912 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ 913 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ 914 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ 915 Symbol removed: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ 916 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ 917 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ 918 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ 919 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ 920 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ 921 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ 922 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ 923 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ 924 Symbol removed: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ 925 926 <arch>-apple-darwin 927 ------------------- 928 No changes 929 930----------- 931Version 4.0 932----------- 933 934* r290651 - Add _LIBCPP_ASSERT debug handling functions 935 936 All Platforms 937 ------------- 938 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE 939 Symbol added: _ZNSt3__124__libcpp_debug_exceptionD1Ev 940 Symbol added: _ZTINSt3__124__libcpp_debug_exceptionE 941 Symbol added: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE 942 Symbol added: _ZNSt3__124__libcpp_debug_exceptionD2Ev 943 Symbol added: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE 944 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ 945 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1Ev 946 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE 947 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2Ev 948 Symbol added: _ZTSNSt3__124__libcpp_debug_exceptionE 949 Symbol added: _ZNSt3__123__libcpp_debug_functionE 950 Symbol added: _ZNKSt3__124__libcpp_debug_exception4whatEv 951 Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ 952 Symbol added: _ZNSt3__124__libcpp_debug_exceptionD0Ev 953 Symbol added: _ZTVNSt3__124__libcpp_debug_exceptionE 954 Symbol added: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE 955 956* r288547 - Implement C++17 <variant> 957 958 All Platforms 959 ------------- 960 Symbol added: _ZTVSt18bad_variant_access 961 Symbol added: _ZTISt18bad_variant_access 962 Symbol added: _ZTSSt18bad_variant_access 963 Symbol added: _ZNKSt18bad_variant_access4whatEv 964 965* r285537 - Remove std::string::append template methods which should be inline 966 967 These functions should never have had visible definitions in the dylib but 968 since they were previously not specified with 'inline' they accidentally 969 got emitted. This change is non-ABI breaking because every "linkage unit" 970 must contain its own definition. 971 972 x86_64-linux-gnu 973 ---------------- 974 Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ 975 Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ 976 977 <arch>-apple-darwin 978 ------------------- 979 No changes 980 981* r285101 - Add -fvisibility-inlines-hidden when building libc++. 982 983 Although this change removes symbols, it should still be non-ABI breaking 984 since all of the definitions removed are inline functions. For this reason 985 removing these symbols is safe because every "linkage unit" which uses these 986 functions will contain their own definition. 987 988 x86_64-linux-gnu 989 ---------------- 990 Symbol removed: _ZNSt12bad_any_castD0Ev 991 Symbol removed: _ZNSt12experimental15fundamentals_v112bad_any_castD0Ev 992 Symbol removed: _ZNSt3__114__codecvt_utf8IDiED0Ev 993 Symbol removed: _ZNSt3__114__codecvt_utf8IDsED0Ev 994 Symbol removed: _ZNSt3__114__codecvt_utf8IwED0Ev 995 Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb0EED0Ev 996 Symbol removed: _ZNSt3__115__codecvt_utf16IDiLb1EED0Ev 997 Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb0EED0Ev 998 Symbol removed: _ZNSt3__115__codecvt_utf16IDsLb1EED0Ev 999 Symbol removed: _ZNSt3__115__codecvt_utf16IwLb0EED0Ev 1000 Symbol removed: _ZNSt3__115__codecvt_utf16IwLb1EED0Ev 1001 Symbol removed: _ZNSt3__117__assoc_sub_stateD0Ev 1002 Symbol removed: _ZNSt3__117__assoc_sub_stateD2Ev 1003 Symbol removed: _ZNSt3__117__libcpp_sscanf_lEPKcP15__locale_structS1_z 1004 Symbol removed: _ZNSt3__119__libcpp_asprintf_lEPPcP15__locale_structPKcz 1005 Symbol removed: _ZNSt3__119__libcpp_snprintf_lEPcmP15__locale_structPKcz 1006 Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDiED0Ev 1007 Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IDsED0Ev 1008 Symbol removed: _ZNSt3__120__codecvt_utf8_utf16IwED0Ev 1009 1010 <arch>-apple-darwin 1011 ------------------- 1012 No Changes - inline symbols are already hidden 1013 1014* r284206 - Implement C++17 aligned allocation in <new> 1015 1016 x86_64-linux-gnu 1017 ---------------- 1018 Symbol added: _ZdaPvSt11align_val_t 1019 Symbol added: _ZdlPvSt11align_val_t 1020 Symbol added: _ZnamSt11align_val_t 1021 Symbol added: _ZdaPvmSt11align_val_t 1022 Symbol added: _ZdlPvmSt11align_val_t 1023 Symbol added: _ZdlPvSt11align_val_tRKSt9nothrow_t 1024 Symbol added: _ZnwmSt11align_val_tRKSt9nothrow_t 1025 Symbol added: _ZnamSt11align_val_tRKSt9nothrow_t 1026 Symbol added: _ZdaPvSt11align_val_tRKSt9nothrow_t 1027 Symbol added: _ZnwmSt11align_val_t 1028 1029* r283980 - Implement C++17 <optional> 1030 1031 x86_64-linux-gnu 1032 ---------------- 1033 Symbol added: _ZTISt19bad_optional_access 1034 Symbol added: _ZNSt19bad_optional_accessD0Ev 1035 Symbol added: _ZNSt19bad_optional_accessD1Ev 1036 Symbol added: _ZNSt19bad_optional_accessD2Ev 1037 Symbol added: _ZTVSt19bad_optional_access 1038 Symbol added: _ZTSSt19bad_optional_access 1039 1040* r278310 - Implement C++17 <any> 1041 1042 x86_64-linux-gnu 1043 ---------------- 1044 Symbol added: _ZNKSt12bad_any_cast4whatEv 1045 Symbol added: _ZNSt12bad_any_castD0Ev 1046 Symbol added: _ZTISt12bad_any_cast 1047 Symbol added: _ZTSSt12bad_any_cast 1048 Symbol added: _ZTVSt12bad_any_cast 1049 1050* r295398 - Remove basic_string::insert and basic_string::replace template methods which should be inline. 1051 1052 These functions should never have had visible definitions in the dylib but 1053 since they were previously not specified with 'inline' they accidentally 1054 got emitted. This change is non-ABI breaking because every "linkage unit" 1055 must contain its own definition. 1056 1057 x86_64-linux-gnu 1058 ---------------- 1059 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_ 1060 Symbol removed: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ 1061 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_ 1062 Symbol removed: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ 1063