summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rts/ProfHeap.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/rts/ProfHeap.c b/rts/ProfHeap.c
index d492b89b03..608b976605 100644
--- a/rts/ProfHeap.c
+++ b/rts/ProfHeap.c
@@ -770,17 +770,22 @@ dumpCensus( Census *census )
traceHeapProfSampleBegin(era);
#ifdef PROFILING
+ /* change typecast to uint64_t to remove
+ * print formatting warning. See #12636 */
if (RtsFlags.ProfFlags.doHeapProfile == HEAP_BY_LDV) {
- fprintf(hp_file, "VOID\t%lu\n",
- (unsigned long)(census->void_total) * sizeof(W_));
- fprintf(hp_file, "LAG\t%lu\n",
- (unsigned long)(census->not_used - census->void_total) * sizeof(W_));
- fprintf(hp_file, "USE\t%lu\n",
- (unsigned long)(census->used - census->drag_total) * sizeof(W_));
- fprintf(hp_file, "INHERENT_USE\t%lu\n",
- (unsigned long)(census->prim) * sizeof(W_));
- fprintf(hp_file, "DRAG\t%lu\n",
- (unsigned long)(census->drag_total) * sizeof(W_));
+ fprintf(hp_file, "VOID\t%" FMT_Word64 "\n",
+ (uint64_t)(census->void_total *
+ sizeof(W_)));
+ fprintf(hp_file, "LAG\t%" FMT_Word64 "\n",
+ (uint64_t)((census->not_used - census->void_total) *
+ sizeof(W_)));
+ fprintf(hp_file, "USE\t%" FMT_Word64 "\n",
+ (uint64_t)((census->used - census->drag_total) *
+ sizeof(W_)));
+ fprintf(hp_file, "INHERENT_USE\t%" FMT_Word64 "\n",
+ (uint64_t)(census->prim * sizeof(W_)));
+ fprintf(hp_file, "DRAG\t%" FMT_Word64 "\n",
+ (uint64_t)(census->drag_total * sizeof(W_)));
printSample(false, census->time);
return;
}