<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>libc++abi spec</title>
</head>
<body>

<table border=1>
<tr>
<th rowspan=2>libc++abi Specification</th>
<th colspan=3>Completed ?</th>
</tr>

<tr>
<th>darwin</th><th>linux</th><th>arm</th>
</tr>

<tr>
<td  colspan=4 align="center">Memory management</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_allocate_exception(size_t thrown_size) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Allocates memory to hold the exception to be thrown.
<tt>thrown_size</tt> is the size of the exception object. Can allocate
additional memory to hold private data. If memory can not be allocated, call
<tt>std::terminate()</tt>.
</p>
<p>
<i>Returns:</i> A pointer to the memory allocated for the exception object.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_free_exception(void * thrown_exception) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Frees memory allocated by <tt>__cxa_allocate_exception</tt>.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_allocate_dependent_exception() throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Allocates memory to hold a "dependent" exception to be thrown.
<tt>thrown_size</tt> is the size of the exception object. Can allocate
additional memory to hold private data. If memory can not be allocated, call
<tt>std::terminate()</tt>.
</p>
<p>
<i>Returns:</i> A pointer to the memory allocated for the exception object.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_free_dependent_exception (void* dependent_exception) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Frees memory allocated by <tt>__cxa_allocate_dependent_exception</tt>.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td  colspan=4 align="center">Exception Handling</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_throw(void* thrown_exception, struct std::type_info * tinfo,
                        void (*dest)(void*));</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_get_exception_ptr(void* exceptionObject) throw();</code>
</p>
<blockquote>
<p>
<i>Returns:</i> The adjusted pointer to the exception object. (The adjusted
pointer is typically computed by the personality routine during phase 1 and
saved in the exception object.)
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_begin_catch(void* exceptionObject) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<ul>
<li>Increment's the exception's handler count.</li>
<li>Places the exception on the stack of currently-caught exceptions if it is
not already there, linking the exception to the previous top of the stack.</li>
<li>Decrements the uncaught_exception count.</li>
</ul>
<p>
If the initialization of the catch parameter is trivial (e,g., there is no
formal catch parameter, or the parameter has no copy constructor), the calls to
<tt>__cxa_get_exception_ptr()</tt> and <tt>__cxa_begin_catch()</tt> may be
combined into a single call to <tt>__cxa_begin_catch()</tt>.
</p>
<p>
When the personality routine encounters a termination condition, it will call
<tt>__cxa_begin_catch()</tt> to mark the exception as handled and then call
<tt>terminate()</tt>, which shall not return to its caller.
</p>
<p>
<i>Returns:</i> The adjusted pointer to the exception object.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_end_catch();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Locates the most recently caught exception and decrements its
handler count. Removes the exception from the caughtÓexception stack, if the
handler count goes to zero. Destroys the exception if the handler count goes to
zero, and the exception was not re-thrown by throw. Collaboration between
__cxa_rethrow() and __cxa_end_catch() is necessary to handle the last point.
Though implementation-defined, one possibility is for __cxa_rethrow() to set a
flag in the handlerCount member of the exception header to mark an exception
being rethrown.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>std::type_info* __cxa_current_exception_type();</code>
</p>
<blockquote>
<p>
<i>Returns:</i> the type of the currently handled exception, or null if there
are no caught exceptions.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_rethrow();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Marks the exception object on top of the caughtExceptions stack
(in an implementation-defined way) as being rethrown. If the caughtExceptions
stack is empty, it calls terminate() (see [C++FDIS] [except.throw], 15.1.8). It
then returns to the handler that called it, which must call __cxa_end_catch(),
perform any necessary cleanup, and finally call _Unwind_Resume() to continue
unwinding.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_current_primary_exception() throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Increments the ownership count of the currently handled
exception (if any) by one.
</p>
<p>
<i>Returns:</i> the type of the currently handled exception, or null if there
are no caught exceptions.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_decrement_exception_refcount(void* primary_exception) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Decrements the ownership count of the exception by 1, and on
zero calls <tt>_Unwind_DeleteException</tt> with the exception object.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>__cxa_eh_globals* __cxa_get_globals() throw();</code>
</p>
<blockquote>
<p>
<i>Returns:</i> A pointer to the __cxa_eh_globals structure for the current
thread, initializing it if necessary.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>__cxa_eh_globals* __cxa_get_globals_fast() throw();</code>
</p>
<blockquote>
<p>
<i>Requires:</i> At least one prior call to __cxa_get_globals has been made from
the current thread.
</p>
<p>
<i>Returns:</i> A pointer to the __cxa_eh_globals structure for the current
thread.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_increment_exception_refcount(void* primary_exception) throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Increments the ownership count of the referenced exception.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_rethrow_primary_exception(void* primary_exception);</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Implements <tt>std::rethrow_exception(exception_ptr p)</tt>.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>bool __cxa_uncaught_exception() throw();</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>_Unwind_Reason_Code __gxx_personality_v0
     (int, _Unwind_Action, _Unwind_Exception_Class,
      struct _Unwind_Exception *, struct _Unwind_Context *);</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td colspan=4 align="center">Guard objects</td>
