<!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>
