X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FmkDerivedConstants.c;h=56296ec4f147eef3c24b37adee8c7d72c13d3efc;hb=9131f4adaf4db771a0a628f9e043693ff90a104b;hp=c797941a9653c7c192335573364164791c8b4759;hpb=b067bdc33ce1a0bb01957b0bcfbb1c516dba53a4;p=ghc-hetmet.git diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index c797941..56296ec 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -31,14 +31,21 @@ #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); +#define def_offset(str, offset) \ + printf("oFFSET_" str " :: Int\n"); \ + printf("oFFSET_" str " = %" SIZET_FMT "\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) @@ -81,8 +88,9 @@ struct_field_macro(str) #if defined(GEN_HASKELL) -#define def_size(str, size) \ - printf("sIZEOF_" str " = %d::Int\n", size); +#define def_size(str, size) \ + printf("sIZEOF_" str " :: Int\n"); \ + printf("sIZEOF_" str " = %d\n", size); #else #define def_size(str, size) \ printf("#define SIZEOF_" str " %d\n", size); @@ -179,13 +187,6 @@ main(int argc, char *argv[]) printf("#define PROF_HDR_SIZE %d\n", sizeofW(StgProfHeader)); printf("#define GRAN_HDR_SIZE %d\n", sizeofW(StgGranHeader)); - printf("#define STD_ITBL_SIZE %d\n", sizeofW(StgInfoTable)); - printf("#define RET_ITBL_SIZE %d\n", sizeofW(StgRetInfoTable) - sizeofW(StgInfoTable)); - printf("#define PROF_ITBL_SIZE %d\n", sizeofW(StgProfInfo)); - - printf("#define GRAN_ITBL_SIZE %d\n", 0); - printf("#define TICKY_ITBL_SIZE %d\n", 0); - printf("#define BLOCK_SIZE %d\n", BLOCK_SIZE); printf("#define MBLOCK_SIZE %d\n", MBLOCK_SIZE);