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