Home | History | Annotate | Line # | Download | only in abi
      1 ABI Changelog
      2 ==============
      3 This changelog contains information about ABI changes in libc++. Specifically
      4 the addition and deletion of symbols from the libc++ dylib.
      5 
      6 Each entry should start with the revision number followed by a description of
      7 the change. The entry should contain a summary of the ABI changes made,
      8 including what symbols were added, removed, or changed.
      9 
     10 To generate a summary, re-generate the new ABI list using the
     11 `generate-cxx-abilist` target, and look at the diff.
     12 
     13 New entries should be added directly below the "Version" header.
     14 
     15 ------------
     16 Version 12.0
     17 ------------
     18 
     19 * [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname.
     20 
     21   This commit added new instantiations with char8_t for classes codecvt and
     22   codecvt_byname in <locale> in the library.
     23 
     24   x86_64-apple-apple-darwin
     25   -------------------------
     26   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_
     27   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv
     28   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv
     29   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv
     30   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_
     31   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_
     32   Symbol added: __ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m
     33   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_
     34   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv
     35   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv
     36   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv
     37   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_
     38   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_
     39   Symbol added: __ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m
     40   Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev
     41   Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev
     42   Symbol added: __ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev
     43   Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev
     44   Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev
     45   Symbol added: __ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev
     46   Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tE2idE
     47   Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev
     48   Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev
     49   Symbol added: __ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev
     50   Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tE2idE
     51   Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev
     52   Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev
     53   Symbol added: __ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev
     54   Symbol added: __ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE
     55   Symbol added: __ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE
     56   Symbol added: __ZTINSt3__17codecvtIDiDu11__mbstate_tEE
     57   Symbol added: __ZTINSt3__17codecvtIDsDu11__mbstate_tEE
     58   Symbol added: __ZTSNSt3__17codecvtIDiDu11__mbstate_tEE
     59   Symbol added: __ZTSNSt3__17codecvtIDsDu11__mbstate_tEE
     60   Symbol added: __ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE
     61   Symbol added: __ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE
     62   Symbol added: __ZTVNSt3__17codecvtIDiDu11__mbstate_tEE
     63   Symbol added: __ZTVNSt3__17codecvtIDsDu11__mbstate_tEE
     64 
     65   x86_64-unknown-linux-gnu
     66   ------------------------
     67   Symbol added: _ZTINSt3__17codecvtIDsDu11__mbstate_tEE
     68   Symbol added: _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE
     69   Symbol added: _ZTINSt3__17codecvtIDiDu11__mbstate_tEE
     70   Symbol added: _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE
     71   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE9do_lengthERS1_PKDuS5_m
     72   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv
     73   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE
     74   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv
     75   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv
     76   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE
     77   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_
     78   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev
     79   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_
     80   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev
     81   Symbol added: _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE
     82   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev
     83   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev
     84   Symbol added: _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE
     85   Symbol added: _ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev
     86   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev
     87   Symbol added: _ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev
     88   Symbol added: _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE
     89   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv
     90   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev
     91   Symbol added: _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE
     92   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv
     93   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev
     94   Symbol added: _ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev
     95   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev
     96   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE9do_lengthERS1_PKDuS5_m
     97   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_
     98   Symbol added: _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE
     99   Symbol added: _ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev
    100   Symbol added: _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE
    101   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_
    102   Symbol added: _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE
    103   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv
    104   Symbol added: _ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_
    105   Symbol added: _ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_
    106   Symbol added: _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE
    107 
    108 * XXXXXXX - [libc++] Instantiate additional <iostream> members in the dylib
    109 
    110   This commit added new explicit instantiations for classes in <iostream> in
    111   the library. This was done after noticing that many programs that used streams
    112   ended up containing weak definitions of these classes, which has a negative
    113   impact on both code size and load times. This change is not an ABI break,
    114   since we are just adding additional symbols.
    115 
    116   x86_64-apple-apple-darwin
    117   -------------------------
    118   Symbol added: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv
    119   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv
    120   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv
    121   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj
    122   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_
    123   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv
    124   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv
    125   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE
    126   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl
    127   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj
    128   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj
    129   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi
    130   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi
    131   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv
    132   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_
    133   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev
    134   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_
    135   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev
    136   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev
    137   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev
    138   Symbol added: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev
    139   Symbol added: __ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj
    140   Symbol added: __ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj
    141   Symbol added: __ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj
    142   Symbol added: __ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj
    143   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE
    144   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_
    145   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj
    146   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi
    147   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi
    148   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv
    149   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_
    150   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_
    151   Symbol added: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    152   Symbol added: __ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    153   Symbol added: __ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    154   Symbol added: __ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    155   Symbol added: __ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE
    156   Symbol added: __ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE
    157   Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
    158   Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE
    159   Symbol added: __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE
    160   Symbol added: __ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
    161   Symbol added: __ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE
    162   Symbol added: __ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    163   Symbol added: __ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    164   Symbol added: __ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    165   Symbol added: __ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    166   Symbol added: __ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    167   Symbol added: __ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    168   Symbol added: __ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    169   Symbol added: __ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    170   Symbol added: __ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    171   Symbol added: __ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    172   Symbol added: __ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    173   Symbol added: __ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    174   Symbol added: __ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    175   Symbol added: __ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    176   Symbol added: __ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    177   Symbol added: __ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    178   Symbol added: __ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    179   Symbol added: __ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    180   Symbol added: __ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    181   Symbol added: __ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    182   Symbol added: __ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    183   Symbol added: __ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    184   Symbol added: __ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    185   Symbol added: __ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    186   Symbol added: __ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    187   Symbol added: __ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    188 
    189   x86_64-unknown-linux-gnu
    190   ------------------------
    191   Symbol added: _ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv
    192   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv
    193   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv
    194   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj
    195   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_
    196   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv
    197   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv
    198   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE
    199   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE6setbufEPcl
    200   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj
    201   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj
    202   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi
    203   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi
    204   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv
    205   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_
    206   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev
    207   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_
    208   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev
    209   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev
    210   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev
    211   Symbol added: _ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev
    212   Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj
    213   Symbol added: _ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj
    214   Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj
    215   Symbol added: _ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj
    216   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE
    217   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_
    218   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj
    219   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi
    220   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi
    221   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv
    222   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_
    223   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_
    224   Symbol added: _ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    225   Symbol added: _ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    226   Symbol added: _ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    227   Symbol added: _ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_
    228   Symbol added: _ZTCNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE
    229   Symbol added: _ZTCNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE0_NS_13basic_ostreamIcS2_EE
    230   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
    231   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE
    232   Symbol added: _ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE
    233   Symbol added: _ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
    234   Symbol added: _ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE
    235   Symbol added: _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    236   Symbol added: _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    237   Symbol added: _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    238   Symbol added: _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    239   Symbol added: _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    240   Symbol added: _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    241   Symbol added: _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    242   Symbol added: _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    243   Symbol added: _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    244   Symbol added: _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    245   Symbol added: _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    246   Symbol added: _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    247   Symbol added: _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    248   Symbol added: _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    249   Symbol added: _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    250   Symbol added: _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    251   Symbol added: _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    252   Symbol added: _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    253   Symbol added: _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    254   Symbol added: _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE
    255   Symbol added: _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE
    256   Symbol added: _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
    257   Symbol added: _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    258   Symbol added: _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    259   Symbol added: _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    260   Symbol added: _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
    261 
    262 * 9b40ee8eb0c1 - [libc++] Define new/delete in libc++abi only by default
    263 
    264   By default, libc++ does not include the definition for new and delete anymore.
    265   Those were previously defined in both libc++ and libc++abi, which was an
    266   ODR violation.
    267 
    268   x86_64-apple-apple-darwin
    269   -------------------------
    270   The following symbols are now re-exported from libc++abi instead of exported
    271   by libc++ directly (this should not be an ABI break):
    272 
    273   Symbol moved: __ZdaPv
    274   Symbol moved: __ZdaPvm
    275   Symbol moved: __ZdaPvmSt11align_val_t
    276   Symbol moved: __ZdaPvRKSt9nothrow_t
    277   Symbol moved: __ZdaPvSt11align_val_t
    278   Symbol moved: __ZdaPvSt11align_val_tRKSt9nothrow_t
    279   Symbol moved: __ZdlPv
    280   Symbol moved: __ZdlPvm
    281   Symbol moved: __ZdlPvmSt11align_val_t
    282   Symbol moved: __ZdlPvRKSt9nothrow_t
    283   Symbol moved: __ZdlPvSt11align_val_t
    284   Symbol moved: __ZdlPvSt11align_val_tRKSt9nothrow_t
    285   Symbol moved: __Znam
    286   Symbol moved: __ZnamRKSt9nothrow_t
    287   Symbol moved: __ZnamSt11align_val_t
    288   Symbol moved: __ZnamSt11align_val_tRKSt9nothrow_t
    289   Symbol moved: __Znwm
    290   Symbol moved: __ZnwmRKSt9nothrow_t
    291   Symbol moved: __ZnwmSt11align_val_t
    292   Symbol moved: __ZnwmSt11align_val_tRKSt9nothrow_t
    293 
    294   x86_64-unknown-linux-gnu
    295   ------------------------
    296   The following symbols were moved to libc++abi, but are NOT being re-exported
    297   by libc++. This constitutes an ABI break if one links against libc++ but
    298   not libc++abi.
    299 
    300   Symbol moved: _ZdaPv
    301   Symbol moved: _ZdaPvm
    302   Symbol moved: _ZdaPvmSt11align_val_t
    303   Symbol moved: _ZdaPvRKSt9nothrow_t
    304   Symbol moved: _ZdaPvSt11align_val_t
    305   Symbol moved: _ZdaPvSt11align_val_tRKSt9nothrow_t
    306   Symbol moved: _ZdlPv
    307   Symbol moved: _ZdlPvm
    308   Symbol moved: _ZdlPvmSt11align_val_t
    309   Symbol moved: _ZdlPvRKSt9nothrow_t
    310   Symbol moved: _ZdlPvSt11align_val_t
    311   Symbol moved: _ZdlPvSt11align_val_tRKSt9nothrow_t
    312   Symbol moved: _Znam
    313   Symbol moved: _ZnamRKSt9nothrow_t
    314   Symbol moved: _ZnamSt11align_val_t
    315   Symbol moved: _ZnamSt11align_val_tRKSt9nothrow_t
    316   Symbol moved: _Znwm
    317   Symbol moved: _ZnwmRKSt9nothrow_t
    318   Symbol moved: _ZnwmSt11align_val_t
    319   Symbol moved: _ZnwmSt11align_val_tRKSt9nothrow_t
    320 
    321 * 4f13b9992971 - [libc++] Simplify how we re-export symbols from libc++abi
    322 
    323   We re-export some symbols that were exported from libc++abi but not from
    324   libc++. Exporting new symbols is not an ABI break.
    325 
    326   x86_64-apple-apple-darwin
    327   -------------------------
    328   Symbol added: ___cxa_allocate_dependent_exception
    329   Symbol added: ___cxa_free_dependent_exception
    330 
    331 ------------
    332 Version 10.0
    333 ------------
    334 
    335 * 54fa9ecd3088 - [libc++] Implementation of C++20's P1135R6 for libcxx
    336 
    337   libc++ now implements P1135R6 (The C++20 Synchronization Library), which
    338   adds a few symbols to the dylib. This is backwards-compatible since we're
    339   just adding new symbols.
    340 
    341   x86_64-unknown-linux-gnu
    342   ------------------------
    343   TODO
    344 
    345   x86_64-apple-apple-darwin
    346   -------------------------
    347   Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx
    348   Symbol added: __ZNSt3__120__libcpp_atomic_waitEPVKvx
    349   Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
    350   Symbol added: __ZNSt3__123__cxx_atomic_notify_allEPVKv
    351   Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
    352   Symbol added: __ZNSt3__123__cxx_atomic_notify_oneEPVKv
    353   Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE
    354   Symbol added: __ZNSt3__123__libcpp_atomic_monitorEPVKv
    355   Symbol added: __ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh
    356   Symbol added: __ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE
    357   Symbol added: __ZNSt3__134__construct_barrier_algorithm_baseERl
    358 
    359 -----------
    360 Version 9.0
    361 -----------
    362 
    363 * r358690 - Re-rexport missing symbols from libc++abi
    364 
    365   libc++ now re-exports `__cxa_throw_bad_array_new_length` and `__cxa_uncaught_exceptions`,
    366   both of which are provided by libc++abi. This is not an ABI break because
    367   we're just adding symbols. Also, this does mean that libc++ can't be linked
    368   against an older version of libc++abi that doesn't provide those symbols,
    369   however doing so is not supported anyway.
    370 
    371   x86_64-unknown-linux-gnu
    372   ------------------------
    373   TODO
    374 
    375   x86_64-apple-apple-darwin
    376   -------------------------
    377   Symbol added: ___cxa_throw_bad_array_new_length
    378   Symbol added: ___cxa_uncaught_exceptions
    379 
    380 * r356518 - Integrate <filesystem> support into the shared library
    381 
    382   This patch introduces support for <filesystem> into the shared library,
    383   instead of requiring users to manually link against a static archive. As
    384   such, new symbols required to implement <filesystem> are exported from
    385   the shared library.
    386 
    387   x86_64-unknown-linux-gnu
    388   ------------------------
    389   Symbol added: _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv
    390   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv
    391   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv
    392   Symbol added: _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv
    393   Symbol added: _ZNKSt3__14__fs10filesystem4path10__filenameEv
    394   Symbol added: _ZNKSt3__14__fs10filesystem4path11__extensionEv
    395   Symbol added: _ZNKSt3__14__fs10filesystem4path11__root_nameEv
    396   Symbol added: _ZNKSt3__14__fs10filesystem4path13__parent_pathEv
    397   Symbol added: _ZNKSt3__14__fs10filesystem4path15__relative_pathEv
    398   Symbol added: _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv
    399   Symbol added: _ZNKSt3__14__fs10filesystem4path16__root_directoryEv
    400   Symbol added: _ZNKSt3__14__fs10filesystem4path16lexically_normalEv
    401   Symbol added: _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_
    402   Symbol added: _ZNKSt3__14__fs10filesystem4path3endEv
    403   Symbol added: _ZNKSt3__14__fs10filesystem4path5beginEv
    404   Symbol added: _ZNKSt3__14__fs10filesystem4path6__stemEv
    405   Symbol added: _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE
    406   Symbol added: _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE
    407   Symbol added: _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE
    408   Symbol added: _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE
    409   Symbol added: _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE
    410   Symbol added: _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE
    411   Symbol added: _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE
    412   Symbol added: _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE
    413   Symbol added: _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE
    414   Symbol added: _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE
    415   Symbol added: _ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE
    416   Symbol added: _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE
    417   Symbol added: _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE
    418   Symbol added: _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE
    419   Symbol added: _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE
    420   Symbol added: _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv
    421   Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv
    422   Symbol added: _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE
    423   Symbol added: _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE
    424   Symbol added: _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE
    425   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi
    426   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev
    427   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev
    428   Symbol added: _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev
    429   Symbol added: _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE
    430   Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE
    431   Symbol added: _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE
    432   Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE
    433   Symbol added: _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE
    434   Symbol added: _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE
    435   Symbol added: _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE
    436   Symbol added: _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE
    437   Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE
    438   Symbol added: _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE
    439   Symbol added: _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE
    440   Symbol added: _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE
    441   Symbol added: _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE
    442   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE
    443   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE
    444   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE
    445   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE
    446   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE
    447   Symbol added: _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE
    448   Symbol added: _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_
    449   Symbol added: _ZNSt3__14__fs10filesystem4path19preferred_separatorE
    450   Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv
    451   Symbol added: _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv
    452   Symbol added: _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE
    453   Symbol added: _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE
    454   Symbol added: _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE
    455   Symbol added: _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE
    456   Symbol added: _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE
    457   Symbol added: _ZTINSt3__14__fs10filesystem16filesystem_errorE
    458   Symbol added: _ZTSNSt3__14__fs10filesystem16filesystem_errorE
    459   Symbol added: _ZTVNSt3__14__fs10filesystem16filesystem_errorE
    460 
    461   x86_64-apple-apple-darwin
    462   -------------------------
    463   Symbol added: __ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv
    464   Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv
    465   Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv
    466   Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv
    467   Symbol added: __ZNKSt3__14__fs10filesystem4path10__filenameEv
    468   Symbol added: __ZNKSt3__14__fs10filesystem4path11__extensionEv
    469   Symbol added: __ZNKSt3__14__fs10filesystem4path11__root_nameEv
    470   Symbol added: __ZNKSt3__14__fs10filesystem4path13__parent_pathEv
    471   Symbol added: __ZNKSt3__14__fs10filesystem4path15__relative_pathEv
    472   Symbol added: __ZNKSt3__14__fs10filesystem4path15__root_path_rawEv
    473   Symbol added: __ZNKSt3__14__fs10filesystem4path16__root_directoryEv
    474   Symbol added: __ZNKSt3__14__fs10filesystem4path16lexically_normalEv
    475   Symbol added: __ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_
    476   Symbol added: __ZNKSt3__14__fs10filesystem4path3endEv
    477   Symbol added: __ZNKSt3__14__fs10filesystem4path5beginEv
    478   Symbol added: __ZNKSt3__14__fs10filesystem4path6__stemEv
    479   Symbol added: __ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE
    480   Symbol added: __ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE
    481   Symbol added: __ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE
    482   Symbol added: __ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE
    483   Symbol added: __ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE
    484   Symbol added: __ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE
    485   Symbol added: __ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE
    486   Symbol added: __ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE
    487   Symbol added: __ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE
    488   Symbol added: __ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE
    489   Symbol added: __ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE
    490   Symbol added: __ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE
    491   Symbol added: __ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE
    492   Symbol added: __ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE
    493   Symbol added: __ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE
    494   Symbol added: __ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv
    495   Symbol added: __ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE
    496   Symbol added: __ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE
    497   Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv
    498   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi
    499   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD0Ev
    500   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD1Ev
    501   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD2Ev
    502   Symbol added: __ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE
    503   Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE
    504   Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv
    505   Symbol added: __ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv
    506   Symbol added: __ZNKSt3__14__fs10filesystem4path10__filenameEv
    507   Symbol added: __ZNKSt3__14__fs10filesystem4path11__extensionEv
    508   Symbol added: __ZNKSt3__14__fs10filesystem4path11__root_nameEv
    509   Symbol added: __ZNKSt3__14__fs10filesystem4path13__parent_pathEv
    510   Symbol added: __ZNKSt3__14__fs10filesystem4path15__relative_pathEv
    511   Symbol added: __ZNKSt3__14__fs10filesystem4path15__root_path_rawEv
    512   Symbol added: __ZNKSt3__14__fs10filesystem4path16__root_directoryEv
    513   Symbol added: __ZNKSt3__14__fs10filesystem4path16lexically_normalEv
    514   Symbol added: __ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_
    515   Symbol added: __ZNKSt3__14__fs10filesystem4path3endEv
    516   Symbol added: __ZNKSt3__14__fs10filesystem4path5beginEv
    517   Symbol added: __ZNKSt3__14__fs10filesystem4path6__stemEv
    518   Symbol added: __ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE
    519   Symbol added: __ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE
    520   Symbol added: __ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE
    521   Symbol added: __ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE
    522   Symbol added: __ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE
    523   Symbol added: __ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE
    524   Symbol added: __ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE
    525   Symbol added: __ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE
    526   Symbol added: __ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE
    527   Symbol added: __ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE
    528   Symbol added: __ZNSt3__14__fs10filesystem13__resize_fileERKNS1_4pathEmPNS_10error_codeE
    529   Symbol added: __ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE
    530   Symbol added: __ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE
    531   Symbol added: __ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE
    532   Symbol added: __ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE
    533   Symbol added: __ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv
    534   Symbol added: __ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE
    535   Symbol added: __ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE
    536   Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv
    537   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi
    538   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD0Ev
    539   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD1Ev
    540   Symbol added: __ZNSt3__14__fs10filesystem16filesystem_errorD2Ev
    541   Symbol added: __ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE
    542   Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationInNS_5ratioILl1ELl1000000000EEEEEEEPNS_10error_codeE
    543   Symbol added: __ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE
    544   Symbol added: __ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE
    545   Symbol added: __ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE
    546   Symbol added: __ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE
    547   Symbol added: __ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE
    548   Symbol added: __ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE
    549   Symbol added: __ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE
    550   Symbol added: __ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE
    551   Symbol added: __ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE
    552   Symbol added: __ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE
    553   Symbol added: __ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE
    554   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE
    555   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE
    556   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE
    557   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE
    558   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE
    559   Symbol added: __ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE
    560   Symbol added: __ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_
    561   Symbol added: __ZNSt3__14__fs10filesystem4path8iterator11__decrementEv
    562   Symbol added: __ZNSt3__14__fs10filesystem4path8iterator11__incrementEv
    563   Symbol added: __ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE
    564   Symbol added: __ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE
    565   Symbol added: __ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE
    566   Symbol added: __ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE
    567   Symbol added: __ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE
    568   Symbol added: __ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE
    569   Symbol added: __ZNSt3__14__fs10filesystem4path19preferred_separatorE
    570   Symbol added: __ZTINSt3__14__fs10filesystem16filesystem_errorE
    571   Symbol added: __ZTSNSt3__14__fs10filesystem16filesystem_errorE
    572   Symbol added: __ZTVNSt3__14__fs10filesystem16filesystem_errorE
    573 
    574 * r356417 - Remove exception throwing debug mode handler support.
    575 
    576   The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically,
    577   I thought that if a debug violation aborted, we could only test one violation per file. This made
    578   it impossible to test debug mode. Which throwing behavior we could test more!
    579 
    580   However, the throwing approach didn't work either, since there are debug violations underneath noexcept
    581   functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug
    582   mode was off.
    583 
    584   Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was
    585   viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst
    586   changing the behavior of their program.
    587 
    588   This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style
    589   death tests.
    590 
    591   All Platforms (ignoring versioning namespaces)
    592   ----------------------------------------------
    593   Symbol added: _ZNKSt3__119__libcpp_debug_info4whatEv
    594   Symbol removed: _ZNKSt3__124__libcpp_debug_exception4whatEv
    595   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE
    596   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_
    597   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC1Ev
    598   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE
    599   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_
    600   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionC2Ev
    601   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD0Ev
    602   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD1Ev
    603   Symbol removed: _ZNSt3__124__libcpp_debug_exceptionD2Ev
    604   Symbol removed: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE
    605   Symbol removed: _ZTINSt3__124__libcpp_debug_exceptionE
    606   Symbol removed: _ZTSNSt3__124__libcpp_debug_exceptionE
    607   Symbol removed: _ZTVNSt3__124__libcpp_debug_exceptionE
    608 
    609 
    610     x86_64-apple-apple-darwin
    611     -------------------------
    612     Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E
    613     Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv
    614 
    615 * r355367 - Fix -fsanitize=vptr badness in <__debug>
    616 
    617   This patch fixes a lifetime bug when inserting a new container into the debug database. It is
    618   diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed
    619   during insertion.
    620 
    621   The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI
    622   stability from debug mode.
    623 
    624 
    625   x86_64-unknown-linux-gnu
    626   ------------------------
    627   Symbol added: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E
    628   Symbol removed: _ZNSt3__111__libcpp_db10__insert_cEPv
    629 
    630 
    631   x86_64-apple-apple-darwin
    632   -------------------------
    633   Symbol added: __ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E
    634   Symbol removed: __ZNSt3__111__libcpp_db10__insert_cEPv
    635 
    636 
    637 -----------
    638 Version 8.0
    639 -----------
    640 
    641 * r347903 - Remove std::bad_array_length
    642 
    643   The change removes the definition of std::bad_array_length (which never made
    644   it into the standard) from the headers and the dylib. This is technically an
    645   ABI break because the symbols are shipped starting with mac OSX 10.13, however
    646   users couldn't be relying on the functionality because it is marked as being
    647   unavailable using Clang's availability attribute.
    648 
    649   x86_64-apple-darwin16.0
    650   -----------------------
    651   Symbol removed: __ZNKSt16bad_array_length4whatEv
    652   Symbol removed: __ZNKSt16bad_array_length4whatEv
    653   Symbol removed: __ZNSt16bad_array_lengthC1Ev
    654   Symbol removed: __ZNSt16bad_array_lengthC1Ev
    655   Symbol removed: __ZNSt16bad_array_lengthC2Ev
    656   Symbol removed: __ZNSt16bad_array_lengthC2Ev
    657   Symbol removed: __ZNSt16bad_array_lengthD0Ev
    658   Symbol removed: __ZNSt16bad_array_lengthD0Ev
    659   Symbol removed: __ZNSt16bad_array_lengthD1Ev
    660   Symbol removed: __ZNSt16bad_array_lengthD1Ev
    661   Symbol removed: __ZNSt16bad_array_lengthD2Ev
    662   Symbol removed: __ZNSt16bad_array_lengthD2Ev
    663   Symbol removed: __ZTISt16bad_array_length
    664   Symbol removed: __ZTISt16bad_array_length
    665   Symbol removed: __ZTSSt16bad_array_length
    666   Symbol removed: __ZTSSt16bad_array_length
    667   Symbol removed: __ZTVSt16bad_array_length
    668   Symbol removed: __ZTVSt16bad_array_length
    669 
    670 * r347395 - Making libc++ build under -fvisibility=hidden on Linux
    671 
    672   The change marks several function templates as hidden. This removes symbols
    673   from the shared library, but this is not an ABI break because it's impossible
    674   for programs linking against libc++.so to actually depend on that symbol.
    675   The reason is that the symbol is exported from the shared library through
    676   an implicit instantiation present in the shared object itself only. Furthermore,
    677   if a user's shared object was implicitly instantiating one of these functions,
    678   marking that symbol as hidden would not be an ABI break for them because none
    679   of their users could actually be using the symbol in their dylib (because
    680   it's an implicit instantiation).
    681 
    682   x86_64-linux-gnu
    683   ----------------
    684   Symbol removed: _ZNSt3__125__num_get_signed_integralIlEET_PKcS3_Rji
    685   Symbol removed: _ZNSt3__125__num_get_signed_integralIxEET_PKcS3_Rji
    686   Symbol removed: _ZNSt3__127__num_get_unsigned_integralIjEET_PKcS3_Rji
    687   Symbol removed: _ZNSt3__127__num_get_unsigned_integralImEET_PKcS3_Rji
    688   Symbol removed: _ZNSt3__127__num_get_unsigned_integralItEET_PKcS3_Rji
    689   Symbol removed: _ZNSt3__127__num_get_unsigned_integralIyEET_PKcS3_Rji
    690   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIaaEEPaEEjT0_S5_S5_S5_S5_T_
    691   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIccEEPcEEjT0_S5_S5_S5_S5_T_
    692   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIddEEPdEEjT0_S5_S5_S5_S5_T_
    693   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIffEEPfEEjT0_S5_S5_S5_S5_T_
    694   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIhhEEPhEEjT0_S5_S5_S5_S5_T_
    695   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIiiEEPiEEjT0_S5_S5_S5_S5_T_
    696   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIjjEEPjEEjT0_S5_S5_S5_S5_T_
    697   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIllEEPlEEjT0_S5_S5_S5_S5_T_
    698   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessImmEEPmEEjT0_S5_S5_S5_S5_T_
    699   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIssEEPsEEjT0_S5_S5_S5_S5_T_
    700   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIttEEPtEEjT0_S5_S5_S5_S5_T_
    701   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIwwEEPwEEjT0_S5_S5_S5_S5_T_
    702   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIxxEEPxEEjT0_S5_S5_S5_S5_T_
    703   Symbol removed: _ZNSt3__17__sort5IRNS_6__lessIyyEEPyEEjT0_S5_S5_S5_S5_T_
    704   Symbol removed: _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_
    705   Symbol removed: _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_
    706 
    707 * r345260 - Making libc++ build under -fvisibility=hidden on Mac OS
    708 
    709   The change marks __thread_specific_ptr<__thread_struct>::__at_thread_exit(void*)
    710   with hidden visibility. This removes a symbol from the shared libraries,
    711   however this is not an ABI break because it's impossible for programs linking
    712   against libc++.dylib to actually depend on that symbol. The reason is that
    713   the symbol is exported from the shared library through an implicit
    714   instantiation present in the dylib itself only. Furthermore, if a user's
    715   dylib was implicitly instantiating __thread_specific_ptr<T>::__at_thread_exit
    716   (because it's defined in the headers), marking that symbol as hidden would
    717   not be an ABI break for them because none of their users could actually be
    718   using the symbol in their dylib (because it's an implicit instantiation).
    719 
    720   This change also marks __start_std_streams as hidden -- this variable is
    721   only required to initialize the streams, and nobody should depend on it
    722   from outside the dylib.
    723 
    724   x86_64-linux-gnu
    725   ----------------
    726   Symbol removed: _ZNSt3__121__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv
    727   Symbol removed: _ZNSt3__119__start_std_streamsE
    728 
    729   x86_64-apple-darwin16.0
    730   -----------------------
    731   Symbol removed: __ZNSt3__221__thread_specific_ptrINS_15__thread_structEE16__at_thread_exitEPv
    732   Symbol removed: __ZNSt3__119__start_std_streamsE
    733 
    734 -----------
    735 Version 7.0
    736 -----------
    737 
    738 * r338479 - Elementary string conversions for integral types
    739 
    740   The change emits __u64toa and __u32toa under std::__1::__itoa.
    741 
    742   x86_64-linux-gnu
    743   ----------------
    744   Symbol added: _ZNSt3__16__itoa8__u64toaEmPc
    745   Symbol added: _ZNSt3__16__itoa8__u32toaEjPc
    746 
    747   x86_64-apple-darwin16.0
    748   -----------------------
    749   Symbol added: __ZNSt3__16__itoa8__u64toaEyPc
    750   Symbol added: __ZNSt3__16__itoa8__u32toaEjPc
    751 
    752 
    753 * r333467 - Fix embarrasing typo in uncaught_exceptions.
    754 
    755   This bug caused __uncaught_exception to be ODR used instead of
    756   __uncaught_exceptions. This change is non-ABI breaking because the symbols
    757   for std::uncaught_exception and std::uncaught_exceptions haven't changed,
    758   and because users shouldn't be depending directly on libc++ exporting
    759   __uncaught_exception/__uncaught_exceptions.
    760 
    761   All Platforms
    762   ----------------
    763   SYMBOL REMOVED: __cxa_uncaught_exception
    764   Symbol added: __cxa_uncaught_exceptions
    765 
    766 
    767 -----------
    768 Version 5.0
    769 -----------
    770 
    771 * r313500 - Fix undefined "___cxa_deleted_virtual" symbol in macosx
    772 
    773   x86_64-linux-gnu
    774   ----------------
    775   No changes
    776 
    777   x86_64-apple-darwin16.0
    778   -----------------------
    779   Symbol added: ___cxa_deleted_virtual
    780 
    781 * r296729 - Remove std::num_get template methods which should be inline
    782 
    783   These functions should never have had visible definitions in the dylib but
    784   since they were previously not specified with 'inline' they accidentally
    785   got emitted. This change is non-ABI breaking because every "linkage unit"
    786   must contain its own definition.
    787 
    788   x86_64-linux-gnu
    789   ----------------
    790   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_
    791   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_
    792   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_
    793   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_
    794   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_
    795   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_
    796   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_
    797   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_
    798   SYMBOL REMOVED: _ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_
    799   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_
    800   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_
    801   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_
    802   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_
    803   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_
    804   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_
    805   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_
    806   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_
    807   SYMBOL REMOVED: _ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_
    808 
    809   x86_64-apple-darwin16.0
    810   -----------------------
    811   No changes
    812 
    813 -----------
    814 Version 4.0
    815 -----------
    816 
    817 * r290651 - Add _LIBCPP_ASSERT debug handling functions
    818 
    819   All Platforms
    820   -------------
    821   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKNS_19__libcpp_debug_infoE
    822   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD1Ev
    823   Symbol added: _ZTINSt3__124__libcpp_debug_exceptionE
    824   Symbol added: _ZNSt3__129__libcpp_throw_debug_functionERKNS_19__libcpp_debug_infoE
    825   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD2Ev
    826   Symbol added: _ZNSt3__129__libcpp_abort_debug_functionERKNS_19__libcpp_debug_infoE
    827   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2ERKS0_
    828   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1Ev
    829   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKNS_19__libcpp_debug_infoE
    830   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC2Ev
    831   Symbol added: _ZTSNSt3__124__libcpp_debug_exceptionE
    832   Symbol added: _ZNSt3__123__libcpp_debug_functionE
    833   Symbol added: _ZNKSt3__124__libcpp_debug_exception4whatEv
    834   Symbol added: _ZNSt3__124__libcpp_debug_exceptionC1ERKS0_
    835   Symbol added: _ZNSt3__124__libcpp_debug_exceptionD0Ev
    836   Symbol added: _ZTVNSt3__124__libcpp_debug_exceptionE
    837   Symbol added: _ZNSt3__127__libcpp_set_debug_functionEPFvRKNS_19__libcpp_debug_infoEE
    838 
    839 * r288547 - Implement C++17 <variant>
    840 
    841   All Platforms
    842   -------------
    843   Symbol added: _ZTVSt18bad_variant_access
    844   Symbol added: _ZTISt18bad_variant_access
    845   Symbol added: _ZTSSt18bad_variant_access
    846   Symbol added: _ZNKSt18bad_variant_access4whatEv
    847 
    848 * r285537 - Remove std::string::append template methods which should be inline
    849 
    850   These functions should never have had visible definitions in the dylib but
    851   since they were previously not specified with 'inline' they accidentally
    852   got emitted. This change is non-ABI breaking because every "linkage unit"
    853   must contain its own definition.
    854 
    855   x86_64-linux-gnu
    856   ----------------
    857   SYMBOL REMOVED: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendIPcEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_
    858   SYMBOL REMOVED: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendIPwEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr38__libcpp_string_gets_noexcept_iteratorIS9_EE5valueERS5_E4typeES9_S9_
    859 
    860   x86_64-apple-darwin16.0
    861   -----------------------
    862   No changes
    863 
    864 * r285101 - Add -fvisibility-inlines-hidden when building libc++.
    865 
    866   Although this change removes symbols, it should still be non-ABI breaking
    867   since all of the definitions removed are inline functions. For this reason
    868   removing these symbols is safe because every "linkage unit" which uses these
    869   functions will contain their own definition.
    870 
    871   x86_64-linux-gnu
    872   ----------------
    873   SYMBOL REMOVED: _ZNSt12bad_any_castD0Ev
    874   SYMBOL REMOVED: _ZNSt12experimental15fundamentals_v112bad_any_castD0Ev
    875   SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IDiED0Ev
    876   SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IDsED0Ev
    877   SYMBOL REMOVED: _ZNSt3__114__codecvt_utf8IwED0Ev
    878   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDiLb0EED0Ev
    879   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDiLb1EED0Ev
    880   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDsLb0EED0Ev
    881   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IDsLb1EED0Ev
    882   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IwLb0EED0Ev
    883   SYMBOL REMOVED: _ZNSt3__115__codecvt_utf16IwLb1EED0Ev
    884   SYMBOL REMOVED: _ZNSt3__117__assoc_sub_stateD0Ev
    885   SYMBOL REMOVED: _ZNSt3__117__assoc_sub_stateD2Ev
    886   SYMBOL REMOVED: _ZNSt3__117__libcpp_sscanf_lEPKcP15__locale_structS1_z
    887   SYMBOL REMOVED: _ZNSt3__119__libcpp_asprintf_lEPPcP15__locale_structPKcz
    888   SYMBOL REMOVED: _ZNSt3__119__libcpp_snprintf_lEPcmP15__locale_structPKcz
    889   SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IDiED0Ev
    890   SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IDsED0Ev
    891   SYMBOL REMOVED: _ZNSt3__120__codecvt_utf8_utf16IwED0Ev
    892 
    893   x86_64-apple-darwin16.0
    894   -----------------------
    895   No Changes - inline symbols are already hidden
    896 
    897 
    898 * r284206 - Implement C++17 aligned allocation in <new>
    899 
    900   x86_64-linux-gnu
    901   ----------------
    902   Symbol added: _ZdaPvSt11align_val_t
    903   Symbol added: _ZdlPvSt11align_val_t
    904   Symbol added: _ZnamSt11align_val_t
    905   Symbol added: _ZdaPvmSt11align_val_t
    906   Symbol added: _ZdlPvmSt11align_val_t
    907   Symbol added: _ZdlPvSt11align_val_tRKSt9nothrow_t
    908   Symbol added: _ZnwmSt11align_val_tRKSt9nothrow_t
    909   Symbol added: _ZnamSt11align_val_tRKSt9nothrow_t
    910   Symbol added: _ZdaPvSt11align_val_tRKSt9nothrow_t
    911   Symbol added: _ZnwmSt11align_val_t
    912 
    913 * r283980 - Implement C++17 <optional>
    914 
    915   x86_64-linux-gnu
    916   ----------------
    917   Symbol added: _ZTISt19bad_optional_access
    918   Symbol added: _ZNSt19bad_optional_accessD0Ev
    919   Symbol added: _ZNSt19bad_optional_accessD1Ev
    920   Symbol added: _ZNSt19bad_optional_accessD2Ev
    921   Symbol added: _ZTVSt19bad_optional_access
    922   Symbol added: _ZTSSt19bad_optional_access
    923 
    924 * r278310 - Implement C++17 <any>
    925 
    926   x86_64-linux-gnu
    927   ----------------
    928   Symbol added: _ZNKSt12bad_any_cast4whatEv
    929   Symbol added: _ZNSt12bad_any_castD0Ev
    930   Symbol added: _ZTISt12bad_any_cast
    931   Symbol added: _ZTSSt12bad_any_cast
    932   Symbol added: _ZTVSt12bad_any_cast
    933 
    934 * r295398 - Remove basic_string::insert and basic_string::replace template methods
    935     which should be inline.
    936 
    937   These functions should never have had visible definitions in the dylib but
    938   since they were previously not specified with 'inline' they accidentally
    939   got emitted. This change is non-ABI breaking because every "linkage unit"
    940   must contain its own definition.
    941 
    942   x86_64-linux-gnu
    943   ----------------
    944   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_
    945   SYMBOL REMOVED: _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceIPKcEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_
    946   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_
    947   SYMBOL REMOVED: _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceIPKwEENS_9enable_ifIXsr19__is_input_iteratorIT_EE5valueERS5_E4typeENS_11__wrap_iterIS8_EESF_SA_SA_
    948