aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/inc/cxxabi.h
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2000-05-24 14:17:27 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2000-05-24 14:17:27 +0000
commit01ce976d50cf5b93c0026f8ff206af8a1544493e (patch)
tree7a15c653bab43cdfe24d767be7f58578104e59ce /gcc/cp/inc/cxxabi.h
parent0543d026a2a6366375b25b55dd318eb1cca6876c (diff)
downloadgcc-01ce976d50cf5b93c0026f8ff206af8a1544493e.zip
gcc-01ce976d50cf5b93c0026f8ff206af8a1544493e.tar.gz
gcc-01ce976d50cf5b93c0026f8ff206af8a1544493e.tar.bz2
Update new-abi upcast algorithm.
* inc/cxxabi.h (__class_type_info::__do_upcast): Change prototype and meaning of return value. (__si_class_type_info::__do_upcast): Likewise. (__vmi_class_type_info::__do_upcast): Likewise. * tinfo.cc (__class_type_info::__upcast_result): Replace whole2dst with part2dst. Adjust ctor. (__class_type_info::__do_upcast): Adjust call of worker function. (__class_type_info::__do_upcast): Adjust. (__si_class_type_info::__do_upcast): Adjust. Use parent's __do_upcast. (__vmi_class_type_info::__do_upcast): Likewise. Fix private virtual base in diamond heirarchy bug. From-SVN: r34132
Diffstat (limited to 'gcc/cp/inc/cxxabi.h')
-rw-r--r--gcc/cp/inc/cxxabi.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/cp/inc/cxxabi.h b/gcc/cp/inc/cxxabi.h
index 55b01b7..c5eec5c 100644
--- a/gcc/cp/inc/cxxabi.h
+++ b/gcc/cp/inc/cxxabi.h
@@ -266,11 +266,9 @@ protected:
public:
- /* Helper for upcast. See if DST is us, or one of our bases. ACCESS_PATH */
- /* gives the access from the start object. Return TRUE if we know the upcast */
- /* fails. */
- virtual bool __do_upcast (__sub_kind __access_path,
- const __class_type_info *__dst,
+ /* Helper for upcast. See if DST is us, or one of our bases. */
+ /* Return false if not found, true if found. */
+ virtual bool __do_upcast (const __class_type_info *__dst,
const void *__obj,
__upcast_result &__restrict __result) const;
@@ -341,8 +339,7 @@ protected:
const void *__obj_ptr,
const __class_type_info *__src_type,
const void *__sub_ptr) const;
- virtual bool __do_upcast (__sub_kind __access_path,
- const __class_type_info *__dst,
+ virtual bool __do_upcast (const __class_type_info *__dst,
const void *__obj,
__upcast_result &__restrict __result) const;
};
@@ -391,8 +388,7 @@ protected:
const void *__obj_ptr,
const __class_type_info *__src_type,
const void *__src_ptr) const;
- virtual bool __do_upcast (__sub_kind __access_path,
- const __class_type_info *__dst,
+ virtual bool __do_upcast (const __class_type_info *__dst,
const void *__obj,
__upcast_result &__restrict __result) const;
};