@ -1,14 +1,53 @@
# include <stdlib.h>
# include <stdlib.h>
# include <stdio.h>
# include <stdio.h>
# include "dwarf_eh.h"
# include "dwarf_eh.h"
# include <typeinfo>
# include <exception>
# include "objcxx_eh.h"
# include "objcxx_eh.h"
# include <exception>
extern " C "
extern " C "
{
{
# include "objc/runtime.h"
# include "objc/runtime.h"
} ;
} ;
namespace __cxxabiv1
{
struct __class_type_info ;
}
using __cxxabiv1 : : __class_type_info ;
namespace std
{
/**
* std : : type_info defined with the GCC ABI . This may not be exposed in
* public headers , but is required for correctly implementing the unified
* exception model .
*/
class type_info
{
public :
virtual ~ type_info ( ) ;
bool operator = = ( const type_info & ) const ;
bool operator ! = ( const type_info & ) const ;
bool before ( const type_info & ) const ;
const char * name ( ) const ;
type_info ( ) ;
private :
type_info ( const type_info & rhs ) ;
type_info & operator = ( const type_info & rhs ) ;
const char * __type_name ;
protected :
type_info ( const char * name ) : __type_name ( name ) { }
public :
virtual bool __is_pointer_p ( ) const ;
virtual bool __is_function_p ( ) const ;
virtual bool __do_catch ( const type_info * thrown_type ,
void * * thrown_object ,
unsigned outer ) const ;
virtual bool __do_upcast (
const __class_type_info * target ,
void * * thrown_object ) const ;
} ;
}
using namespace std ;
using namespace std ;