</tr>

<tr>
<td>
<p>
<code>int  __cxa_guard_acquire(uint64_t* guard_object);</code>
</p>
<blockquote>
<p>
<i>Effects:</i> This function is called before initialization takes place. If
this function returns 1, either <code>__cxa_guard_release</code> or
<code>__cxa_guard_abort</code> must be called with the same argument. The first
byte of the <code>guard_object</code> is not modified by this function.
</p>
<p>
On Darwin the implementation checks for deadlock.
</p>
<p>
<i>Returns:</i> 1 if the initialization is not yet complete, otherwise 0.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_guard_release(uint64_t*);</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Sets the first byte of the guard object to a non-zero value.
This function is called after initialization is complete. A thread-safe
implementation will release the mutex acquired by __cxa_guard_acquire after
setting the first byte of the guard object.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_guard_abort(uint64_t*);</code>
</p>
<blockquote>
<p>
<i>Effects:</i> This function is called if the initialization terminates by
throwing an exception.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td colspan=4 align="center">Vector construction and destruction</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_vec_new(size_t element_count,
						   size_t element_size,
                           size_t padding_size,
						   void (*constructor)(void*),
						   void (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_vec_new2(size_t element_count,
 						    size_t element_size,
                            size_t padding_size,
						    void  (*constructor)(void*),
						    void  (*destructor)(void*),
                            void* (*alloc)(size_t),
                            void  (*dealloc)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void* __cxa_vec_new3(size_t element_count,
 						    size_t element_size,
                            size_t padding_size,
						    void  (*constructor)(void*),
						    void  (*destructor)(void*),
                            void* (*alloc)(size_t),
                            void  (*dealloc)(void*, size_t) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_ctor(void*  array_address,
                           size_t element_count,
                           size_t element_size,
						   void (*constructor)(void*),
						   void (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_dtor(void*  array_address,
                           size_t element_count,
						   size_t element_size,
						   void (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_cleanup(void* array_address,
                             size_t element_count,
                             size_t element_size,
						     void (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_delete(void*  array_address,
                             size_t element_size,
                             size_t padding_size,
						     void  (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_delete2(void* array_address,
                             size_t element_size,
                             size_t padding_size,
						     void  (*destructor)(void*),
                             void  (*dealloc)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_delete3(void* __array_address,
                             size_t element_size,
                             size_t padding_size,
						     void  (*destructor)(void*),
							 void  (*dealloc) (void*, size_t));</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_vec_cctor(void*  dest_array,
							void*  src_array,
							size_t element_count,
							size_t element_size,
							void  (*constructor) (void*, void*),
							void  (*destructor)(void*) );</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td colspan=4 align="center">Handlers</td>
</tr>

<tr>
<td>
<p>
<code>void (*__cxa_new_handler)();</code>
</p>
<blockquote>
<p>
The currently installed new handler.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void (*__cxa_terminate_handler)();</code>
</p>
<blockquote>
<p>
The currently installed terminate handler.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void (*__cxa_unexpected_handler)();</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>



<tr>
<td colspan=4 align="center">Utilities</td>
</tr>

<tr>
<td>
<p>
<code>[[noreturn]] void __cxa_bad_cast()</code>
</p>
<blockquote>
<p>
<i>Effects:</i>  Throws an exception of type <tt>bad_cast</tt>.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>[[noreturn]] void __cxa_bad_typeid();</code>
</p>
<blockquote>
<p>
<i>Effects:</i>  Throws an exception of type <tt>bad_typeid</tt>.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_pure_virtual(void);</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Called if the user calls a non-overridden pure virtual function,
which has undefined behavior according to the C++ Standard. Ends the program.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void __cxa_call_unexpected (void*) __attribute__((noreturn));</code>
</p>
<blockquote>
<p>
<i>Effects:</i> Handles re-checking the exception specification if
unexpectedHandler throws, and if <tt>bad_exception</tt> needs to be thrown.
Called from the compiler.
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>char* __cxa_demangle(const char* mangled_name,
							char*       output_buffer,
							size_t*     length,
							int*        status);</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

<tr>
<td>
<p>
<code>void*
  __dynamic_cast(const void* __src_ptr,
		 const __class_type_info* __src_type,
		 const __class_type_info* __dst_type,
		 ptrdiff_t __src2dst);</code>
</p>
<blockquote>
<p>
<i>Effects:</i>
</p>
<p>
<i>Returns:</i>
</p>
</blockquote>
</td>
<td>&#10003;</td>
<td>&#10003;</td>
<td>&#10003;</td>
</tr>

</table>

<!--
000000000000d570 (__DATA,__const) external typeinfo for char32_t
000000000000cfd0 (__DATA,__const) external typeinfo for std::nullptr_t
000000000000d520 (__DATA,__const) external typeinfo for char16_t
000000000000d580 (__DATA,__const) external typeinfo for char32_t*
000000000000cfe0 (__DATA,__const) external typeinfo for std::nullptr_t*
000000000000d530 (__DATA,__const) external typeinfo for char16_t*
000000000000d5a0 (__DATA,__const) external typeinfo for char32_t const*
000000000000d000 (__DATA,__const) external typeinfo for std::nullptr_t const*
000000000000d550 (__DATA,__const) external typeinfo for char16_t const*
000000000000d190 (__DATA,__const) external typeinfo for signed char const*
000000000000d050 (__DATA,__const) external typeinfo for bool const*
000000000000d0f0 (__DATA,__const) external typeinfo for char const*
000000000000d4b0 (__DATA,__const) external typeinfo for double const*
000000000000d500 (__DATA,__const) external typeinfo for long double const*
000000000000d460 (__DATA,__const) external typeinfo for float const*
000000000000d140 (__DATA,__const) external typeinfo for unsigned char const*
000000000000d280 (__DATA,__const) external typeinfo for int const*
000000000000d2d0 (__DATA,__const) external typeinfo for unsigned int const*
000000000000d320 (__DATA,__const) external typeinfo for long const*
000000000000d370 (__DATA,__const) external typeinfo for unsigned long const*
000000000000d1e0 (__DATA,__const) external typeinfo for short const*
000000000000d230 (__DATA,__const) external typeinfo for unsigned short const*
000000000000cfb0 (__DATA,__const) external typeinfo for void const*
000000000000d0a0 (__DATA,__const) external typeinfo for wchar_t const*
000000000000d3c0 (__DATA,__const) external typeinfo for long long const*
000000000000d410 (__DATA,__const) external typeinfo for unsigned long long const*
000000000000d170 (__DATA,__const) external typeinfo for signed char*
000000000000d030 (__DATA,__const) external typeinfo for bool*
000000000000d0d0 (__DATA,__const) external typeinfo for char*
000000000000d490 (__DATA,__const) external typeinfo for double*
000000000000d4e0 (__DATA,__const) external typeinfo for long double*
000000000000d440 (__DATA,__const) external typeinfo for float*
000000000000d120 (__DATA,__const) external typeinfo for unsigned char*
000000000000d260 (__DATA,__const) external typeinfo for int*
000000000000d2b0 (__DATA,__const) external typeinfo for unsigned int*
000000000000d300 (__DATA,__const) external typeinfo for long*
000000000000d350 (__DATA,__const) external typeinfo for unsigned long*
000000000000d1c0 (__DATA,__const) external typeinfo for short*
000000000000d210 (__DATA,__const) external typeinfo for unsigned short*
000000000000cf90 (__DATA,__const) external typeinfo for void*
000000000000d080 (__DATA,__const) external typeinfo for wchar_t*
000000000000d3a0 (__DATA,__const) external typeinfo for long long*
000000000000d3f0 (__DATA,__const) external typeinfo for unsigned long long*
000000000000d160 (__DATA,__const) external typeinfo for signed char
000000000000d020 (__DATA,__const) external typeinfo for bool
000000000000d0c0 (__DATA,__const) external typeinfo for char
000000000000d480 (__DATA,__const) external typeinfo for double
000000000000d4d0 (__DATA,__const) external typeinfo for long double
000000000000d430 (__DATA,__const) external typeinfo for float
000000000000d110 (__DATA,__const) external typeinfo for unsigned char
000000000000d250 (__DATA,__const) external typeinfo for int
000000000000d2a0 (__DATA,__const) external typeinfo for unsigned int
000000000000d2f0 (__DATA,__const) external typeinfo for long
000000000000d340 (__DATA,__const) external typeinfo for unsigned long
000000000000d1b0 (__DATA,__const) external typeinfo for short
000000000000d200 (__DATA,__const) external typeinfo for unsigned short
000000000000cf78 (__DATA,__const) external typeinfo for void
000000000000d070 (__DATA,__const) external typeinfo for wchar_t
000000000000d390 (__DATA,__const) external typeinfo for long long
000000000000d3e0 (__DATA,__const) external typeinfo for unsigned long long
00000000000093f9 (__TEXT,__cstring) external typeinfo name for char32_t
0000000000009351 (__TEXT,__cstring) external typeinfo name for std::nullptr_t
00000000000093ed (__TEXT,__cstring) external typeinfo name for char16_t
0000000000009470 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__enum_type_info
0000000000009410 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__array_type_info
0000000000009290 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__class_type_info
00000000000094a0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pbase_type_info
00000000000094d0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pointer_type_info
0000000000009440 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__function_type_info
00000000000092c0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__si_class_type_info
00000000000092f0 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__vmi_class_type_info
0000000000009320 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__fundamental_type_info
0000000000009500 (__TEXT,__cstring) external typeinfo name for __cxxabiv1::__pointer_to_member_type_info
00000000000093fc (__TEXT,__cstring) external typeinfo name for char32_t*
0000000000009354 (__TEXT,__cstring) external typeinfo name for std::nullptr_t*
00000000000093f0 (__TEXT,__cstring) external typeinfo name for char16_t*
0000000000009400 (__TEXT,__cstring) external typeinfo name for char32_t const*
0000000000009358 (__TEXT,__cstring) external typeinfo name for std::nullptr_t const*
00000000000093f4 (__TEXT,__cstring) external typeinfo name for char16_t const*
0000000000009386 (__TEXT,__cstring) external typeinfo name for signed char const*
0000000000009362 (__TEXT,__cstring) external typeinfo name for bool const*
0000000000009374 (__TEXT,__cstring) external typeinfo name for char const*
00000000000093e0 (__TEXT,__cstring) external typeinfo name for double const*
00000000000093e9 (__TEXT,__cstring) external typeinfo name for long double const*
00000000000093d7 (__TEXT,__cstring) external typeinfo name for float const*
000000000000937d (__TEXT,__cstring) external typeinfo name for unsigned char const*
00000000000093a1 (__TEXT,__cstring) external typeinfo name for int const*
00000000000093aa (__TEXT,__cstring) external typeinfo name for unsigned int const*
00000000000093b3 (__TEXT,__cstring) external typeinfo name for long const*
00000000000093bc (__TEXT,__cstring) external typeinfo name for unsigned long const*
000000000000938f (__TEXT,__cstring) external typeinfo name for short const*
0000000000009398 (__TEXT,__cstring) external typeinfo name for unsigned short const*
000000000000934d (__TEXT,__cstring) external typeinfo name for void const*
000000000000936b (__TEXT,__cstring) external typeinfo name for wchar_t const*
00000000000093c5 (__TEXT,__cstring) external typeinfo name for long long const*
00000000000093ce (__TEXT,__cstring) external typeinfo name for unsigned long long const*
0000000000009383 (__TEXT,__cstring) external typeinfo name for signed char*
000000000000935f (__TEXT,__cstring) external typeinfo name for bool*
0000000000009371 (__TEXT,__cstring) external typeinfo name for char*
00000000000093dd (__TEXT,__cstring) external typeinfo name for double*
00000000000093e6 (__TEXT,__cstring) external typeinfo name for long double*
00000000000093d4 (__TEXT,__cstring) external typeinfo name for float*
000000000000937a (__TEXT,__cstring) external typeinfo name for unsigned char*
000000000000939e (__TEXT,__cstring) external typeinfo name for int*
00000000000093a7 (__TEXT,__cstring) external typeinfo name for unsigned int*
00000000000093b0 (__TEXT,__cstring) external typeinfo name for long*
00000000000093b9 (__TEXT,__cstring) external typeinfo name for unsigned long*
000000000000938c (__TEXT,__cstring) external typeinfo name for short*
0000000000009395 (__TEXT,__cstring) external typeinfo name for unsigned short*
000000000000934a (__TEXT,__cstring) external typeinfo name for void*
0000000000009368 (__TEXT,__cstring) external typeinfo name for wchar_t*
00000000000093c2 (__TEXT,__cstring) external typeinfo name for long long*
00000000000093cb (__TEXT,__cstring) external typeinfo name for unsigned long long*
0000000000009381 (__TEXT,__cstring) external typeinfo name for signed char
000000000000935d (__TEXT,__cstring) external typeinfo name for bool
000000000000936f (__TEXT,__cstring) external typeinfo name for char
00000000000093db (__TEXT,__cstring) external typeinfo name for double
00000000000093e4 (__TEXT,__cstring) external typeinfo name for long double
00000000000093d2 (__TEXT,__cstring) external typeinfo name for float
0000000000009378 (__TEXT,__cstring) external typeinfo name for unsigned char
000000000000939c (__TEXT,__cstring) external typeinfo name for int
00000000000093a5 (__TEXT,__cstring) external typeinfo name for unsigned int
00000000000093ae (__TEXT,__cstring) external typeinfo name for long
00000000000093b7 (__TEXT,__cstring) external typeinfo name for unsigned long
000000000000938a (__TEXT,__cstring) external typeinfo name for short
0000000000009393 (__TEXT,__cstring) external typeinfo name for unsigned short
0000000000009348 (__TEXT,__cstring) external typeinfo name for void
0000000000009366 (__TEXT,__cstring) external typeinfo name for wchar_t
00000000000093c0 (__TEXT,__cstring) external typeinfo name for long long
00000000000093c9 (__TEXT,__cstring) external typeinfo name for unsigned long long
000000000000ce30 (__DATA,__const) external vtable for __cxxabiv1::__enum_type_info
000000000000cdb0 (__DATA,__const) external vtable for __cxxabiv1::__array_type_info
000000000000cbe0 (__DATA,__const) external vtable for __cxxabiv1::__class_type_info
000000000000ce70 (__DATA,__const) external vtable for __cxxabiv1::__pbase_type_info
000000000000cec0 (__DATA,__const) external vtable for __cxxabiv1::__pointer_type_info
000000000000cdf0 (__DATA,__const) external vtable for __cxxabiv1::__function_type_info
000000000000cc40 (__DATA,__const) external vtable for __cxxabiv1::__si_class_type_info
000000000000cca0 (__DATA,__const) external vtable for __cxxabiv1::__vmi_class_type_info
000000000000cd70 (__DATA,__const) external vtable for __cxxabiv1::__fundamental_type_info
000000000000cf10 (__DATA,__const) external vtable for __cxxabiv1::__pointer_to_member_type_info

                 (undefined) external ___stack_chk_fail (from libSystem)
                 (undefined) external ___stack_chk_guard (from libSystem)
                 (undefined) external ___stderrp (from libSystem)
                 (undefined) external ___strcat_chk (from libSystem)
                 (undefined) external _abort (from libSystem)
                 (undefined) external _calloc (from libSystem)
                 (undefined) external _dlsym (from libSystem)
                 (undefined) external _free (from libSystem)
                 (undefined) external _malloc (from libSystem)
                 (undefined) external _memcpy (from libSystem)
                 (undefined) external _pthread_getspecific (from libSystem)
                 (undefined) external _pthread_key_create (from libSystem)
                 (undefined) external _pthread_mutex_init (from libSystem)
                 (undefined) external _pthread_mutex_lock (from libSystem)
                 (undefined) external _pthread_mutex_unlock (from libSystem)
                 (undefined) external _pthread_mutexattr_init (from libSystem)
                 (undefined) external _pthread_mutexattr_settype (from libSystem)
                 (undefined) external _pthread_once (from libSystem)
                 (undefined) external _pthread_setspecific (from libSystem)
                 (undefined) external _realloc (from libSystem)
                 (undefined) external _strcmp (from libSystem)
                 (undefined) external _strcpy (from libSystem)
                 (undefined) external _strlen (from libSystem)
                 (undefined) external _strncmp (from libSystem)
                 (undefined) external _vasprintf (from libSystem)
                 (undefined) external _vfprintf (from libSystem)
                 (undefined) external dyld_stub_binder (from libSystem)
                 (undefined) external __Unwind_DeleteException (from libSystem)
                 (undefined) external __Unwind_GetIP (from libSystem)
                 (undefined) external __Unwind_GetLanguageSpecificData (from libSystem)
                 (undefined) external __Unwind_GetRegionStart (from libSystem)
                 (undefined) external __Unwind_RaiseException (from libSystem)
                 (undefined) external __Unwind_Resume_or_Rethrow (from libSystem)
                 (undefined) external __Unwind_SetGR (from libSystem)
                 (undefined) external __Unwind_SetIP (from libSystem)
                 (undefined) external ___bzero (from libSystem)
 -->

</body>
</html>
