| ABI Changelog |
| ============== |
| This changelog contains information about ABI changes in libc++. Specifically |
| the addition and deletion of symbols from the libc++ dylib. |
| |
| Each entry should start with the revision number followed by a description of |
| the change. The entry should contain a summary of the ABI changes made, |
| including what symbols were added, removed, or changed. |
| |
| To generate a summary, re-generate the new ABI list using the |
| `generate-cxx-abilist` target, and look at the diff. |
| |
| New entries should be added directly below the "Version" header. |
| |
| ------------ |
| Version 14.0 |
| ------------ |
| |
| * [libc++] Resolve missing table_size symbol |
| |
| This commit added an out-of-line definition for `table_size` in the library. |
| This is not an ABI break since we are just adding a symbol to the library. |
| In fact, any program that would have attempted to refer to that symbol would |
| have previously failed to link. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: _ZNSt3__15ctypeIcE10table_sizeE |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZNSt3__15ctypeIcE10table_sizeE |
| |
| * [libc++] Always define a key function for std::bad_function_call in the dylib |
| |
| This commit added a new explicit instantiation of std::bad_function_call's |
| vtable in the shared library. This change is not an ABI break as it only |
| adds symbols to the library. Programs compiled against the library will not |
| rely on the vtable being defined in it by default. Reliance on the vtable |
| being in the shared library can be enabled by defining the |
| _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION macro. |
| |
| Note that this commit also causes the libc++ shared library to start relying |
| on std::exception::what() being provided. This is due to the fact that the |
| shared library now contains the vtable for std::bad_function_call, which |
| references std::exception::what(). This shouldn't be an issue since that |
| function needs to be available to users in order to use std::bad_function_call |
| before this patch too. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNSt3__117bad_function_callD0Ev |
| Symbol added: __ZNSt3__117bad_function_callD1Ev |
| Symbol added: __ZNSt3__117bad_function_callD2Ev |
| Symbol added: __ZTINSt3__117bad_function_callE |
| Symbol added: __ZTSNSt3__117bad_function_callE |
| Symbol added: __ZTVNSt3__117bad_function_callE |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZNSt3__117bad_function_callD0Ev |
| Symbol added: _ZNSt3__117bad_function_callD1Ev |
| Symbol added: _ZNSt3__117bad_function_callD2Ev |
| Symbol added: _ZTINSt3__117bad_function_callE |
| Symbol added: _ZTSNSt3__117bad_function_callE |
| Symbol added: _ZTVNSt3__117bad_function_callE |
| Added dependency on symbol: _ZNKSt9exception4whatEv |
| |
| ------------ |
| Version 12.0 |
| ------------ |
| |
| * a984dcaf7c21 - [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. |
| |
| This commit added new instantiations with char8_t for classes codecvt and |
| codecvt_byname in <locale> in the library. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_ |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_ |
| Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_ |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_ |
| Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m |
| Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev |
| Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev |
| Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev |
| Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev |
| Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev |
| Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev |
| Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tE2idE |
| Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev |
| Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev |
| Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev |
| Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tE2idE |
| Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev |
| Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev |
| Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev |
| Symbol added: __ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE |
| Symbol added: __ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE |
| Symbol added: __ZTINSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: __ZTINSt3__17codecvtIDsDu11__mbstate_tEE |
| Symbol added: __ZTSNSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: __ZTSNSt3__17codecvtIDsDu11__mbstate_tEE |
| Symbol added: __ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE |
| Symbol added: __ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE |
| Symbol added: __ZTVNSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: __ZTVNSt3__17codecvtIDsDu11__mbstate_tEE |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZTINSt3__17codecvtIDsDu11__mbstate_tEE |
| Symbol added: _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE |
| Symbol added: _ZTINSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv |
| Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv |
| Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_ |
| Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_ |
| Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev |
| Symbol added: _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev |
| Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev |
| Symbol added: _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE |
| Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev |
| Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev |
| Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev |
| Symbol added: _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv |
| Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev |
| Symbol added: _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv |
| Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev |
| Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev |
| Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ |
| Symbol added: _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE |
| Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev |
| Symbol added: _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_ |
| Symbol added: _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv |
| Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_ |
| Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_ |
| Symbol added: _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE |
| |
| * 997d41cdec53 - [libc++] Instantiate additional <iostream> members in the dylib |
| |
| This commit added new explicit instantiations for classes in <iostream> in |
| the library. This was done after noticing that many programs that used streams |
| ended up containing weak definitions of these classes, which has a negative |
| impact on both code size and load times. This change is not an ABI break, |
| since we are just adding additional symbols. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_ |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_ |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_ |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev |
| Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev |
| Symbol added: __ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: __ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj |
| Symbol added: __ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: __ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_ |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_ |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ |
| Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: __ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: __ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: __ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: __ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: __ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE |
| Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE |
| Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE |
| Symbol added: __ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: __ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE |
| Symbol added: __ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: __ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: __ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_ |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_ |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_ |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev |
| Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev |
| Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj |
| Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj |
| Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_ |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_ |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_ |
| Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: _ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: _ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: _ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_ |
| Symbol added: _ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: _ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE |
| Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE |
| Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE |
| Symbol added: _ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE |
| Symbol added: _ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE |
| Symbol added: _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE |
| Symbol added: _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| Symbol added: _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE |
| |
| * 9b40ee8eb0c1 - [libc++] Define new/delete in libc++abi only by default |
| |
| By default, libc++ does not include the definition for new and delete anymore. |
| Those were previously defined in both libc++ and libc++abi, which was an |
| ODR violation. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| The following symbols are now re-exported from libc++abi instead of exported |
| by libc++ directly (this should not be an ABI break): |
| |
| Symbol moved: __ZdaPv |
| Symbol moved: __ZdaPvm |
| Symbol moved: __ZdaPvmSt11align_val_t |
| Symbol moved: __ZdaPvRKSt9nothrow_t |
| Symbol moved: __ZdaPvSt11align_val_t |
| Symbol moved: __ZdaPvSt11align_val_tRKSt9nothrow_t |
| Symbol moved: __ZdlPv |
| Symbol moved: __ZdlPvm |
| Symbol moved: __ZdlPvmSt11align_val_t |
| Symbol moved: __ZdlPvRKSt9nothrow_t |
| Symbol moved: __ZdlPvSt11align_val_t |
| Symbol moved: __ZdlPvSt11align_val_tRKSt9nothrow_t |
| Symbol moved: __Znam |
| Symbol moved: __ZnamRKSt9nothrow_t |
| Symbol moved: __ZnamSt11align_val_t |
| Symbol moved: __ZnamSt11align_val_tRKSt9nothrow_t |
| Symbol moved: __Znwm |
| Symbol moved: __ZnwmRKSt9nothrow_t |
| Symbol moved: __ZnwmSt11align_val_t |
| Symbol moved: __ZnwmSt11align_val_tRKSt9nothrow_t |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| The following symbols were moved to libc++abi, but are NOT being re-exported |
| by libc++. This constitutes an ABI break if one links against libc++ but |
| not libc++abi. |
| |
| Symbol moved: _ZdaPv |
| Symbol moved: _ZdaPvm |
| Symbol moved: _ZdaPvmSt11align_val_t |
| Symbol moved: _ZdaPvRKSt9nothrow_t |
| Symbol moved: _ZdaPvSt11align_val_t |
| Symbol moved: _ZdaPvSt11align_val_tRKSt9nothrow_t |
| Symbol moved: _ZdlPv |
| Symbol moved: _ZdlPvm |
| Symbol moved: _ZdlPvmSt11align_val_t |
| Symbol moved: _ZdlPvRKSt9nothrow_t |
| Symbol moved: _ZdlPvSt11align_val_t |
| Symbol moved: _ZdlPvSt11align_val_tRKSt9nothrow_t |
| Symbol moved: _Znam |
| Symbol moved: _ZnamRKSt9nothrow_t |
| Symbol moved: _ZnamSt11align_val_t |
| Symbol moved: _ZnamSt11align_val_tRKSt9nothrow_t |
| Symbol moved: _Znwm |
| Symbol moved: _ZnwmRKSt9nothrow_t |
| Symbol moved: _ZnwmSt11align_val_t |
| Symbol moved: _ZnwmSt11align_val_tRKSt9nothrow_t |
| |
| * 4f13b9992971 - [libc++] Simplify how we re-export symbols from libc++abi |
| |
| We re-export some symbols that were exported from libc++abi but not from |
| libc++. Exporting new symbols is not an ABI break. |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: ___cxa_allocate_dependent_exception |
| Symbol added: ___cxa_free_dependent_exception |
| |
| ------------ |
| Version 10.0 |
| ------------ |
| |
| * 54fa9ecd3088 - [libc++] Implementation of C++20's P1135R6 for libcxx |
| |
| libc++ now implements P1135R6 (The C++20 Synchronization Library), which |
| adds a few symbols to the dylib. This is backwards-compatible since we're |
| just adding new symbols. |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| TODO |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx |
| Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx |
| Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE |
| Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv |
| Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE |
| Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv |
| Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE |
| Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv |
| Symbol added: __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh |
| Symbol added: __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE |
| Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl |
| |
| ----------- |
| Version 9.0 |
| ----------- |
| |
| * r358690 - Re-rexport missing symbols from libc++abi |
| |
| libc++ now re-exports `__cxa_throw_bad_array_new_length` and `__cxa_uncaught_exceptions`, |
| both of which are provided by libc++abi. This is not an ABI break because |
| we're just adding symbols. Also, this does mean that libc++ can't be linked |
| against an older version of libc++abi that doesn't provide those symbols, |
| however doing so is not supported anyway. |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| TODO |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: ___cxa_throw_bad_array_new_length |
| Symbol added: ___cxa_uncaught_exceptions |
| |
| * r356518 - Integrate <filesystem> support into the shared library |
| |
| This patch introduces support for <filesystem> into the shared library, |
| instead of requiring users to manually link against a static archive. As |
| such, new symbols required to implement <filesystem> are exported from |
| the shared library. |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv |
| Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv |
| Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv |
| Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path10__filenameEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path11__extensionEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path11__root_nameEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path13__parent_pathEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path15__relative_pathEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path16__root_directoryEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path16lexically_normalEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_ |
| Symbol added: _ZNKSt3__14__fs10filesystem4path3endEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path5beginEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path6__stemEv |
| Symbol added: _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE |
| Symbol added: _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE |
| Symbol added: _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv |
| Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv |
| Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE |
| Symbol added: _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi |
| Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev |
| Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev |
| Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev |
| Symbol added: _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE |
| Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE |
| Symbol added: _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_ |
| Symbol added: _ZNSt3__14__fs10filesystem4path19preferred_separatorE |
| Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv |
| Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv |
| Symbol added: _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE |
| Symbol added: _ZTINSt3__14__fs10filesystem16filesystem_errorE |
| Symbol added: _ZTSNSt3__14__fs10filesystem16filesystem_errorE |
| Symbol added: _ZTVNSt3__14__fs10filesystem16filesystem_errorE |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv |
| Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv |
| Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv |
| Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path10__filenameEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path11__extensionEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path11__root_nameEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path13__parent_pathEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path15__relative_pathEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path15__root_path_rawEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path16__root_directoryEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path16lexically_normalEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_ |
| Symbol added: __ZNKSt3__14__fs10filesystem4path3endEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path5beginEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path6__stemEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE |
| Symbol added: __ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE |
| Symbol added: __ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv |
| Symbol added: __ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD0Ev |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD1Ev |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD2Ev |
| Symbol added: __ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE |
| Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv |
| Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path10__filenameEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path11__extensionEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path11__root_nameEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path13__parent_pathEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path15__relative_pathEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path15__root_path_rawEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path16__root_directoryEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path16lexically_normalEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_ |
| Symbol added: __ZNKSt3__14__fs10filesystem4path3endEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path5beginEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path6__stemEv |
| Symbol added: __ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE |
| Symbol added: __ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE |
| Symbol added: __ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv |
| Symbol added: __ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD0Ev |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD1Ev |
| Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD2Ev |
| Symbol added: __ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE |
| Symbol added: __ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE |
| Symbol added: __ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_ |
| Symbol added: __ZNSt3__14__fs10filesystem4path8iterator11__decrementEv |
| Symbol added: __ZNSt3__14__fs10filesystem4path8iterator11__incrementEv |
| Symbol added: __ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE |
| Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE |
| Symbol added: __ZNSt3__14__fs10filesystem4path19preferred_separatorE |
| Symbol added: __ZTINSt3__14__fs10filesystem16filesystem_errorE |
| Symbol added: __ZTSNSt3__14__fs10filesystem16filesystem_errorE |
| Symbol added: __ZTVNSt3__14__fs10filesystem16filesystem_errorE |
| |
| * r356417 - Remove exception throwing debug mode handler support. |
| |
| The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically, |
| I thought that if a debug violation aborted, we could only test one violation per file. This made |
| it impossible to test debug mode. Which throwing behavior we could test more! |
| |
| However, the throwing approach didn't work either, since there are debug violations underneath noexcept |
| functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug |
| mode was off. |
| |
| Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was |
| viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst |
| changing the behavior of their program. |
| |
| This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style |
| death tests. |
| |
| All Platforms (ignoring versioning namespaces) |
| ---------------------------------------------- |
| Symbol added: _ZNKSt3__119__libcpp_debug_info4whatEv |
| Symbol removed: _ZNKSt3__124__libcpp_debug_exception4whatEv |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1Ev |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2Ev |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD0Ev |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD1Ev |
| Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD2Ev |
| Symbol removed: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE |
| Symbol removed: _ZTINSt3__124__libcpp_debug_exceptionE |
| Symbol removed: _ZTSNSt3__124__libcpp_debug_exceptionE |
| Symbol removed: _ZTVNSt3__124__libcpp_debug_exceptionE |
| |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E |
| Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv |
| |
| * r355367 - Fix -fsanitize=vptr badness in <__debug> |
| |
| This patch fixes a lifetime bug when inserting a new container into the debug database. It is |
| diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed |
| during insertion. |
| |
| The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI |
| stability from debug mode. |
| |
| |
| x86_64-unknown-linux-gnu |
| ------------------------ |
| Symbol added: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E |
| Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPv |
| |
| |
| x86_64-apple-apple-darwin |
| ------------------------- |
| Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E |
| Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv |
| |
| |
| ----------- |
| Version 8.0 |
| ----------- |
| |
| * r347903 - Remove std::bad_array_length |
| |
| The change removes the definition of std::bad_array_length (which never made |
| it into the standard) from the headers and the dylib. This is technically an |
| ABI break because the symbols are shipped starting with mac OSX 10.13, however |
| users couldn't be relying on the functionality because it is marked as being |
| unavailable using Clang's availability attribute. |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| Symbol removed: __ZNKSt16bad_array_length4whatEv |
| Symbol removed: __ZNKSt16bad_array_length4whatEv |
| Symbol removed: __ZNSt16bad_array_lengthC1Ev |
| Symbol removed: __ZNSt16bad_array_lengthC1Ev |
| Symbol removed: __ZNSt16bad_array_lengthC2Ev |
| Symbol removed: __ZNSt16bad_array_lengthC2Ev |
| Symbol removed: __ZNSt16bad_array_lengthD0Ev |
| Symbol removed: __ZNSt16bad_array_lengthD0Ev |
| Symbol removed: __ZNSt16bad_array_lengthD1Ev |
| Symbol removed: __ZNSt16bad_array_lengthD1Ev |
| Symbol removed: __ZNSt16bad_array_lengthD2Ev |
| Symbol removed: __ZNSt16bad_array_lengthD2Ev |
| Symbol removed: __ZTISt16bad_array_length |
| Symbol removed: __ZTISt16bad_array_length |
| Symbol removed: __ZTSSt16bad_array_length |
| Symbol removed: __ZTSSt16bad_array_length |
| Symbol removed: __ZTVSt16bad_array_length |
| Symbol removed: __ZTVSt16bad_array_length |
| |
| * r347395 - Making libc++ build under -fvisibility=hidden on Linux |
| |
| The change marks several function templates as hidden. This removes symbols |
| from the shared library, but this is not an ABI break because it's impossible |
| for programs linking against libc++.so to actually depend on that symbol. |
| The reason is that the symbol is exported from the shared library through |
| an implicit instantiation present in the shared object itself only. Furthermore, |
| if a user's shared object was implicitly instantiating one of these functions, |
| marking that symbol as hidden would not be an ABI break for them because none |
| of their users could actually be using the symbol in their dylib (because |
| it's an implicit instantiation). |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol removed: _ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_ |
| Symbol removed: _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_ |
| Symbol removed: _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_ |
| |
| * r345260 - Making libc++ build under -fvisibility=hidden on Mac OS |
| |
| The change marks __thread_specific_ptr<__thread_struct>::__at_thread_exit(void*) |
| with hidden visibility. This removes a symbol from the shared libraries, |
| however this is not an ABI break because it's impossible for programs linking |
| against libc++.dylib to actually depend on that symbol. The reason is that |
| the symbol is exported from the shared library through an implicit |
| instantiation present in the dylib itself only. Furthermore, if a user's |
| dylib was implicitly instantiating __thread_specific_ptr<T>::__at_thread_exit |
| (because it's defined in the headers), marking that symbol as hidden would |
| not be an ABI break for them because none of their users could actually be |
| using the symbol in their dylib (because it's an implicit instantiation). |
| |
| This change also marks __start_std_streams as hidden -- this variable is |
| only required to initialize the streams, and nobody should depend on it |
| from outside the dylib. |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol removed: _ZNSt3__121__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv |
| Symbol removed: _ZNSt3__119__start_std_streamsE |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| Symbol removed: __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv |
| Symbol removed: __ZNSt3__119__start_std_streamsE |
| |
| ----------- |
| Version 7.0 |
| ----------- |
| |
| * r338479 - Elementary string conversions for integral types |
| |
| The change emits __u64toa and __u32toa under std::__1::__itoa. |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol added: _ZNSt3__16__itoa8__u64toaEmPc |
| Symbol added: _ZNSt3__16__itoa8__u32toaEjPc |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| Symbol added: __ZNSt3__16__itoa8__u64toaEyPc |
| Symbol added: __ZNSt3__16__itoa8__u32toaEjPc |
| |
| |
| * r333467 - Fix embarrasing typo in uncaught_exceptions. |
| |
| This bug caused __uncaught_exception to be ODR used instead of |
| __uncaught_exceptions. This change is non-ABI breaking because the symbols |
| for std::uncaught_exception and std::uncaught_exceptions haven't changed, |
| and because users shouldn't be depending directly on libc++ exporting |
| __uncaught_exception/__uncaught_exceptions. |
| |
| All Platforms |
| ---------------- |
| SYMBOL REMOVED: __cxa_uncaught_exception |
| Symbol added: __cxa_uncaught_exceptions |
| |
| |
| ----------- |
| Version 5.0 |
| ----------- |
| |
| * r313500 - Fix undefined "___cxa_deleted_virtual" symbol in macosx |
| |
| x86_64-linux-gnu |
| ---------------- |
| No changes |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| Symbol added: ___cxa_deleted_virtual |
| |
| * r296729 - Remove std::num_get template methods which should be inline |
| |
| These functions should never have had visible definitions in the dylib but |
| since they were previously not specified with 'inline' they accidentally |
| got emitted. This change is non-ABI breaking because every "linkage unit" |
| must contain its own definition. |
| |
| x86_64-linux-gnu |
| ---------------- |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_ |
| SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_ |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| No changes |
| |
| ----------- |
| Version 4.0 |
| ----------- |
| |
| * r290651 - Add _LIBCPP_ASSERT debug handling functions |
| |
| All Platforms |
| ------------- |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionD1Ev |
| Symbol added: _ZTINSt3__124__libcpp_debug_exceptionE |
| Symbol added: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionD2Ev |
| Symbol added: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_ |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1Ev |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2Ev |
| Symbol added: _ZTSNSt3__124__libcpp_debug_exceptionE |
| Symbol added: _ZNSt3__123__libcpp_debug_functionE |
| Symbol added: _ZNKSt3__124__libcpp_debug_exception4whatEv |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_ |
| Symbol added: _ZNSt3__124__libcpp_debug_exceptionD0Ev |
| Symbol added: _ZTVNSt3__124__libcpp_debug_exceptionE |
| Symbol added: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE |
| |
| * r288547 - Implement C++17 <variant> |
| |
| All Platforms |
| ------------- |
| Symbol added: _ZTVSt18bad_variant_access |
| Symbol added: _ZTISt18bad_variant_access |
| Symbol added: _ZTSSt18bad_variant_access |
| Symbol added: _ZNKSt18bad_variant_access4whatEv |
| |
| * r285537 - Remove std::string::append template methods which should be inline |
| |
| These functions should never have had visible definitions in the dylib but |
| since they were previously not specified with 'inline' they accidentally |
| got emitted. This change is non-ABI breaking because every "linkage unit" |
| must contain its own definition. |
| |
| x86_64-linux-gnu |
| ---------------- |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_ |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| No changes |
| |
| * r285101 - Add -fvisibility-inlines-hidden when building libc++. |
| |
| Although this change removes symbols, it should still be non-ABI breaking |
| since all of the definitions removed are inline functions. For this reason |
| removing these symbols is safe because every "linkage unit" which uses these |
| functions will contain their own definition. |
| |
| x86_64-linux-gnu |
| ---------------- |
| SYMBOL REMOVED: _ZNSt12bad_any_castD0Ev |
| SYMBOL REMOVED: _ZNSt12experimental15fundamentals_v112bad_any_castD0Ev |
| SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IDiED0Ev |
| SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IDsED0Ev |
| SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IwED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDiLb0EED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDiLb1EED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDsLb0EED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDsLb1EED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IwLb0EED0Ev |
| SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IwLb1EED0Ev |
| SYMBOL REMOVED: _ZNSt3__117__assoc_sub_stateD0Ev |
| SYMBOL REMOVED: _ZNSt3__117__assoc_sub_stateD2Ev |
| SYMBOL REMOVED: _ZNSt3__117__libcpp_sscanf_lEPKcP15__locale_structS1_z |
| SYMBOL REMOVED: _ZNSt3__119__libcpp_asprintf_lEPPcP15__locale_structPKcz |
| SYMBOL REMOVED: _ZNSt3__119__libcpp_snprintf_lEPcmP15__locale_structPKcz |
| SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IDiED0Ev |
| SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IDsED0Ev |
| SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IwED0Ev |
| |
| x86_64-apple-darwin16.0 |
| ----------------------- |
| No Changes - inline symbols are already hidden |
| |
| |
| * r284206 - Implement C++17 aligned allocation in <new> |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol added: _ZdaPvSt11align_val_t |
| Symbol added: _ZdlPvSt11align_val_t |
| Symbol added: _ZnamSt11align_val_t |
| Symbol added: _ZdaPvmSt11align_val_t |
| Symbol added: _ZdlPvmSt11align_val_t |
| Symbol added: _ZdlPvSt11align_val_tRKSt9nothrow_t |
| Symbol added: _ZnwmSt11align_val_tRKSt9nothrow_t |
| Symbol added: _ZnamSt11align_val_tRKSt9nothrow_t |
| Symbol added: _ZdaPvSt11align_val_tRKSt9nothrow_t |
| Symbol added: _ZnwmSt11align_val_t |
| |
| * r283980 - Implement C++17 <optional> |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol added: _ZTISt19bad_optional_access |
| Symbol added: _ZNSt19bad_optional_accessD0Ev |
| Symbol added: _ZNSt19bad_optional_accessD1Ev |
| Symbol added: _ZNSt19bad_optional_accessD2Ev |
| Symbol added: _ZTVSt19bad_optional_access |
| Symbol added: _ZTSSt19bad_optional_access |
| |
| * r278310 - Implement C++17 <any> |
| |
| x86_64-linux-gnu |
| ---------------- |
| Symbol added: _ZNKSt12bad_any_cast4whatEv |
| Symbol added: _ZNSt12bad_any_castD0Ev |
| Symbol added: _ZTISt12bad_any_cast |
| Symbol added: _ZTSSt12bad_any_cast |
| Symbol added: _ZTVSt12bad_any_cast |
| |
| * r295398 - Remove basic_string::insert and basic_string::replace template methods |
| which should be inline. |
| |
| These functions should never have had visible definitions in the dylib but |
| since they were previously not specified with 'inline' they accidentally |
| got emitted. This change is non-ABI breaking because every "linkage unit" |
| must contain its own definition. |
| |
| x86_64-linux-gnu |
| ---------------- |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertIPKcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPcEEE4typeENSB_IS8_EESA_SA_ |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertIPKwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorISA_EE5valueENS_11__wrap_iterIPwEEE4typeENSB_IS8_EESA_SA_ |
| SYMBOL REMOVED: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_ |