summaryrefslogtreecommitdiffstats
path: root/libcxxabi
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-02-01 21:06:46 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-02-01 21:06:46 +0000
commit089123e65fc9fe64e8aa568cf7c2c01cd437d03d (patch)
treec83d0069c175464113db3babe8aec117084c5f91 /libcxxabi
parentc325fa770566c6d6b3111cbaf5fa4b52a8c2e46b (diff)
downloadbcm5719-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.cpp9
-rw-r--r--libcxxabi/src/private_typeinfo.h2
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
OpenPOWER on IntegriCloud