]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - lib/libcxxrt/Version.map
MFC r335669:
[FreeBSD/stable/10.git] / lib / libcxxrt / Version.map
1 # $FreeBSD$
2 # Define the same version as the libsupc++ from gcc 4.2.1 so that we can use
3 # libcxxrt as a drop-in replacement.
4
5 CXXABI_1.3 {
6
7   global:
8
9     # ABI functions with C linkage
10     __cxa_allocate_exception;
11     __cxa_bad_cast;
12     __cxa_bad_typeid;
13     __cxa_begin_catch;
14     __cxa_begin_cleanup;
15     __cxa_call_unexpected;
16     __cxa_current_exception_type;
17     __cxa_demangle;
18     __cxa_end_catch;
19     __cxa_end_cleanup;
20     __cxa_free_exception;
21     __cxa_get_globals;
22     __cxa_get_globals_fast;
23     __cxa_guard_abort;
24     __cxa_guard_acquire;
25     __cxa_guard_release;
26     __cxa_pure_virtual;
27     __cxa_rethrow;
28     __cxa_throw;
29     __cxa_throw_bad_array_new_length;
30     __cxa_type_match;
31     __cxa_vec_cctor;
32     __cxa_vec_cleanup;
33     __cxa_vec_ctor;
34     __cxa_vec_delete2;
35     __cxa_vec_delete3;
36     __cxa_vec_delete;
37     __cxa_vec_dtor;
38     __cxa_vec_new2;
39     __cxa_vec_new3;
40     __cxa_vec_new;
41     __dynamic_cast;
42     __gxx_personality_sj0;
43     __gxx_personality_v0;
44
45     extern "C++" {
46         # Type info classes and their destructors
47         "__cxxabiv1::__array_type_info";
48         "__cxxabiv1::__array_type_info::~__array_type_info()";
49         "__cxxabiv1::__class_type_info";
50         "__cxxabiv1::__class_type_info::~__class_type_info()";
51         "__cxxabiv1::__enum_type_info";
52         "__cxxabiv1::__enum_type_info::~__enum_type_info()";
53         "__cxxabiv1::__function_type_info::";
54         "__cxxabiv1::__function_type_info::~__function_type_info()";
55         "__cxxabiv1::__fundamental_type_info";
56         "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()";
57         "__cxxabiv1::__pbase_type_info";
58         "__cxxabiv1::__pbase_type_info::~__pbase_type_info()";
59         "__cxxabiv1::__pointer_to_member_type_info";
60         "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()";
61         "__cxxabiv1::__pointer_type_info";
62         "__cxxabiv1::__pointer_type_info::~__pointer_type_info()";
63         "__cxxabiv1::__si_class_type_info";
64         "__cxxabiv1::__si_class_type_info::~__si_class_type_info()";
65         "__cxxabiv1::__vmi_class_type_info";
66         "__cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()";
67
68         # vtables typeinfo classes.
69         "vtable for __cxxabiv1::__array_type_info";
70         "vtable for __cxxabiv1::__class_type_info";
71         "vtable for __cxxabiv1::__enum_type_info";
72         "vtable for __cxxabiv1::__function_type_info";
73         "vtable for __cxxabiv1::__fundamental_type_info";
74         "vtable for __cxxabiv1::__pbase_type_info";
75         "vtable for __cxxabiv1::__pointer_to_member_type_info";
76         "vtable for __cxxabiv1::__pointer_type_info";
77         "vtable for __cxxabiv1::__si_class_type_info";
78         "vtable for __cxxabiv1::__vmi_class_type_info";
79
80         # Type info for built-in types
81         "typeinfo for bool const*";
82         "typeinfo for bool";
83         "typeinfo for char const*";
84         "typeinfo for char";
85         "typeinfo for double const*";
86         "typeinfo for double";
87         "typeinfo for float const*";
88         "typeinfo for float";
89         "typeinfo for int const*";
90         "typeinfo for int";
91         "typeinfo for long const*";
92         "typeinfo for long double const*";
93         "typeinfo for long double";
94         "typeinfo for long long const*";
95         "typeinfo for long long";
96         "typeinfo for long";
97         "typeinfo for short const*";
98         "typeinfo for short";
99         "typeinfo for signed char const*";
100         "typeinfo for signed char";
101         "typeinfo for unsigned char const*";
102         "typeinfo for unsigned char";
103         "typeinfo for unsigned int const*";
104         "typeinfo for unsigned int";
105         "typeinfo for unsigned long const*";
106         "typeinfo for unsigned long long const*";
107         "typeinfo for unsigned long long";
108         "typeinfo for unsigned long";
109         "typeinfo for unsigned short const*";
110         "typeinfo for unsigned short";
111         "typeinfo for void const*";
112         "typeinfo for void";
113         "typeinfo for wchar_t const*";
114         "typeinfo for wchar_t";
115         # C++11 typeinfo not understood by our linker
116         # std::nullptr_t
117         _ZTIDn;_ZTIPDn;_ZTIPKDn;
118         # char16_t
119         _ZTIDi;_ZTIPDi;_ZTIPKDi;
120         # char32_t
121         _ZTIDs;_ZTIPDs;_ZTIPKDs;
122         # IEEE 754r decimal floating point
123         _ZTIDd;_ZTIPDd;_ZTIPKDd;
124         _ZTIDe;_ZTIPDe;_ZTIPKDe;
125         _ZTIDf;_ZTIPDf;_ZTIPKDf;
126         # IEEE 754r half-precision floating point
127         _ZTIDh;_ZTIPDh;_ZTIPKDh;
128
129         "typeinfo for bool*";
130         "typeinfo for wchar_t*";
131         "typeinfo for short*";
132         "typeinfo for char*";
133         "typeinfo for unsigned char*";
134         "typeinfo for long long*";
135         "typeinfo for unsigned short*";
136         "typeinfo for long*";
137         "typeinfo for double*";
138         "typeinfo for unsigned long*";
139         "typeinfo for unsigned long long*";
140         "typeinfo for int*";
141         "typeinfo for long double*";
142         "typeinfo for signed char*";
143         "typeinfo for void*";
144         "typeinfo for unsigned int*";
145         "typeinfo for float*";
146
147         "typeinfo for __cxxabiv1::__array_type_info";
148         "typeinfo for __cxxabiv1::__class_type_info";
149         "typeinfo for __cxxabiv1::__enum_type_info";
150         "typeinfo for __cxxabiv1::__function_type_info";
151         "typeinfo for __cxxabiv1::__fundamental_type_info";
152         "typeinfo for __cxxabiv1::__pbase_type_info";
153         "typeinfo for __cxxabiv1::__pointer_to_member_type_info";
154         "typeinfo for __cxxabiv1::__pointer_type_info";
155         "typeinfo for __cxxabiv1::__si_class_type_info";
156         "typeinfo for __cxxabiv1::__vmi_class_type_info";
157
158         # Typeinfo names.
159
160         "typeinfo name for unsigned char const*";
161         "typeinfo name for long const*";
162         "typeinfo name for double const*";
163         "typeinfo name for unsigned long long const*";
164         "typeinfo name for unsigned short const*";
165         "typeinfo name for char const*";
166         "typeinfo name for long long const*";
167         "typeinfo name for short const*";
168         "typeinfo name for unsigned int const*";
169         "typeinfo name for float const*";
170         "typeinfo name for bool const*";
171         "typeinfo name for wchar_t const*";
172         "typeinfo name for int const*";
173         "typeinfo name for unsigned long const*";
174         "typeinfo name for void const*";
175         "typeinfo name for long double const*";
176         "typeinfo name for signed char const*";
177         "typeinfo name for wchar_t";
178         "typeinfo name for short";
179         "typeinfo name for char";
180         "typeinfo name for float";
181         "typeinfo name for void";
182         "typeinfo name for unsigned int";
183         "typeinfo name for bool";
184         "typeinfo name for signed char";
185         "typeinfo name for long double";
186         "typeinfo name for int";
187         "typeinfo name for unsigned long long";
188         "typeinfo name for unsigned long";
189         "typeinfo name for unsigned char";
190         "typeinfo name for long";
191         "typeinfo name for long long";
192         "typeinfo name for unsigned short";
193         "typeinfo name for double";
194
195         "typeinfo name for bool*";
196         "typeinfo name for wchar_t*";
197         "typeinfo name for short*";
198         "typeinfo name for char*";
199         "typeinfo name for unsigned char*";
200         "typeinfo name for long long*";
201         "typeinfo name for unsigned short*";
202         "typeinfo name for long*";
203         "typeinfo name for double*";
204         "typeinfo name for unsigned long*";
205         "typeinfo name for unsigned long long*";
206         "typeinfo name for int*";
207         "typeinfo name for long double*";
208         "typeinfo name for signed char*";
209         "typeinfo name for void*";
210         "typeinfo name for unsigned int*";
211         "typeinfo name for float*";
212         # C++11 typeinfo name not understood by our linker
213         # std::nullptr_t
214         _ZTSDn;_ZTSPDn;_ZTSPKDn;
215         # char16_t
216         _ZTSDi;_ZTSPDi;_ZTSPKDi;
217         # char32_t
218         _ZTSDs;_ZTSPDs;_ZTSPKDs;
219         # IEEE 754r decimal floating point
220         _ZTSDd;_ZTSPDd;_ZTSPKDd;
221         _ZTSDe;_ZTSPDe;_ZTSPKDe;
222         _ZTSDf;_ZTSPDf;_ZTSPKDf;
223         # IEEE 754r half-precision floating point
224         _ZTSDh;_ZTSPDh;_ZTSPKDh;
225
226         "typeinfo name for __cxxabiv1::__array_type_info";
227         "typeinfo name for __cxxabiv1::__class_type_info";
228         "typeinfo name for __cxxabiv1::__enum_type_info";
229         "typeinfo name for __cxxabiv1::__function_type_info";
230         "typeinfo name for __cxxabiv1::__fundamental_type_info";
231         "typeinfo name for __cxxabiv1::__pbase_type_info";
232         "typeinfo name for __cxxabiv1::__pointer_to_member_type_info";
233         "typeinfo name for __cxxabiv1::__pointer_type_info";
234         "typeinfo name for __cxxabiv1::__si_class_type_info";
235         "typeinfo name for __cxxabiv1::__vmi_class_type_info";
236
237         "std::type_info::type_info(std::type_info const&)";
238         "std::type_info::operator=(std::type_info const&)";
239
240
241         # Extensions
242         "pathscale::set_terminate(void (*)())";
243         "pathscale::set_unexpected(void (*)())";
244         "pathscale::set_use_thread_local_handlers(bool)";
245
246
247     };
248
249   local:
250     *;
251 };
252
253 CXXABI_1.3.1 {
254     __cxa_get_exception_ptr;
255 } CXXABI_1.3;
256
257 CXXABI_1.3.5 {
258     extern "C++" {
259         "typeinfo for __int128 const*";
260         "typeinfo for __int128";
261         "typeinfo for __int128*";
262         "typeinfo for unsigned __int128 const*";
263         "typeinfo for unsigned __int128";
264         "typeinfo for unsigned __int128*";
265     };
266 } CXXABI_1.3.1;
267
268 CXXABI_1.3.6 {
269     __cxa_deleted_virtual;
270 } CXXABI_1.3.5;
271
272 CXXABI_1.3.9 {
273     extern "C++" {
274         "typeinfo name for __int128 const*";
275         "typeinfo name for __int128";
276         "typeinfo name for __int128*";
277         "typeinfo name for unsigned __int128 const*";
278         "typeinfo name for unsigned __int128";
279         "typeinfo name for unsigned __int128*";
280     };
281 } CXXABI_1.3.6;
282
283 CXXRT_1.0 {
284
285     extern "C++" {
286         "std::type_info::name() const";
287         "std::type_info::before(std::type_info const&) const";
288         "std::type_info::operator==(std::type_info const&) const";
289         "std::type_info::operator!=(std::type_info const&) const";
290         "std::bad_cast::bad_cast(std::bad_cast const&)";
291         "std::bad_cast::bad_cast()";
292         "std::bad_cast::operator=(std::bad_cast const&)";
293         "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
294         "std::bad_typeid::bad_typeid()";
295         "std::bad_typeid::operator=(std::bad_typeid const&)";
296         "std::exception::exception(std::exception const&)";
297         "std::exception::exception()";
298         "std::exception::operator=(std::exception const&)";
299         "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
300         "std::bad_alloc::bad_alloc()";
301         "std::bad_alloc::operator=(std::bad_alloc const&)";
302         "std::bad_array_new_length::bad_array_new_length(std::bad_array_new_length const&)";
303         "std::bad_array_new_length::bad_array_new_length()";
304         "std::bad_array_new_length::operator=(std::bad_array_new_length const&)";
305
306     };
307     __cxa_allocate_dependent_exception;
308     __cxa_current_primary_exception;
309     __cxa_decrement_exception_refcount;
310     __cxa_free_dependent_exception;
311     __cxa_increment_exception_refcount;
312     __cxa_rethrow_primary_exception;
313
314 } CXXABI_1.3.6;
315
316
317 GLIBCXX_3.4 {
318     extern "C++" {
319         "operator delete[](void*)";
320         "operator delete(void*)";
321         "operator new[](unsigned int)";
322         "operator new(unsigned int)";
323         "operator new(unsigned int, std::nothrow_t const&)";
324         "operator new[](unsigned long)";
325         "operator new(unsigned long)";
326         "operator new(unsigned long, std::nothrow_t const&)";
327
328         "std::unexpected()";
329         "std::get_terminate()";
330         "std::get_unexpected()";
331         "std::uncaught_exception()";
332         "std::terminate()";
333
334         "std::type_info::~type_info()";
335         "std::bad_cast::~bad_cast()";
336         "std::bad_typeid::~bad_typeid()";
337         "std::exception::~exception()";
338         "std::bad_alloc::~bad_alloc()";
339         "std::bad_array_new_length::~bad_array_new_length()";
340
341         "std::exception::what() const";
342
343         std::set_new_handler*;
344         std::set_terminate*;
345         std::set_unexpected*;
346         std::type_info::__*;
347
348         "vtable for std::bad_alloc";
349         "vtable for std::bad_cast";
350         "vtable for std::bad_typeid";
351         "vtable for std::exception";
352         "vtable for std::type_info";
353         "vtable for std::bad_array_new_length";
354
355         "typeinfo for std::bad_alloc";
356         "typeinfo for std::bad_typeid";
357         "typeinfo for std::bad_cast";
358         "typeinfo for std::exception";
359         "typeinfo for std::type_info";
360         "typeinfo for std::bad_array_new_length";
361         "typeinfo name for std::bad_alloc";
362         "typeinfo name for std::bad_typeid";
363         "typeinfo name for std::bad_cast";
364         "typeinfo name for std::exception";
365         "typeinfo name for std::type_info";
366         "typeinfo name for std::bad_array_new_length";
367
368     };
369 };
370
371 GLIBCXX_3.4.9 {
372     extern "C++" {
373         "std::bad_typeid::what() const";
374         "std::bad_cast::what() const";
375         "std::bad_alloc::what() const";
376         "std::bad_array_new_length::what() const";
377     };
378 } GLIBCXX_3.4;
379
380 GLIBCXX_3.4.22 {
381     extern "C++" {
382         "std::uncaught_exceptions()";
383     };
384 } GLIBCXX_3.4.9;
385