msvcrt/tests: Fix dynamically loaded functions for ARM

André Hentschel nerv at dawncrow.de
Mon Aug 5 17:16:19 CDT 2013


---
 dlls/msvcrt/tests/cpp.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c
index fc223c5..3693014 100644
--- a/dlls/msvcrt/tests/cpp.c
+++ b/dlls/msvcrt/tests/cpp.c
@@ -238,6 +238,55 @@ static BOOL InitFunctionPtrs(void)
     }
     else
     {
+#ifdef __arm__
+        SETNOFAIL(poperator_new, "??_U at YAPAXI@Z");
+        SETNOFAIL(poperator_delete, "??_V at YAXPAX@Z");
+
+        SET(pexception_ctor, "??0exception at std@@QAA at ABQBD@Z");
+        SET(pexception_copy_ctor, "??0exception at std@@QAA at ABV01@@Z");
+        SET(pexception_default_ctor, "??0exception at std@@QAA at XZ");
+        SET(pexception_dtor, "??1exception at std@@UAA at XZ");
+        SET(pexception_opequals, "??4exception at std@@QAAAAV01 at ABV01@@Z");
+        SET(pexception_what, "?what at exception@std@@UBAPBDXZ");
+        SET(pexception_vector_dtor, "??_Eexception@@UAEPAXI at Z");/**/
+        SET(pexception_scalar_dtor, "??_Gexception@@UAEPAXI at Z");/**/
+
+        SET(pbad_typeid_ctor, "??0bad_typeid at std@@QAA at PBD@Z");
+        SETNOFAIL(pbad_typeid_ctor_closure, "??_Fbad_typeid at std@@QAAXXZ");
+        SET(pbad_typeid_copy_ctor, "??0bad_typeid at std@@QAA at ABV01@@Z");
+        SET(pbad_typeid_dtor, "??1bad_typeid at std@@UAA at XZ");
+        SET(pbad_typeid_opequals, "??4bad_typeid at std@@QAAAAV01 at ABV01@@Z");
+        SET(pbad_typeid_what, "?what at exception@std@@UBAPBDXZ");
+        SET(pbad_typeid_vector_dtor, "??_Ebad_cast@@UAEPAXI at Z");
+        SET(pbad_typeid_scalar_dtor, "??_Gbad_cast@@UAEPAXI at Z");
+
+        SETNOFAIL(pbad_cast_ctor, "??0bad_cast@@QAE at ABQBD@Z");
+        if (!pbad_cast_ctor)
+            SET(pbad_cast_ctor, "??0bad_cast at std@@AAA at PBQBD@Z");
+        SETNOFAIL(pbad_cast_ctor2, "??0bad_cast at std@@QAA at PBD@Z");
+        SETNOFAIL(pbad_cast_ctor_closure, "??_Fbad_cast at std@@QAAXXZ");
+        /* FIXME: No ARM equivalent for "??0bad_cast@@QAE at ABV0@@Z" */
+        SET(pbad_cast_dtor, "??1bad_cast at std@@UAA at XZ");
+        SET(pbad_cast_opequals, "??4bad_cast at std@@QAAAAV01 at ABV01@@Z");
+        SET(pbad_cast_what, "?what at exception@std@@UBAPBDXZ");
+        SET(pbad_cast_vector_dtor, "??_Ebad_cast@@UAEPAXI at Z");
+        SET(pbad_cast_scalar_dtor, "??_Gbad_cast@@UAEPAXI at Z");
+
+        SET(p__non_rtti_object_ctor, "??0__non_rtti_object at std@@QAA at PBD@Z");
+        SET(p__non_rtti_object_copy_ctor, "??0__non_rtti_object at std@@QAA at ABV01@@Z");
+        SET(p__non_rtti_object_dtor, "??1__non_rtti_object at std@@UAA at XZ");
+        SET(p__non_rtti_object_opequals, "??4__non_rtti_object at std@@QAAAAV01 at ABV01@@Z");
+        SET(p__non_rtti_object_what, "?what at exception@std@@UBAPBDXZ");
+        SET(p__non_rtti_object_vector_dtor, "??_E__non_rtti_object@@UAEPAXI at Z");
+        SET(p__non_rtti_object_scalar_dtor, "??_G__non_rtti_object@@UAEPAXI at Z");
+
+        SET(ptype_info_dtor, "??1type_info@@UAA at XZ");
+        SET(ptype_info_raw_name, "?raw_name at type_info@@QBAPBDXZ");
+        SET(ptype_info_name, "?name at type_info@@QBEPBDXZ");
+        SET(ptype_info_before, "?before at type_info@@QBEHABV1@@Z");
+        SET(ptype_info_opequals_equals, "??8type_info@@QBA_NABV0@@Z");
+        SET(ptype_info_opnot_equals, "??9type_info@@QBA_NABV0@@Z");
+#else
         SETNOFAIL(poperator_new, "??_U at YAPAXI@Z");
         SETNOFAIL(poperator_delete, "??_V at YAXPAX@Z");
 
@@ -285,6 +334,7 @@ static BOOL InitFunctionPtrs(void)
         SET(ptype_info_before, "?before at type_info@@QBEHABV1@@Z");
         SET(ptype_info_opequals_equals, "??8type_info@@QBEHABV0@@Z");
         SET(ptype_info_opnot_equals, "??9type_info@@QBEHABV0@@Z");
+#endif /* __arm__ */
     }
 
     if (!poperator_new)
-- 
1.8.1.2



More information about the wine-patches mailing list