X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc%2B%2B.so_src%2Ftypeinfo.cc;h=31907ee10c2eb36b592294941ee93b2dab00ad0a;hb=ca9a575116285753b48fd8e0ae6dcdbf8a4af5b1;hp=993df3cc5c60df7590ad0f47ca94479b73264c5f;hpb=4f326e70fe6e02484ddcd012ef541107f96bbf95;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc++.so_src/typeinfo.cc b/Usermode/Libraries/libc++.so_src/typeinfo.cc index 993df3cc..31907ee1 100644 --- a/Usermode/Libraries/libc++.so_src/typeinfo.cc +++ b/Usermode/Libraries/libc++.so_src/typeinfo.cc @@ -47,6 +47,7 @@ type_info::type_info(const type_info& rhs): } type_info& type_info::operator=(const type_info& rhs) { + _SysDebug("type_info::operator=, was %s now %s", __type_name, rhs.__type_name); __type_name = rhs.__type_name; return *this; } @@ -72,13 +73,13 @@ bool type_info::is_subclass() const // Acess-defined bool type_info::__is_child(const type_info &poss_child, unsigned long &offset) const { + _SysDebug("typeids = this:%s , poss_child:%s", typeid(*this).name(), typeid(poss_child).name()); + // Check #1: Child is same type if( poss_child == *this ) { offset = 0; return true; } - - _SysDebug("typeids = this:%s , poss_child:%s", typeid(*this).name(), typeid(poss_child).name()); // Check #2: This type must be a class if( !this->is_class() ) { @@ -99,6 +100,7 @@ bool type_info::__is_child(const type_info &poss_child, unsigned long &offset) c // Multiple inheritance _SysDebug("TODO: type_info::__is_child - Multiple inheritance"); abort(); + for(;;); } else { // Oops! @@ -106,6 +108,7 @@ bool type_info::__is_child(const type_info &poss_child, unsigned long &offset) c typeid(poss_child).name() ); abort(); + for(;;); } }