aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@gcc.gnu.org>2000-05-08 20:52:32 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2000-05-08 20:52:32 +0000
commit1a27e731a6a6a04fee24f17ffdc5d8f5e998fd2c (patch)
tree9352cfa0b0f78d0bc985cf235d5003fbe3431221
parent93f69683ae30eda10b826d587f19dceee290826e (diff)
downloadgcc-1a27e731a6a6a04fee24f17ffdc5d8f5e998fd2c.zip
gcc-1a27e731a6a6a04fee24f17ffdc5d8f5e998fd2c.tar.gz
gcc-1a27e731a6a6a04fee24f17ffdc5d8f5e998fd2c.tar.bz2
tinfo.cc (__dynamic_cast): Use a reinterpret_cast.
* tinfo.cc (__dynamic_cast): Use a reinterpret_cast. Fix offsetof expansion. * inc/cxxabi.h: Fix typos in comment. (__base_class_info::__offset): Use a static_cast. From-SVN: r33773
-rw-r--r--gcc/cp/ChangeLog10
-rw-r--r--gcc/cp/inc/cxxabi.h6
-rw-r--r--gcc/cp/tinfo.cc3
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 64d83e8..fa1c7f1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,13 @@
+2000-05-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tinfo.cc (__dynamic_cast): Use a reinterpret_cast. Fix
+ offsetof expansion.
+
+2000-05-08 Branko Cibej <branko.cibej@hermes.si>
+
+ * inc/cxxabi.h: Fix typos in comment.
+ (__base_class_info::__offset): Use a static_cast.
+
2000-05-07 Nathan Sidwell <nathan@codesourcery.com>
* inc/cxxabi.h: Use __SIZE_TYPE_ and __PTRDIFF_TYPE__ in place
diff --git a/gcc/cp/inc/cxxabi.h b/gcc/cp/inc/cxxabi.h
index 9bda484..55b01b7 100644
--- a/gcc/cp/inc/cxxabi.h
+++ b/gcc/cp/inc/cxxabi.h
@@ -49,11 +49,11 @@
#ifdef __cplusplus
-// We use the compiler builtins __SIZE__TYPE__ and __PTRDIFF_TYPE__ instead of
+// We use the compiler builtins __SIZE_TYPE__ and __PTRDIFF_TYPE__ instead of
// std::size_t and std::ptrdiff_t respectively. This makes us independant of
// the conformance level of <cstddef> and whether -fhonor-std was supplied.
// <cstddef> is not currently available during compiler building anyway.
-// including <stddef.h> would be wrong, as that would rudely place size_t in
+// Including <stddef.h> would be wrong, as that would rudely place size_t in
// the global namespace.
#include <typeinfo>
@@ -215,7 +215,7 @@ public:
{
// This shift, being of a signed type, is implementation defined. GCC
// implements such shifts as arithmetic, which is what we want.
- return __PTRDIFF_TYPE__ (vmi_offset_flags) >> offset_shift;
+ return static_cast<__PTRDIFF_TYPE__> (vmi_offset_flags) >> offset_shift;
}
};
diff --git a/gcc/cp/tinfo.cc b/gcc/cp/tinfo.cc
index 1f4ef41..8d87f70 100644
--- a/gcc/cp/tinfo.cc
+++ b/gcc/cp/tinfo.cc
@@ -1146,7 +1146,8 @@ __dynamic_cast (const void *src_ptr, // object started from
const void *vtable = *static_cast <const void *const *> (src_ptr);
const vtable_prefix *prefix =
adjust_pointer <vtable_prefix>
- (vtable, -__PTRDIFF_TYPE__(static_cast <vtable_prefix *> (NULL)->origin));
+ (vtable, -reinterpret_cast <__PTRDIFF_TYPE__>
+ (&static_cast <vtable_prefix *> (NULL)->origin));
const void *whole_ptr =
adjust_pointer <void> (src_ptr, prefix->whole_object);
const __class_type_info *whole_type = prefix->whole_type;