diff options
author | Howard Hinnant <hhinnant@apple.com> | 2012-02-01 21:06:46 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2012-02-01 21:06:46 +0000 |
commit | 089123e65fc9fe64e8aa568cf7c2c01cd437d03d (patch) | |
tree | c83d0069c175464113db3babe8aec117084c5f91 /libcxxabi | |
parent | c325fa770566c6d6b3111cbaf5fa4b52a8c2e46b (diff) | |
download | bcm5719-llvm-089123e65fc9fe64e8aa568cf7c2c01cd437d03d.tar.gz bcm5719-llvm-089123e65fc9fe64e8aa568cf7c2c01cd437d03d.zip |
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
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/src/private_typeinfo.cpp | 9 | ||||
-rw-r--r-- | libcxxabi/src/private_typeinfo.h | 2 |
2 files changed, 1 insertions, 10 deletions
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 |