From 089123e65fc9fe64e8aa568cf7c2c01cd437d03d Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Wed, 1 Feb 2012 21:06:46 +0000 Subject: 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 --- libcxxabi/src/private_typeinfo.cpp | 9 --------- libcxxabi/src/private_typeinfo.h | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) (limited to 'libcxxabi') diff --git a/libcxxabi/src/private_typeinfo.cpp b/libcxxabi/src/private_typeinfo.cpp index 13fbd32352f..0abf87fd38f 100644 --- a/libcxxabi/src/private_typeinfo.cpp +++ b/libcxxabi/src/private_typeinfo.cpp @@ -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 diff --git a/libcxxabi/src/private_typeinfo.h b/libcxxabi/src/private_typeinfo.h index 0569243f3b9..87472fc95c1 100644 --- a/libcxxabi/src/private_typeinfo.h +++ b/libcxxabi/src/private_typeinfo.h @@ -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 -- cgit v1.2.3