
#11120: Missing type representations -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: closed Priority: high | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1774 Wiki Page: | -------------------------------------+------------------------------------- Comment (by luite): Oh I'm sorry, I expected the problem to be known due to the `TODO: This should be for the target, no?` remark in the code. GHCJS configures the GHC API through `DynFlags` to produce 32 bit code. The GHC code was reworked to support changing the target dynamically. For example in `PrelRules` the `WORD_SIZE_IN_BITS` constant was replaced by `wordSizeInBits dflags`(which in turn uses `targetPlatform` from `dflags`) in various places. Unfortunately the use of the `WORD_SIZE_IN_BITS` macro in `TysWiredIn` means that `TyCon` gets `Word#` fields with a 64 bit GHC library, even if `wordSizeInBits dflags == 32`. It should get `Word64#` fields. GHC should really use the `DynFlags` word size value in `trTyConDataCon` (similar to for example `PrelRules.shiftRightLogical`) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11120#comment:31 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler