summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2013-05-29 11:23:54 +0000
committerDmitry Vyukov <dvyukov@google.com>2013-05-29 11:23:54 +0000
commit2b997d2914a04e67962720401a5af2174d04cd4c (patch)
tree5881d6ceb661c71991db92148ee99c9af7dbe71d
parent93aa8dfb783d80ef337993b21114ea03fd7a00bf (diff)
downloadbcm5719-llvm-2b997d2914a04e67962720401a5af2174d04cd4c.tar.gz
bcm5719-llvm-2b997d2914a04e67962720401a5af2174d04cd4c.zip
tsan: match "race" suppressions against "race on vptr" reports
llvm-svn: 182842
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_suppressions.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc b/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc
index 6c49355bed8..977c008b88b 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc
@@ -152,14 +152,20 @@ uptr IsSuppressed(ReportType typ, const ReportStack *stack, Suppression **sp) {
SuppressionType stype;
if (typ == ReportTypeRace)
stype = SuppressionRace;
+ else if (typ == ReportTypeVptrRace)
+ stype = SuppressionRace;
+ else if (typ == ReportTypeUseAfterFree)
+ return 0;
else if (typ == ReportTypeThreadLeak)
stype = SuppressionThread;
else if (typ == ReportTypeMutexDestroyLocked)
stype = SuppressionMutex;
else if (typ == ReportTypeSignalUnsafe)
stype = SuppressionSignal;
- else
+ else if (typ == ReportTypeErrnoInSignal)
return 0;
+ else
+ Printf("ThreadSanitizer: unknown report type %d\n", typ), Die();
for (const ReportStack *frame = stack; frame; frame = frame->next) {
for (Suppression *supp = g_suppressions; supp; supp = supp->next) {
if (stype == supp->type &&
OpenPOWER on IntegriCloud