#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