1//===-- tsan_suppressions.h -------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file is a part of ThreadSanitizer (TSan), a race detector.
10//
11//===----------------------------------------------------------------------===//
12#ifndef TSAN_SUPPRESSIONS_H
13#define TSAN_SUPPRESSIONS_H
14
15#include "sanitizer_common/sanitizer_suppressions.h"
16#include "tsan_report.h"
17
18namespace __tsan {
19
20const char kSuppressionNone[] = "none";
21const char kSuppressionRace[] = "race";
22const char kSuppressionRaceTop[] = "race_top";
23const char kSuppressionMutex[] = "mutex";
24const char kSuppressionThread[] = "thread";
25const char kSuppressionSignal[] = "signal";
26const char kSuppressionLib[] = "called_from_lib";
27const char kSuppressionDeadlock[] = "deadlock";
28
29void InitializeSuppressions();
30SuppressionContext *Suppressions();
31void PrintMatchedSuppressions();
32uptr IsSuppressed(ReportType typ, const ReportStack *stack, Suppression **sp);
33uptr IsSuppressed(ReportType typ, const ReportLocation *loc, Suppression **sp);
34
35} // namespace __tsan
36
37#endif // TSAN_SUPPRESSIONS_H
38