diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2007-12-17 22:07:39 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2007-12-17 22:07:39 +0000 |
commit | 44f37984f4e87411999989e2c3ff715a4860d9c3 (patch) | |
tree | c4fe6441fbced17c0ef274cf21b9e27a3a198714 | |
parent | 0d9f441aea99a5ddfb8d7592bf5e41b19114aa45 (diff) | |
download | gcc-44f37984f4e87411999989e2c3ff715a4860d9c3.zip gcc-44f37984f4e87411999989e2c3ff715a4860d9c3.tar.gz gcc-44f37984f4e87411999989e2c3ff715a4860d9c3.tar.bz2 |
locale_classes.h: Simplify RTTI checks.
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/locale_classes.h: Simplify RTTI checks.
From-SVN: r131020
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/locale_classes.h | 16 |
2 files changed, 7 insertions, 13 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3fc2fd2..e8a0c70 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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. diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index 4eee862..0264236 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<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]); } |