From: Jonathan Wakely Date: Mon, 17 Dec 2007 22:07:39 +0000 (+0000) Subject: locale_classes.h: Simplify RTTI checks. X-Git-Tag: releases/gcc-4.3.0~919 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44f37984f4e87411999989e2c3ff715a4860d9c3;p=thirdparty%2Fgcc.git locale_classes.h: Simplify RTTI checks. 2007-12-17 Jonathan Wakely * include/bits/locale_classes.h: Simplify RTTI checks. From-SVN: r131020 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3fc2fd27abae..e8a0c709ddd7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2007-12-17 Jonathan Wakely + + * include/bits/locale_classes.h: Simplify RTTI checks. + 2007-12-17 Jonathan Wakely * docs/html/test.html: Fix paths and notes on running subset of tests. diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index 4eee8621b53f..0264236a9a09 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -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(__facets[__i]) != NULL) - __b = true; - - } - catch (...) - { } - return __b; + return __i < __loc._M_impl->_M_facets_size + && dynamic_cast(__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(__facets[__i]) == NULL) + if (__i >= __loc._M_impl->_M_facets_size || __facets[__i] == NULL) __throw_bad_cast(); return dynamic_cast(*__facets[__i]); }