diff options
author | Ian Lynagh <ian@well-typed.com> | 2012-09-14 12:48:53 +0100 |
---|---|---|
committer | Ian Lynagh <ian@well-typed.com> | 2012-09-14 12:48:53 +0100 |
commit | 9b0c4ed70cb4394bb293e4e6f863f877debcd655 (patch) | |
tree | 20ab9121e9a9c8a5911b8b8d352f6c776eae8e68 /includes/mkDerivedConstants.c | |
parent | f4d0e6282da7b37fe019aaf91a32d3f958ceec64 (diff) | |
download | haskell-9b0c4ed70cb4394bb293e4e6f863f877debcd655.tar.gz |
Start moving other constants from (Haskell)Constants to platformConstants
Diffstat (limited to 'includes/mkDerivedConstants.c')
-rw-r--r-- | includes/mkDerivedConstants.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c index 69c87f0832..92024d3833 100644 --- a/includes/mkDerivedConstants.c +++ b/includes/mkDerivedConstants.c @@ -293,6 +293,26 @@ enum Mode { Gen_Haskell_Type, Gen_Haskell_Value, Gen_Haskell_Wrappers, Gen_Haske #define FUN_OFFSET(sym) (OFFSET(Capability,f.sym) - OFFSET(Capability,r)) +void constantInt(char *name, intptr_t val) { + switch (mode) { + case Gen_Haskell_Type: + printf(" , pc_%s :: Int\n", name); + break; + case Gen_Haskell_Value: + printf(" , pc_%s = %" PRIdPTR "\n", name, val); + break; + case Gen_Haskell_Wrappers: + printf("%s :: DynFlags -> Int\n", name); + printf("%s dflags = pc_%s (sPlatformConstants (settings dflags))\n", + name, name); + break; + case Gen_Haskell_Exports: + printf(" %s,\n", name); + break; + case Gen_Header: + break; + } +} int main(int argc, char *argv[]) @@ -602,6 +622,10 @@ main(int argc, char *argv[]) } #endif + // pre-compiled thunk types + constantInt("mAX_SPEC_SELECTEE_SIZE", MAX_SPEC_SELECTEE_SIZE); + constantInt("mAX_SPEC_AP_SIZE", MAX_SPEC_AP_SIZE); + switch (mode) { case Gen_Haskell_Type: printf(" } deriving (Read, Show)\n"); |