[GHC] #11502: Scrutinize use of 'long' in rts/

GHC ghc-devs at haskell.org
Fri May 6 08:56:25 UTC 2016


#11502: Scrutinize use of 'long' in rts/
-------------------------------------+-------------------------------------
        Reporter:  thomie            |                Owner:  MarcelineVQ
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  7.10.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by erikd):

 * cc: erikd (added)


Comment:

 Replying to [comment:4 hvr]:
 > Given we're slowly moving to C99-izing the code (se e.g.
 db9de7eb3e91820024f673bfdb6fb8064cfed20d), it may make sense to take this
 opportunity to use `<stdint.h>`-typedefs instead, e.g.
 >
 >  - `int64_t` instead of `StgInt64`
 >  - `uint64_t` instead of `StgWord64`
 >  - `intptr_t` instead of `StgInt`
 >  - `uintptr_t` instead of `StgWord`

 I'm no actually sure that just applying this change blindly across the
 code base is a good idea.

 There are almost certainly places where `StgWord` is used as a "machine
 word sized unsigned value" and has no notion of pointer-ness at all. In
 that case. `size_t` might be a better choice.

 Similarly, for `StgInt`, there are probably places where `ssize_t` (the
 signed version of `size_t`) is a better choice.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11502#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list