diff dyncall/dyncall_call_mips_o32.h @ 302:d55f9d508074

- mips softfloat support for o32 callconv (calls and callbacks, little and big endian) - cleanup of some mips files, removed unnecessary file, renamings.. - doc/manual cleanups, changelog entry
author Tassilo Philipp
date Mon, 21 May 2018 02:48:12 +0200
parents f5577f6bf97a
children
line wrap: on
line diff
--- a/dyncall/dyncall_call_mips_o32.h	Sun May 20 02:23:44 2018 +0200
+++ b/dyncall/dyncall_call_mips_o32.h	Mon May 21 02:48:12 2018 +0200
@@ -37,10 +37,13 @@
 /* Call-kernel register data:
 
   Details:
+
   The structure holds the argument data for transfering float/double arguments
   via registers as well.
-  The call-kernel implements loads two doubles, which involves four
-  32-bit floating pointer registers.
+  The call-kernel on hardfloat platforms implements loads two doubles, which
+  involves four 32-bit floating pointer registers. It's unused for softfloat
+  platforms.
+
   Float arguments map as following:
   
     float argument 0 is at u[0][0] for little, u[0][1] for big endian and
@@ -49,12 +52,14 @@
 
 */
 
-typedef struct DCRegData_mips_o32_
+typedef struct
 {
+#if defined(DC__ABI_HARDFLOAT)
   union {
     double d;
     float  f[2];
   } u[2];
+#endif /* DC__ABI_HARDFLOAT */
 } DCRegData_mips_o32;