Remove a TODO regarding where some can_catch are implemented. I opted to make can_catch pure virtual in the top __shim_type_info, and have each sub-class implement its own. There are some repeated definitions, but they are trivial.

llvm-svn: 149537
This commit is contained in:
Howard Hinnant 2012-02-01 21:06:46 +00:00
parent c325fa7705
commit 089123e65f
2 changed files with 1 additions and 10 deletions

View File

@ -218,15 +218,7 @@ __pointer_to_member_type_info::display() const
//
// catch (...) : adjustedPtr == & of the exception
bool
__shim_type_info::can_catch(const __shim_type_info* thrown_type,
void*&) const
{
return this == thrown_type;
}
// Handles bullet 1
// TODO: Let __shim_type_info handle it?
bool
__fundamental_type_info::can_catch(const __shim_type_info* thrown_type,
void*&) const
@ -257,7 +249,6 @@ __function_type_info::can_catch(const __shim_type_info* thrown_type,
}
// Handles bullet 1
// TODO: Let __shim_type_info handle it?
bool
__enum_type_info::can_catch(const __shim_type_info* thrown_type,
void*&) const

View File

@ -24,7 +24,7 @@ class __shim_type_info
public:
virtual ~__shim_type_info();
virtual bool can_catch(const __shim_type_info* thrown_type, void*& adjustedPtr) const;
virtual bool can_catch(const __shim_type_info* thrown_type, void*& adjustedPtr) const = 0;
#ifdef DEBUG
virtual void display() const = 0;
#endif