diff options
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"); |