From 1a27e731a6a6a04fee24f17ffdc5d8f5e998fd2c Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Mon, 8 May 2000 20:52:32 +0000 Subject: 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 --- gcc/cp/ChangeLog | 10 ++++++++++ gcc/cp/inc/cxxabi.h | 6 +++--- gcc/cp/tinfo.cc | 3 ++- 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 + + * tinfo.cc (__dynamic_cast): Use a reinterpret_cast. Fix + offsetof expansion. + +2000-05-08 Branko Cibej + + * inc/cxxabi.h: Fix typos in comment. + (__base_class_info::__offset): Use a static_cast. + 2000-05-07 Nathan Sidwell * 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 and whether -fhonor-std was supplied. // is not currently available during compiler building anyway. -// including would be wrong, as that would rudely place size_t in +// Including would be wrong, as that would rudely place size_t in // the global namespace. #include @@ -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 (src_ptr); const vtable_prefix *prefix = adjust_pointer - (vtable, -__PTRDIFF_TYPE__(static_cast (NULL)->origin)); + (vtable, -reinterpret_cast <__PTRDIFF_TYPE__> + (&static_cast (NULL)->origin)); const void *whole_ptr = adjust_pointer (src_ptr, prefix->whole_object); const __class_type_info *whole_type = prefix->whole_type; -- cgit v1.1