]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
locale_facets.tcc (has_facet, use_facet): Simplify RTTI checks.
authorJonathan Wakely <jwakely.gcc@gmail.com>
Mon, 17 Dec 2007 23:56:23 +0000 (23:56 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 17 Dec 2007 23:56:23 +0000 (23:56 +0000)
2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
RTTI checks.

From-SVN: r131022

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/locale_facets.tcc

index e6b11f9b4bff62d8d5d529df1d79e0d8c4867f6b..a0924c2009c8189d1c20989070ad9249810911a1 100644 (file)
@@ -1,3 +1,8 @@
+2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
+       RTTI checks.
+
 2007-12-17  Benjamin Kosnik  <bkoz@redhat.com>
 
        * testsuite/22_locale/global_templates/
index ad8bff30bcf75d8ece27ab8c5c3a1456d01223de..870ac3de838ce1b7091d2b7bf299c9f6d8f6696c 100644 (file)
@@ -90,17 +90,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;
     }
 
   /**
@@ -122,8 +113,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]);
     }