summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc')
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc b/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc
index 18ab18e0cbf..50c531177dc 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc
@@ -616,7 +616,12 @@ void ReportRace(ThreadState *thr) {
Context *ctx = CTX();
ThreadRegistryLock l0(ctx->thread_registry);
- ScopedReport rep(freed ? ReportTypeUseAfterFree : ReportTypeRace);
+ ReportType typ = ReportTypeRace;
+ if (thr->is_vptr_access)
+ typ = ReportTypeVptrRace;
+ else if (freed)
+ typ = ReportTypeUseAfterFree;
+ ScopedReport rep(typ);
const uptr kMop = 2;
StackTrace traces[kMop];
const uptr toppc = TraceTopPC(thr);
OpenPOWER on IntegriCloud