#3979: +RTS -S inserts only the last three commas into large allocation sums
-------------------------------+--------------------------------------------
    Reporter:  wkahl           |        Owner:            
        Type:  bug             |       Status:  new       
    Priority:  high            |    Milestone:  6.14.1    
   Component:  Runtime System  |      Version:  6.12.1 RC1
    Keywords:                  |   Difficulty:            
          Os:  Linux           |     Testcase:            
Architecture:  powerpc         |      Failure:  Other     
-------------------------------+--------------------------------------------
Changes (by igloo):

  * priority:  normal => high
  * milestone:  => 6.14.1


Comment:

 Thanks for the report.

 The problem is in `ullong_format_string` in `rts/RtsUtils.c`, which only
 has cases for up to 3 commas. I'm a bit confused by the `ullong` type,
 though. In `includes/rts/Types.h` we have:
 {{{
 #ifndef _MSC_VER
 typedef unsigned long long ullong;   /* at least 32 bits            */
 typedef long long llong;
 #else
 typedef unsigned __int64   ullong;   /* at least 32 bits            */
 typedef __int64 llong;
 #endif
 }}}
 but, contrary to the comments, are we actually trying to make a 64-bit
 type?

 Should we define an int64 type instead, and use that instead of ullong,
 and also use that to define `StgInt64` etc?

 And are we able to use `int64_t`, `PRId64` and friends on all platforms
 now? I think they're all in C99.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3979#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to