diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2000-08-09 09:57:55 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2000-08-09 09:57:55 +0000 |
commit | 7e8dad182700d23558d74de4d1461379d9ed6124 (patch) | |
tree | 0b6e6bc230ef4ae30574d192950e97f879cf3428 | |
parent | 68c9819964ede72d8d57c47877825a1dce358486 (diff) | |
download | gcc-7e8dad182700d23558d74de4d1461379d9ed6124.zip gcc-7e8dad182700d23558d74de4d1461379d9ed6124.tar.gz gcc-7e8dad182700d23558d74de4d1461379d9ed6124.tar.bz2 |
rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi runtime.
* rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
runtime.
* cp/tinfo.cc (__dynamic_cast): Likewise.
* cp/inc/cxxabi.h (__dynamic_cast): Likewise.
From-SVN: r35588
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/inc/cxxabi.h | 2 | ||||
-rw-r--r-- | gcc/cp/rtti.c | 6 | ||||
-rw-r--r-- | gcc/cp/tinfo.cc | 2 |
4 files changed, 10 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9044923..8912264 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,12 @@ 2000-08-09 Nathan Sidwell <nathan@codesourcery.com> + * rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi + runtime. + * cp/tinfo.cc (__dynamic_cast): Likewise. + * cp/inc/cxxabi.h (__dynamic_cast): Likewise. + +2000-08-09 Nathan Sidwell <nathan@codesourcery.com> + * cvt.c (convert_to_pointer_force): Fix error message when attempting to cast from ambiguous base. diff --git a/gcc/cp/inc/cxxabi.h b/gcc/cp/inc/cxxabi.h index 6e64553..2587e85 100644 --- a/gcc/cp/inc/cxxabi.h +++ b/gcc/cp/inc/cxxabi.h @@ -414,7 +414,7 @@ protected: }; /* dynamic cast runtime */ -extern "C++" +extern "C" void *__dynamic_cast (const void *__src_ptr, /* object started from */ const __class_type_info *__src_type, /* static type of object */ const __class_type_info *__dst_type, /* desired target type */ diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c index 63c1e3c..94e67a5 100644 --- a/gcc/cp/rtti.c +++ b/gcc/cp/rtti.c @@ -846,11 +846,7 @@ build_dynamic_cast_1 (type, expr) (NULL_TREE, ptrdiff_type_node, void_list_node)))); } tmp = build_function_type (ptr_type_node, tmp); - if (new_abi_rtti_p ()) - /* We want its name mangling. */ - dcast_fn = build_cp_library_fn_ptr (name, tmp); - else - dcast_fn = build_library_fn_ptr (name, tmp); + dcast_fn = build_library_fn_ptr (name, tmp); pop_nested_namespace (ns); dynamic_cast_node = dcast_fn; } diff --git a/gcc/cp/tinfo.cc b/gcc/cp/tinfo.cc index bb57bf8..c381ff1 100644 --- a/gcc/cp/tinfo.cc +++ b/gcc/cp/tinfo.cc @@ -1165,7 +1165,7 @@ __do_upcast (const __class_type_info *dst, const void *obj_ptr, } // this is the external interface to the dynamic cast machinery -extern "C++" void * +extern "C" void * __dynamic_cast (const void *src_ptr, // object started from const __class_type_info *src_type, // type of the starting object const __class_type_info *dst_type, // desired target type |