xref: /aosp_15_r20/external/cronet/third_party/libc++/src/lib/abi/CHANGELOG.TXT (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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