17ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===-- tsan_suppressions.h -------------------------------------*- C++ -*-===//
27ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//
37ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//                     The LLVM Compiler Infrastructure
47ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//
57ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// This file is distributed under the University of Illinois Open Source
67ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// License. See LICENSE.TXT for details.
77ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//
87ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===----------------------------------------------------------------------===//
97ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//
107ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// This file is a part of ThreadSanitizer (TSan), a race detector.
117ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//
127ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===----------------------------------------------------------------------===//
137ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#ifndef TSAN_SUPPRESSIONS_H
147ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#define TSAN_SUPPRESSIONS_H
157ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany
16a52e5c6f371bcc66e89792db1219a557664aab8dSergey Matveev#include "sanitizer_common/sanitizer_suppressions.h"
177ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#include "tsan_report.h"
187ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany
197ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryanynamespace __tsan {
207ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany
2186277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionNone[] = "none";
2286277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionRace[] = "race";
23799172d60d32feb1acba1a6867f3a9c39a999e5cPirama Arumuga Nainarconst char kSuppressionRaceTop[] = "race_top";
2486277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionMutex[] = "mutex";
2586277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionThread[] = "thread";
2686277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionSignal[] = "signal";
2786277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionLib[] = "called_from_lib";
2886277eb844c4983c81de62d7c050e92fe7155788Stephen Hinesconst char kSuppressionDeadlock[] = "deadlock";
2986277eb844c4983c81de62d7c050e92fe7155788Stephen Hines
30f754eb501d6bd163fff6747716b7703fe45be4b8Dmitry Vyukovvoid InitializeSuppressions();
3186277eb844c4983c81de62d7c050e92fe7155788Stephen HinesSuppressionContext *Suppressions();
32f754eb501d6bd163fff6747716b7703fe45be4b8Dmitry Vyukovvoid PrintMatchedSuppressions();
33f754eb501d6bd163fff6747716b7703fe45be4b8Dmitry Vyukovuptr IsSuppressed(ReportType typ, const ReportStack *stack, Suppression **sp);
3439968339a07d790aadcf27534f92a0de8c0c90fbDmitry Vyukovuptr IsSuppressed(ReportType typ, const ReportLocation *loc, Suppression **sp);
357ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany
367ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany}  // namespace __tsan
377ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany
387ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#endif  // TSAN_SUPPRESSIONS_H
39