windres to use the gcc given as --with-cc.
[ghc-hetmet.git] / includes / mkDerivedConstants.c
index 90f6a4c..aa3c673 100644 (file)
 
 #define str(a,b) #a "_" #b
 
-#define OFFSET(s_type, field) ((unsigned int)&(((s_type*)0)->field))
+#define OFFSET(s_type, field) ((size_t)&(((s_type*)0)->field))
+
+#ifdef mingw32_HOST_OS
+#define SIZET_FMT "d"
+#else
+#define SIZET_FMT "zd"
+#endif
 
 #if defined(GEN_HASKELL)
 #define def_offset(str, offset) \
-    printf("oFFSET_" str " = %d::Int\n", offset);
+    printf("oFFSET_" str " = %" SIZET_FMT "::Int\n", offset);
 #else
 #define def_offset(str, offset) \
-    printf("#define OFFSET_" str " %d\n", offset);
+    printf("#define OFFSET_" str " %" SIZET_FMT "\n", offset);
 #endif
 
 #if defined(GEN_HASKELL)
@@ -397,6 +403,10 @@ main(int argc, char *argv[])
     struct_field(StgLargeBitmap, size);
     field_offset(StgLargeBitmap, bitmap);
 
+    struct_field(StgRetFun, size);
+    struct_field(StgRetFun, tag);
+    struct_field(StgRetFun, fun);
+
     struct_size(snEntry);
     struct_field(snEntry,sn_obj);
     struct_field(snEntry,addr);