OSDN Git Service

* rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Aug 2000 09:57:55 +0000 (09:57 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Aug 2000 09:57:55 +0000 (09:57 +0000)
runtime.
* cp/tinfo.cc (__dynamic_cast): Likewise.
* cp/inc/cxxabi.h (__dynamic_cast): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35588 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/inc/cxxabi.h
gcc/cp/rtti.c
gcc/cp/tinfo.cc

index 9044923..8912264 100644 (file)
@@ -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. 
 
index 6e64553..2587e85 100644 (file)
@@ -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 */
index 63c1e3c..94e67a5 100644 (file)
@@ -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;
            }
index bb57bf8..c381ff1 100644 (file)
@@ -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