aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2007-12-17 22:07:39 +0000
committerJonathan Wakely <jwakely.gcc@gmail.com>2007-12-17 22:07:39 +0000
commit22b8c384cdabd49633889bc1ecc20e2661cab88f (patch)
treec4fe6441fbced17c0ef274cf21b9e27a3a198714 /libstdc++-v3
parent13e4e36c00b4507b7acb8e029487e647bef52585 (diff)
2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/locale_classes.h: Simplify RTTI checks. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@131020 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog4
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h16
2 files changed, 7 insertions, 13 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3fc2fd27aba..e8a0c709ddd 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 4eee8621b53..0264236a9a0 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]);
}