
#12636: ProfHeap's printf modifiers are incorrect -------------------------------------+------------------------------------- Reporter: Phyx- | Owner: bollu Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.0.1 Resolution: | Keywords: newcomer Operating System: Windows | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bollu): Why does the `Census` type `ssize_t` for `void_total`, `drag_total`, etc? wouldn't `size_t` be more appropriate, as they don't seem to be using the _signed_ property of `ssize_t`? The piece of code that causes the warning is {{{ fprintf(hp_file, "LAG\t%lu\n", (unsigned long)(census->not_used - census->void_total) * sizeof(W_)); }}} The `sizeof(W_) :: size_t` and `census->not_used :: ssize_t`. The solution that I'm proposing is to cast the `ssize_t` to a `size_t` and then change the format specifier to `%zu` as discussed on StackOverflow: [http://stackoverflow.com/questions/2125845/platform-independent-size-t -format-specifiers-in-c] -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12636#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler