module GHC.Platform.Constants where

import Prelude
import Data.Char

data PlatformConstants = PlatformConstants {
      PlatformConstants -> Int
pc_CONTROL_GROUP_CONST_291 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_STD_HDR_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_PROF_HDR_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_BLOCK_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_BLOCKS_PER_MBLOCK :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_TICKY_BIN_COUNT :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR7 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR8 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR9 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rR10 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rF6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rD6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rXMM6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rYMM6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM2 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM3 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM4 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM5 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rZMM6 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rL1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rSp :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rSpLim :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rHp :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rHpLim :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rCCCS :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rCurrentTSO :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rCurrentNursery :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgRegTable_rHpAlloc :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_stgEagerBlackholeInfo :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_stgGCEnter1 :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_stgGCFun :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_Capability_r :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_bdescr_start :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_bdescr_free :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_bdescr_blocks :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_bdescr_flags :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_CostCentreStack :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_CostCentreStack_mem_alloc :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_CostCentreStack_mem_alloc :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_CostCentreStack_scc_count :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_CostCentreStack_scc_count :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgHeader_ccs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgHeader_ldvw :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgSMPThunkHeader :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgEntCounter_allocs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_StgEntCounter_allocs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgEntCounter_allocd :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_StgEntCounter_allocd :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgEntCounter_registeredp :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgEntCounter_link :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgEntCounter_entry_count :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgUpdateFrame_NoHdr :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgMutArrPtrs_NoHdr :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgMutArrPtrs_ptrs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgMutArrPtrs_size :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgSmallMutArrPtrs_NoHdr :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgSmallMutArrPtrs_ptrs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgArrBytes_NoHdr :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgArrBytes_bytes :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgTSO_alloc_limit :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgTSO_cccs :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgTSO_stackobj :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgStack_sp :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgStack_stack :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgUpdateFrame_updatee :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgFunInfoExtraFwd_arity :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_StgFunInfoExtraFwd_arity :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_SIZEOF_StgFunInfoExtraRev :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_OFFSET_StgFunInfoExtraRev_arity :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_REP_StgFunInfoExtraRev_arity :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_SPEC_SELECTEE_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_SPEC_AP_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MIN_PAYLOAD_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MIN_INTLIKE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_INTLIKE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MIN_CHARLIKE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_CHARLIKE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MUT_ARR_PTRS_CARD_BITS :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Vanilla_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Float_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Double_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Long_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_XMM_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Real_Vanilla_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Real_Float_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Real_Double_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Real_XMM_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_MAX_Real_Long_REG :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_RESERVED_C_STACK_BYTES :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_RESERVED_STACK_WORDS :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_AP_STACK_SPLIM :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_WORD_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_CINT_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_CLONG_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_CLONG_LONG_SIZE :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_BITMAP_BITS_SHIFT :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_TAG_BITS :: {-# UNPACK #-} !Int,
      PlatformConstants -> Int
pc_LDV_SHIFT :: {-# UNPACK #-} !Int,
      PlatformConstants -> Integer
pc_ILDV_CREATE_MASK :: !Integer,
      PlatformConstants -> Integer
pc_ILDV_STATE_CREATE :: !Integer,
      PlatformConstants -> Integer
pc_ILDV_STATE_USE :: !Integer
  } deriving (Int -> PlatformConstants -> ShowS
[PlatformConstants] -> ShowS
PlatformConstants -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PlatformConstants] -> ShowS
$cshowList :: [PlatformConstants] -> ShowS
show :: PlatformConstants -> String
$cshow :: PlatformConstants -> String
showsPrec :: Int -> PlatformConstants -> ShowS
$cshowsPrec :: Int -> PlatformConstants -> ShowS
Show,ReadPrec [PlatformConstants]
ReadPrec PlatformConstants
Int -> ReadS PlatformConstants
ReadS [PlatformConstants]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PlatformConstants]
$creadListPrec :: ReadPrec [PlatformConstants]
readPrec :: ReadPrec PlatformConstants
$creadPrec :: ReadPrec PlatformConstants
readList :: ReadS [PlatformConstants]
$creadList :: ReadS [PlatformConstants]
readsPrec :: Int -> ReadS PlatformConstants
$creadsPrec :: Int -> ReadS PlatformConstants
Read,PlatformConstants -> PlatformConstants -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PlatformConstants -> PlatformConstants -> Bool
$c/= :: PlatformConstants -> PlatformConstants -> Bool
== :: PlatformConstants -> PlatformConstants -> Bool
$c== :: PlatformConstants -> PlatformConstants -> Bool
Eq)


parseConstantsHeader :: FilePath -> IO PlatformConstants
parseConstantsHeader :: String -> IO PlatformConstants
parseConstantsHeader String
fp = do
  String
s <- String -> IO String
readFile String
fp
  let def :: String
def = String
"#define HS_CONSTANTS \""
      find :: String -> ShowS
find [] String
xs = String
xs
      find String
_  [] = forall a. HasCallStack => String -> a
error forall a b. (a -> b) -> a -> b
$ String
"Couldn't find " forall a. [a] -> [a] -> [a]
++ String
def forall a. [a] -> [a] -> [a]
++ String
" in " forall a. [a] -> [a] -> [a]
++ String
fp
      find (Char
d:String
ds) (Char
x:String
xs)
        | Char
d forall a. Eq a => a -> a -> Bool
== Char
x    = String -> ShowS
find String
ds String
xs
        | Bool
otherwise = String -> ShowS
find String
def String
xs

      readVal' :: Bool -> Integer -> String -> [Integer]
      readVal' :: Bool -> Integer -> String -> [Integer]
readVal' Bool
n     Integer
c (Char
x:String
xs) = case Char
x of
        Char
'"' -> [if Bool
n then forall a. Num a => a -> a
negate Integer
c else Integer
c]
        Char
'-' -> Bool -> Integer -> String -> [Integer]
readVal' Bool
True Integer
c String
xs
        Char
',' -> (if Bool
n then forall a. Num a => a -> a
negate Integer
c else Integer
c) forall a. a -> [a] -> [a]
: Bool -> Integer -> String -> [Integer]
readVal' Bool
False Integer
0 String
xs
        Char
_   -> Bool -> Integer -> String -> [Integer]
readVal' Bool
n (Integer
cforall a. Num a => a -> a -> a
*Integer
10 forall a. Num a => a -> a -> a
+ forall a b. (Integral a, Num b) => a -> b
fromIntegral (Char -> Int
ord Char
x forall a. Num a => a -> a -> a
- Char -> Int
ord Char
'0')) String
xs
      readVal' Bool
n     Integer
c []     = [if Bool
n then forall a. Num a => a -> a
negate Integer
c else Integer
c]

      readVal :: String -> [Integer]
readVal = Bool -> Integer -> String -> [Integer]
readVal' Bool
False Integer
0

  forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$! case String -> [Integer]
readVal (String -> ShowS
find String
def String
s) of
    [Integer
v0,Integer
v1,Integer
v2,Integer
v3,Integer
v4,Integer
v5,Integer
v6,Integer
v7,Integer
v8,Integer
v9,Integer
v10,Integer
v11,Integer
v12,Integer
v13,Integer
v14,Integer
v15
     ,Integer
v16,Integer
v17,Integer
v18,Integer
v19,Integer
v20,Integer
v21,Integer
v22,Integer
v23,Integer
v24,Integer
v25,Integer
v26,Integer
v27,Integer
v28,Integer
v29,Integer
v30,Integer
v31
     ,Integer
v32,Integer
v33,Integer
v34,Integer
v35,Integer
v36,Integer
v37,Integer
v38,Integer
v39,Integer
v40,Integer
v41,Integer
v42,Integer
v43,Integer
v44,Integer
v45,Integer
v46,Integer
v47
     ,Integer
v48,Integer
v49,Integer
v50,Integer
v51,Integer
v52,Integer
v53,Integer
v54,Integer
v55,Integer
v56,Integer
v57,Integer
v58,Integer
v59,Integer
v60,Integer
v61,Integer
v62,Integer
v63
     ,Integer
v64,Integer
v65,Integer
v66,Integer
v67,Integer
v68,Integer
v69,Integer
v70,Integer
v71,Integer
v72,Integer
v73,Integer
v74,Integer
v75,Integer
v76,Integer
v77,Integer
v78,Integer
v79
     ,Integer
v80,Integer
v81,Integer
v82,Integer
v83,Integer
v84,Integer
v85,Integer
v86,Integer
v87,Integer
v88,Integer
v89,Integer
v90,Integer
v91,Integer
v92,Integer
v93,Integer
v94,Integer
v95
     ,Integer
v96,Integer
v97,Integer
v98,Integer
v99,Integer
v100,Integer
v101,Integer
v102,Integer
v103,Integer
v104,Integer
v105,Integer
v106,Integer
v107,Integer
v108,Integer
v109,Integer
v110,Integer
v111
     ,Integer
v112,Integer
v113,Integer
v114,Integer
v115,Integer
v116,Integer
v117,Integer
v118,Integer
v119,Integer
v120,Integer
v121,Integer
v122,Integer
v123,Integer
v124,Integer
v125,Integer
v126,Integer
v127
     ] -> PlatformConstants
            { pc_CONTROL_GROUP_CONST_291 :: Int
pc_CONTROL_GROUP_CONST_291 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v0
            , pc_STD_HDR_SIZE :: Int
pc_STD_HDR_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v1
            , pc_PROF_HDR_SIZE :: Int
pc_PROF_HDR_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v2
            , pc_BLOCK_SIZE :: Int
pc_BLOCK_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v3
            , pc_BLOCKS_PER_MBLOCK :: Int
pc_BLOCKS_PER_MBLOCK = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v4
            , pc_TICKY_BIN_COUNT :: Int
pc_TICKY_BIN_COUNT = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v5
            , pc_OFFSET_StgRegTable_rR1 :: Int
pc_OFFSET_StgRegTable_rR1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v6
            , pc_OFFSET_StgRegTable_rR2 :: Int
pc_OFFSET_StgRegTable_rR2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v7
            , pc_OFFSET_StgRegTable_rR3 :: Int
pc_OFFSET_StgRegTable_rR3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v8
            , pc_OFFSET_StgRegTable_rR4 :: Int
pc_OFFSET_StgRegTable_rR4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v9
            , pc_OFFSET_StgRegTable_rR5 :: Int
pc_OFFSET_StgRegTable_rR5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v10
            , pc_OFFSET_StgRegTable_rR6 :: Int
pc_OFFSET_StgRegTable_rR6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v11
            , pc_OFFSET_StgRegTable_rR7 :: Int
pc_OFFSET_StgRegTable_rR7 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v12
            , pc_OFFSET_StgRegTable_rR8 :: Int
pc_OFFSET_StgRegTable_rR8 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v13
            , pc_OFFSET_StgRegTable_rR9 :: Int
pc_OFFSET_StgRegTable_rR9 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v14
            , pc_OFFSET_StgRegTable_rR10 :: Int
pc_OFFSET_StgRegTable_rR10 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v15
            , pc_OFFSET_StgRegTable_rF1 :: Int
pc_OFFSET_StgRegTable_rF1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v16
            , pc_OFFSET_StgRegTable_rF2 :: Int
pc_OFFSET_StgRegTable_rF2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v17
            , pc_OFFSET_StgRegTable_rF3 :: Int
pc_OFFSET_StgRegTable_rF3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v18
            , pc_OFFSET_StgRegTable_rF4 :: Int
pc_OFFSET_StgRegTable_rF4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v19
            , pc_OFFSET_StgRegTable_rF5 :: Int
pc_OFFSET_StgRegTable_rF5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v20
            , pc_OFFSET_StgRegTable_rF6 :: Int
pc_OFFSET_StgRegTable_rF6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v21
            , pc_OFFSET_StgRegTable_rD1 :: Int
pc_OFFSET_StgRegTable_rD1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v22
            , pc_OFFSET_StgRegTable_rD2 :: Int
pc_OFFSET_StgRegTable_rD2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v23
            , pc_OFFSET_StgRegTable_rD3 :: Int
pc_OFFSET_StgRegTable_rD3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v24
            , pc_OFFSET_StgRegTable_rD4 :: Int
pc_OFFSET_StgRegTable_rD4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v25
            , pc_OFFSET_StgRegTable_rD5 :: Int
pc_OFFSET_StgRegTable_rD5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v26
            , pc_OFFSET_StgRegTable_rD6 :: Int
pc_OFFSET_StgRegTable_rD6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v27
            , pc_OFFSET_StgRegTable_rXMM1 :: Int
pc_OFFSET_StgRegTable_rXMM1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v28
            , pc_OFFSET_StgRegTable_rXMM2 :: Int
pc_OFFSET_StgRegTable_rXMM2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v29
            , pc_OFFSET_StgRegTable_rXMM3 :: Int
pc_OFFSET_StgRegTable_rXMM3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v30
            , pc_OFFSET_StgRegTable_rXMM4 :: Int
pc_OFFSET_StgRegTable_rXMM4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v31
            , pc_OFFSET_StgRegTable_rXMM5 :: Int
pc_OFFSET_StgRegTable_rXMM5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v32
            , pc_OFFSET_StgRegTable_rXMM6 :: Int
pc_OFFSET_StgRegTable_rXMM6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v33
            , pc_OFFSET_StgRegTable_rYMM1 :: Int
pc_OFFSET_StgRegTable_rYMM1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v34
            , pc_OFFSET_StgRegTable_rYMM2 :: Int
pc_OFFSET_StgRegTable_rYMM2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v35
            , pc_OFFSET_StgRegTable_rYMM3 :: Int
pc_OFFSET_StgRegTable_rYMM3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v36
            , pc_OFFSET_StgRegTable_rYMM4 :: Int
pc_OFFSET_StgRegTable_rYMM4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v37
            , pc_OFFSET_StgRegTable_rYMM5 :: Int
pc_OFFSET_StgRegTable_rYMM5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v38
            , pc_OFFSET_StgRegTable_rYMM6 :: Int
pc_OFFSET_StgRegTable_rYMM6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v39
            , pc_OFFSET_StgRegTable_rZMM1 :: Int
pc_OFFSET_StgRegTable_rZMM1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v40
            , pc_OFFSET_StgRegTable_rZMM2 :: Int
pc_OFFSET_StgRegTable_rZMM2 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v41
            , pc_OFFSET_StgRegTable_rZMM3 :: Int
pc_OFFSET_StgRegTable_rZMM3 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v42
            , pc_OFFSET_StgRegTable_rZMM4 :: Int
pc_OFFSET_StgRegTable_rZMM4 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v43
            , pc_OFFSET_StgRegTable_rZMM5 :: Int
pc_OFFSET_StgRegTable_rZMM5 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v44
            , pc_OFFSET_StgRegTable_rZMM6 :: Int
pc_OFFSET_StgRegTable_rZMM6 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v45
            , pc_OFFSET_StgRegTable_rL1 :: Int
pc_OFFSET_StgRegTable_rL1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v46
            , pc_OFFSET_StgRegTable_rSp :: Int
pc_OFFSET_StgRegTable_rSp = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v47
            , pc_OFFSET_StgRegTable_rSpLim :: Int
pc_OFFSET_StgRegTable_rSpLim = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v48
            , pc_OFFSET_StgRegTable_rHp :: Int
pc_OFFSET_StgRegTable_rHp = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v49
            , pc_OFFSET_StgRegTable_rHpLim :: Int
pc_OFFSET_StgRegTable_rHpLim = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v50
            , pc_OFFSET_StgRegTable_rCCCS :: Int
pc_OFFSET_StgRegTable_rCCCS = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v51
            , pc_OFFSET_StgRegTable_rCurrentTSO :: Int
pc_OFFSET_StgRegTable_rCurrentTSO = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v52
            , pc_OFFSET_StgRegTable_rCurrentNursery :: Int
pc_OFFSET_StgRegTable_rCurrentNursery = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v53
            , pc_OFFSET_StgRegTable_rHpAlloc :: Int
pc_OFFSET_StgRegTable_rHpAlloc = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v54
            , pc_OFFSET_stgEagerBlackholeInfo :: Int
pc_OFFSET_stgEagerBlackholeInfo = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v55
            , pc_OFFSET_stgGCEnter1 :: Int
pc_OFFSET_stgGCEnter1 = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v56
            , pc_OFFSET_stgGCFun :: Int
pc_OFFSET_stgGCFun = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v57
            , pc_OFFSET_Capability_r :: Int
pc_OFFSET_Capability_r = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v58
            , pc_OFFSET_bdescr_start :: Int
pc_OFFSET_bdescr_start = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v59
            , pc_OFFSET_bdescr_free :: Int
pc_OFFSET_bdescr_free = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v60
            , pc_OFFSET_bdescr_blocks :: Int
pc_OFFSET_bdescr_blocks = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v61
            , pc_OFFSET_bdescr_flags :: Int
pc_OFFSET_bdescr_flags = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v62
            , pc_SIZEOF_CostCentreStack :: Int
pc_SIZEOF_CostCentreStack = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v63
            , pc_OFFSET_CostCentreStack_mem_alloc :: Int
pc_OFFSET_CostCentreStack_mem_alloc = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v64
            , pc_REP_CostCentreStack_mem_alloc :: Int
pc_REP_CostCentreStack_mem_alloc = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v65
            , pc_OFFSET_CostCentreStack_scc_count :: Int
pc_OFFSET_CostCentreStack_scc_count = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v66
            , pc_REP_CostCentreStack_scc_count :: Int
pc_REP_CostCentreStack_scc_count = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v67
            , pc_OFFSET_StgHeader_ccs :: Int
pc_OFFSET_StgHeader_ccs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v68
            , pc_OFFSET_StgHeader_ldvw :: Int
pc_OFFSET_StgHeader_ldvw = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v69
            , pc_SIZEOF_StgSMPThunkHeader :: Int
pc_SIZEOF_StgSMPThunkHeader = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v70
            , pc_OFFSET_StgEntCounter_allocs :: Int
pc_OFFSET_StgEntCounter_allocs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v71
            , pc_REP_StgEntCounter_allocs :: Int
pc_REP_StgEntCounter_allocs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v72
            , pc_OFFSET_StgEntCounter_allocd :: Int
pc_OFFSET_StgEntCounter_allocd = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v73
            , pc_REP_StgEntCounter_allocd :: Int
pc_REP_StgEntCounter_allocd = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v74
            , pc_OFFSET_StgEntCounter_registeredp :: Int
pc_OFFSET_StgEntCounter_registeredp = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v75
            , pc_OFFSET_StgEntCounter_link :: Int
pc_OFFSET_StgEntCounter_link = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v76
            , pc_OFFSET_StgEntCounter_entry_count :: Int
pc_OFFSET_StgEntCounter_entry_count = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v77
            , pc_SIZEOF_StgUpdateFrame_NoHdr :: Int
pc_SIZEOF_StgUpdateFrame_NoHdr = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v78
            , pc_SIZEOF_StgMutArrPtrs_NoHdr :: Int
pc_SIZEOF_StgMutArrPtrs_NoHdr = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v79
            , pc_OFFSET_StgMutArrPtrs_ptrs :: Int
pc_OFFSET_StgMutArrPtrs_ptrs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v80
            , pc_OFFSET_StgMutArrPtrs_size :: Int
pc_OFFSET_StgMutArrPtrs_size = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v81
            , pc_SIZEOF_StgSmallMutArrPtrs_NoHdr :: Int
pc_SIZEOF_StgSmallMutArrPtrs_NoHdr = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v82
            , pc_OFFSET_StgSmallMutArrPtrs_ptrs :: Int
pc_OFFSET_StgSmallMutArrPtrs_ptrs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v83
            , pc_SIZEOF_StgArrBytes_NoHdr :: Int
pc_SIZEOF_StgArrBytes_NoHdr = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v84
            , pc_OFFSET_StgArrBytes_bytes :: Int
pc_OFFSET_StgArrBytes_bytes = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v85
            , pc_OFFSET_StgTSO_alloc_limit :: Int
pc_OFFSET_StgTSO_alloc_limit = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v86
            , pc_OFFSET_StgTSO_cccs :: Int
pc_OFFSET_StgTSO_cccs = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v87
            , pc_OFFSET_StgTSO_stackobj :: Int
pc_OFFSET_StgTSO_stackobj = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v88
            , pc_OFFSET_StgStack_sp :: Int
pc_OFFSET_StgStack_sp = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v89
            , pc_OFFSET_StgStack_stack :: Int
pc_OFFSET_StgStack_stack = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v90
            , pc_OFFSET_StgUpdateFrame_updatee :: Int
pc_OFFSET_StgUpdateFrame_updatee = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v91
            , pc_OFFSET_StgFunInfoExtraFwd_arity :: Int
pc_OFFSET_StgFunInfoExtraFwd_arity = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v92
            , pc_REP_StgFunInfoExtraFwd_arity :: Int
pc_REP_StgFunInfoExtraFwd_arity = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v93
            , pc_SIZEOF_StgFunInfoExtraRev :: Int
pc_SIZEOF_StgFunInfoExtraRev = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v94
            , pc_OFFSET_StgFunInfoExtraRev_arity :: Int
pc_OFFSET_StgFunInfoExtraRev_arity = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v95
            , pc_REP_StgFunInfoExtraRev_arity :: Int
pc_REP_StgFunInfoExtraRev_arity = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v96
            , pc_MAX_SPEC_SELECTEE_SIZE :: Int
pc_MAX_SPEC_SELECTEE_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v97
            , pc_MAX_SPEC_AP_SIZE :: Int
pc_MAX_SPEC_AP_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v98
            , pc_MIN_PAYLOAD_SIZE :: Int
pc_MIN_PAYLOAD_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v99
            , pc_MIN_INTLIKE :: Int
pc_MIN_INTLIKE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v100
            , pc_MAX_INTLIKE :: Int
pc_MAX_INTLIKE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v101
            , pc_MIN_CHARLIKE :: Int
pc_MIN_CHARLIKE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v102
            , pc_MAX_CHARLIKE :: Int
pc_MAX_CHARLIKE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v103
            , pc_MUT_ARR_PTRS_CARD_BITS :: Int
pc_MUT_ARR_PTRS_CARD_BITS = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v104
            , pc_MAX_Vanilla_REG :: Int
pc_MAX_Vanilla_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v105
            , pc_MAX_Float_REG :: Int
pc_MAX_Float_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v106
            , pc_MAX_Double_REG :: Int
pc_MAX_Double_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v107
            , pc_MAX_Long_REG :: Int
pc_MAX_Long_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v108
            , pc_MAX_XMM_REG :: Int
pc_MAX_XMM_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v109
            , pc_MAX_Real_Vanilla_REG :: Int
pc_MAX_Real_Vanilla_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v110
            , pc_MAX_Real_Float_REG :: Int
pc_MAX_Real_Float_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v111
            , pc_MAX_Real_Double_REG :: Int
pc_MAX_Real_Double_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v112
            , pc_MAX_Real_XMM_REG :: Int
pc_MAX_Real_XMM_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v113
            , pc_MAX_Real_Long_REG :: Int
pc_MAX_Real_Long_REG = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v114
            , pc_RESERVED_C_STACK_BYTES :: Int
pc_RESERVED_C_STACK_BYTES = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v115
            , pc_RESERVED_STACK_WORDS :: Int
pc_RESERVED_STACK_WORDS = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v116
            , pc_AP_STACK_SPLIM :: Int
pc_AP_STACK_SPLIM = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v117
            , pc_WORD_SIZE :: Int
pc_WORD_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v118
            , pc_CINT_SIZE :: Int
pc_CINT_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v119
            , pc_CLONG_SIZE :: Int
pc_CLONG_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v120
            , pc_CLONG_LONG_SIZE :: Int
pc_CLONG_LONG_SIZE = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v121
            , pc_BITMAP_BITS_SHIFT :: Int
pc_BITMAP_BITS_SHIFT = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v122
            , pc_TAG_BITS :: Int
pc_TAG_BITS = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v123
            , pc_LDV_SHIFT :: Int
pc_LDV_SHIFT = forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
v124
            , pc_ILDV_CREATE_MASK :: Integer
pc_ILDV_CREATE_MASK = Integer
v125
            , pc_ILDV_STATE_CREATE :: Integer
pc_ILDV_STATE_CREATE = Integer
v126
            , pc_ILDV_STATE_USE :: Integer
pc_ILDV_STATE_USE = Integer
v127
            }
    [Integer]
_ -> forall a. HasCallStack => String -> a
error String
"Invalid platform constants"