Author: hhinnant
Date: Wed Feb  1 15:06:46 2012
New Revision: 149537

URL: http://llvm.org/viewvc/llvm-project?rev=149537&view=rev
Log:
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.

Modified:
    libcxxabi/trunk/src/private_typeinfo.cpp
    libcxxabi/trunk/src/private_typeinfo.h

Modified: libcxxabi/trunk/src/private_typeinfo.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/private_typeinfo.cpp?rev=149537&r1=149536&r2=149537&view=diff
==============================================================================
--- libcxxabi/trunk/src/private_typeinfo.cpp (original)
+++ libcxxabi/trunk/src/private_typeinfo.cpp Wed Feb  1 15:06:46 2012
@@ -218,15 +218,7 @@
 // 
 // 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 @@
 }
 
 // Handles bullet 1
-// TODO:  Let __shim_type_info handle it?
 bool
 __enum_type_info::can_catch(const __shim_type_info* thrown_type,
                             void*&) const

Modified: libcxxabi/trunk/src/private_typeinfo.h
URL: 
http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/private_typeinfo.h?rev=149537&r1=149536&r2=149537&view=diff
==============================================================================
--- libcxxabi/trunk/src/private_typeinfo.h (original)
+++ libcxxabi/trunk/src/private_typeinfo.h Wed Feb  1 15:06:46 2012
@@ -24,7 +24,7 @@
 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


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to