1ABI Changelog
2==============
3This changelog contains information about ABI changes in libc++. Specifically
4the addition and deletion of symbols from the libc++ dylib.
5
6Each entry should start with the revision number followed by a description of
7the change. The entry should contain a summary of the ABI changes made,
8including what symbols were added, removed, or changed.
9
10To generate a summary, re-generate the new ABI list using the
11`generate-cxx-abilist` target, and look at the diff.
12
13New entries should be added directly below the "Version" header.
14
15------------
16Version 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------------
332Version 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-----------
360Version 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-----------
638Version 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-----------
735Version 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-----------
768Version 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-----------
814Version 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