summaryrefslogtreecommitdiff
path: root/src/typeinfo.h
diff options
context:
space:
mode:
authoranonymous <local@localhost>2011-01-04 07:38:25 +0600
committeranonymous <local@localhost>2011-01-04 07:38:25 +0600
commit51b577f026c241da85acdb469a3d7349a785f636 (patch)
treec52ecd31021d053171dc1a2966301888d4e2fa9f /src/typeinfo.h
parent36d91e1f88660a8b11147a15a05c60b8f0f0d9f0 (diff)
downloadlibcxxrt-51b577f026c241da85acdb469a3d7349a785f636.tar.gz
libcxxrt-51b577f026c241da85acdb469a3d7349a785f636.tar.bz2
libcxxrt-51b577f026c241da85acdb469a3d7349a785f636.tar.xz
fix for COMPILER-8903: throwing/catching pointers with casts, void*, etc
Diffstat (limited to 'src/typeinfo.h')
-rw-r--r--src/typeinfo.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/typeinfo.h b/src/typeinfo.h
index f8b6079..6bc4b60 100644
--- a/src/typeinfo.h
+++ b/src/typeinfo.h
@@ -27,6 +27,7 @@ namespace ABI_NAMESPACE
{
virtual ~__class_type_info();
virtual void *cast_to(void *obj, const struct __class_type_info *other) const;
+ virtual bool can_cast_to(const struct __class_type_info *other) const;
};
// Single-inheritance class.
@@ -35,6 +36,7 @@ namespace ABI_NAMESPACE
virtual ~__si_class_type_info();
const __class_type_info *__base_type;
virtual void *cast_to(void *obj, const struct __class_type_info *other) const;
+ virtual bool can_cast_to(const struct __class_type_info *other) const;
};
struct __base_class_type_info
@@ -76,6 +78,7 @@ namespace ABI_NAMESPACE
__diamond_shaped_mask = 0x2
};
virtual void *cast_to(void *obj, const struct __class_type_info *other) const;
+ virtual bool can_cast_to(const struct __class_type_info *other) const;
};
struct __pbase_type_info : public std::type_info