llvm-project/libcxx/lib/abi/CHANGELOG.TXT

105 lines
4.2 KiB
Plaintext
Raw Normal View History

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 use "sym_diff.py" diffing against the appropriate ABI list.
Afterwards the ABI list should be updated to include the new changes.
New entries should be added directly below the "Version" header.
-----------
Version 4.0
-----------
* rTBD - 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: posix_memalign@GLIBC_2.2.5
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