aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2000-08-09 09:57:55 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2000-08-09 09:57:55 +0000
commit7e8dad182700d23558d74de4d1461379d9ed6124 (patch)
tree0b6e6bc230ef4ae30574d192950e97f879cf3428
parent68c9819964ede72d8d57c47877825a1dce358486 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/cp/inc/cxxabi.h2
-rw-r--r--gcc/cp/rtti.c6
-rw-r--r--gcc/cp/tinfo.cc2
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