2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Dec 2007 22:07:39 +0000 (22:07 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Dec 2007 22:07:39 +0000 (22:07 +0000)
* include/bits/locale_classes.h: Simplify RTTI checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131020 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/locale_classes.h

index 3fc2fd2..e8a0c70 100644 (file)
@@ -1,5 +1,9 @@
 2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
+       * include/bits/locale_classes.h: Simplify RTTI checks.
+
+2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
        * docs/html/test.html: Fix paths and notes on running subset of tests.
        * docs/html/ext/parallel_mode.html: Fix markup typos.
        * docs/html/ext/pb_ds/index.html: Likewise.
index 4eee862..0264236 100644 (file)
@@ -579,17 +579,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
     {
       const size_t __i = _Facet::id._M_id();
       const locale::facet** __facets = __loc._M_impl->_M_facets;
-      bool __b(false);
-      try 
-       {
-         if (__i < __loc._M_impl->_M_facets_size
-             && dynamic_cast<const _Facet*>(__facets[__i]) != NULL)
-           __b = true;
-           
-       }
-      catch (...)
-       { }
-      return __b;
+      return __i < __loc._M_impl->_M_facets_size
+             && dynamic_cast<const _Facet*>(__facets[__i]) != NULL;
     }
 
   /**
@@ -611,8 +602,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
     {
       const size_t __i = _Facet::id._M_id();
       const locale::facet** __facets = __loc._M_impl->_M_facets;
-      if (__i >= __loc._M_impl->_M_facets_size
-         || dynamic_cast<const _Facet*>(__facets[__i]) == NULL)
+      if (__i >= __loc._M_impl->_M_facets_size || __facets[__i] == NULL)
         __throw_bad_cast();
       return dynamic_cast<const _Facet&>(*__facets[__i]);
     }