define MSVCRT_div_t and MSVCRT_ldiv_t and test fixes

Pierre d'Herbemont stegefin at free.fr
Fri Jul 9 14:09:52 CDT 2004


Hi!

This re-enables compilation on a Darwin/PowerPC host of the msvcrt dll.

Thanks!

Pierre

ChangeLog:
- define MSVCRT_div_t and MSVCRT_ldiv_t
- don't test i386 types on non i386

Pierre
-------------- next part --------------
Index: msvcrt.h
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/msvcrt.h,v
retrieving revision 1.26
diff -u -r1.26 msvcrt.h
--- msvcrt.h	25 Jun 2004 01:19:15 -0000	1.26
+++ msvcrt.h	9 Jul 2004 19:01:38 -0000
@@ -56,6 +56,14 @@
 typedef long MSVCRT_clock_t;
 typedef long MSVCRT_time_t;
 typedef long MSVCRT_fpos_t;
+typedef struct MSVCRT__div_t {
+	int quot;		/* quotient */
+	int rem;		/* remainder */
+} MSVCRT_div_t;
+typedef struct MSVCRT__ldiv_t{
+	long quot;		/* quotient */
+	long rem;		/* remainder */
+} MSVCRT_ldiv_t;
 
 typedef void (*MSVCRT_terminate_handler)();
 typedef void (*MSVCRT_terminate_function)();
Index: tests/headers.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/tests/headers.c,v
retrieving revision 1.1
diff -u -r1.1 headers.c
--- tests/headers.c	25 Jun 2004 01:19:15 -0000	1.1
+++ tests/headers.c	9 Jul 2004 19:01:39 -0000
@@ -99,6 +99,12 @@
 /************* Checking structs ***************/
 void test_structs()
 {
+    CHECK_STRUCT(_div_t);
+    CHECK_FIELD(_div_t, quot);
+    CHECK_FIELD(_div_t, rem);
+    CHECK_STRUCT(_ldiv_t);
+    CHECK_FIELD(_ldiv_t, quot);
+    CHECK_FIELD(_ldiv_t, rem);
     CHECK_STRUCT(tm);
     CHECK_FIELD(tm, tm_sec);
     CHECK_FIELD(tm, tm_min);
@@ -155,6 +161,7 @@
     CHECK_FIELD(_heapinfo, _pentry);
     CHECK_FIELD(_heapinfo, _size);
     CHECK_FIELD(_heapinfo, _useflag);
+#ifdef __i386__
     CHECK_STRUCT(__JUMP_BUFFER);
     CHECK_FIELD(__JUMP_BUFFER, Ebp);
     CHECK_FIELD(__JUMP_BUFFER, Ebx);
@@ -167,6 +174,7 @@
     CHECK_FIELD(__JUMP_BUFFER, Cookie);
     CHECK_FIELD(__JUMP_BUFFER, UnwindFunc);
     CHECK_FIELD(__JUMP_BUFFER, UnwindData[6]);
+#endif
     CHECK_STRUCT(_diskfree_t);
     CHECK_FIELD(_diskfree_t, total_clusters);
     CHECK_FIELD(_diskfree_t, avail_clusters);
@@ -426,6 +434,7 @@
     CHECK_DEF("_FPCLASS_PD", _FPCLASS_PD, MSVCRT__FPCLASS_PD);
     CHECK_DEF("_FPCLASS_PN", _FPCLASS_PN, MSVCRT__FPCLASS_PN);
     CHECK_DEF("_FPCLASS_PINF", _FPCLASS_PINF, MSVCRT__FPCLASS_PINF);
+#ifdef i386
     CHECK_DEF("_EM_INVALID", _EM_INVALID, MSVCRT__EM_INVALID);
     CHECK_DEF("_EM_DENORMAL", _EM_DENORMAL, MSVCRT__EM_DENORMAL);
     CHECK_DEF("_EM_ZERODIVIDE", _EM_ZERODIVIDE, MSVCRT__EM_ZERODIVIDE);
@@ -441,6 +450,7 @@
     CHECK_DEF("_PC_24", _PC_24, MSVCRT__PC_24);
     CHECK_DEF("_PC_53", _PC_53, MSVCRT__PC_53);
     CHECK_DEF("_PC_64", _PC_64, MSVCRT__PC_64);
+#endif
 }
 
 START_TEST(headers)


More information about the wine-patches mailing list