tsan: match "race" suppressions against "race on vptr" reports

llvm-svn: 182842
This commit is contained in:
Dmitry Vyukov 2013-05-29 11:23:54 +00:00
parent 93aa8dfb78
commit 2b997d2914
1 changed files with 7 additions and 1 deletions

View File

@ -152,14 +152,20 @@ uptr IsSuppressed(ReportType typ, const ReportStack *stack, Suppression **sp) {
SuppressionType stype; SuppressionType stype;
if (typ == ReportTypeRace) if (typ == ReportTypeRace)
stype = SuppressionRace; stype = SuppressionRace;
else if (typ == ReportTypeVptrRace)
stype = SuppressionRace;
else if (typ == ReportTypeUseAfterFree)
return 0;
else if (typ == ReportTypeThreadLeak) else if (typ == ReportTypeThreadLeak)
stype = SuppressionThread; stype = SuppressionThread;
else if (typ == ReportTypeMutexDestroyLocked) else if (typ == ReportTypeMutexDestroyLocked)
stype = SuppressionMutex; stype = SuppressionMutex;
else if (typ == ReportTypeSignalUnsafe) else if (typ == ReportTypeSignalUnsafe)
stype = SuppressionSignal; stype = SuppressionSignal;
else else if (typ == ReportTypeErrnoInSignal)
return 0; return 0;
else
Printf("ThreadSanitizer: unknown report type %d\n", typ), Die();
for (const ReportStack *frame = stack; frame; frame = frame->next) { for (const ReportStack *frame = stack; frame; frame = frame->next) {
for (Suppression *supp = g_suppressions; supp; supp = supp->next) { for (Suppression *supp = g_suppressions; supp; supp = supp->next) {
if (stype == supp->type && if (stype == supp->type &&