[compiler-rt] [NFC][TSan] Tidy up DPrintf warnings in TSan runtime (PR #161371)
Dan Blackwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 30 06:12:03 PDT 2025
https://github.com/DanBlackwell created https://github.com/llvm/llvm-project/pull/161371
Currently there are many `warning: format specifies type 'void *'` warnings when compiling TSan with debug output.
This patch adds the `void *` casts where necessary to eliminate the warnings.
>From fdca4c07c04f3f9b8069980d753928402a3026a2 Mon Sep 17 00:00:00 2001
From: Dan Blackwell <dan_blackwell at apple.com>
Date: Tue, 30 Sep 2025 14:04:40 +0100
Subject: [PATCH] [NFC][TSan] Tidy up DPrintf warnings in TSan runtime
Currently there are many `warning: format specifies type 'void *'` warnings when compiling TSan with debug output.
This patch adds the `void *` casts where necessary to eliminate the warnings.
---
compiler-rt/lib/tsan/rtl/tsan_fd.cpp | 4 ++--
compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 6 +++---
compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp | 5 +++--
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/compiler-rt/lib/tsan/rtl/tsan_fd.cpp b/compiler-rt/lib/tsan/rtl/tsan_fd.cpp
index ab295a69dce17..86538bbad1138 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_fd.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_fd.cpp
@@ -180,7 +180,7 @@ void FdAcquire(ThreadState *thr, uptr pc, int fd) {
return;
FdDesc *d = fddesc(thr, pc, fd);
FdSync *s = d->sync;
- DPrintf("#%d: FdAcquire(%d) -> %p\n", thr->tid, fd, s);
+ DPrintf("#%d: FdAcquire(%d) -> %p\n", thr->tid, fd, (void *)s);
MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead);
if (s)
Acquire(thr, pc, (uptr)s);
@@ -191,7 +191,7 @@ void FdRelease(ThreadState *thr, uptr pc, int fd) {
return;
FdDesc *d = fddesc(thr, pc, fd);
FdSync *s = d->sync;
- DPrintf("#%d: FdRelease(%d) -> %p\n", thr->tid, fd, s);
+ DPrintf("#%d: FdRelease(%d) -> %p\n", thr->tid, fd, (void *)s);
MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead);
if (s)
Release(thr, pc, (uptr)s);
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
index 0d7247a56a4c2..3008f28ab764b 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
@@ -86,7 +86,7 @@ static TracePart* TracePartAlloc(ThreadState* thr) {
if (trace->parts_allocated == max_parts ||
ctx->trace_part_finished_excess) {
part = ctx->trace_part_recycle.PopFront();
- DPrintf("#%d: TracePartAlloc: part=%p\n", thr->tid, part);
+ DPrintf("#%d: TracePartAlloc: part=%p\n", thr->tid, (void*)part);
if (part && part->trace) {
Trace* trace1 = part->trace;
Lock trace_lock(&trace1->mtx);
@@ -938,7 +938,7 @@ static bool TraceSkipGap(ThreadState* thr) {
DCHECK_EQ(reinterpret_cast<uptr>(pos + 1) & TracePart::kAlignment, 0);
auto *part = trace->parts.Back();
DPrintf("#%d: TraceSwitchPart enter trace=%p parts=%p-%p pos=%p\n", thr->tid,
- trace, trace->parts.Front(), part, pos);
+ (void*)trace, (void*)trace->parts.Front(), (void*)part, (void*)pos);
if (!part)
return false;
// We can get here when we still have space in the current trace part.
@@ -1052,7 +1052,7 @@ void TraceSwitchPartImpl(ThreadState* thr) {
ctx->trace_part_recycle.PushBack(recycle);
}
DPrintf("#%d: TraceSwitchPart exit parts=%p-%p pos=0x%zx\n", thr->tid,
- trace->parts.Front(), trace->parts.Back(),
+ (void*)trace->parts.Front(), (void*)trace->parts.Back(),
atomic_load_relaxed(&thr->trace_pos));
}
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
index 43aef30d2f3b3..edfb3373ea036 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
@@ -511,7 +511,8 @@ bool RestoreStack(EventType type, Sid sid, Epoch epoch, uptr addr, uptr size,
Lock lock(&trace->mtx);
first_part = trace->parts.Front();
if (!first_part) {
- DPrintf2("RestoreStack: tid=%d trace=%p no trace parts\n", tid, trace);
+ DPrintf2("RestoreStack: tid=%d trace=%p no trace parts\n", tid,
+ (void *)trace);
return false;
}
last_part = trace->parts.Back();
@@ -527,7 +528,7 @@ bool RestoreStack(EventType type, Sid sid, Epoch epoch, uptr addr, uptr size,
bool is_atomic = typ & kAccessAtomic;
bool is_free = typ & kAccessFree;
DPrintf2("RestoreStack: tid=%d parts=[%p-%p] last_pos=%p\n", tid,
- trace->parts.Front(), last_part, last_pos);
+ (void *)trace->parts.Front(), (void *)last_part, (void *)last_pos);
TraceReplay(
trace, last_part, last_pos, sid, epoch,
[&](Sid ev_sid, Epoch ev_epoch, Event *evp) {
More information about the llvm-commits
mailing list