diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2013-05-29 11:23:54 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2013-05-29 11:23:54 +0000 |
commit | 2b997d2914a04e67962720401a5af2174d04cd4c (patch) | |
tree | 5881d6ceb661c71991db92148ee99c9af7dbe71d | |
parent | 93aa8dfb783d80ef337993b21114ea03fd7a00bf (diff) | |
download | bcm5719-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.cc | 8 |
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 && |