]> git.ipfire.org Git - thirdparty/gcc.git/blame - libsanitizer/tsan/tsan_ignoreset.h
Libsanitizer merge from trunk r368656.
[thirdparty/gcc.git] / libsanitizer / tsan / tsan_ignoreset.h
CommitLineData
4fc7b5ac 1//===-- tsan_ignoreset.h ----------------------------------------*- C++ -*-===//
2//
2fc4da48 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
4fc7b5ac 6//
7//===----------------------------------------------------------------------===//
8//
9// This file is a part of ThreadSanitizer (TSan), a race detector.
10//
11// IgnoreSet holds a set of stack traces where ignores were enabled.
12//===----------------------------------------------------------------------===//
13#ifndef TSAN_IGNORESET_H
14#define TSAN_IGNORESET_H
15
16#include "tsan_defs.h"
17
18namespace __tsan {
19
20class IgnoreSet {
21 public:
22 static const uptr kMaxSize = 16;
23
24 IgnoreSet();
25 void Add(u32 stack_id);
26 void Reset();
27 uptr Size() const;
28 u32 At(uptr i) const;
29
30 private:
31 uptr size_;
32 u32 stacks_[kMaxSize];
33};
34
35} // namespace __tsan
36
37#endif // TSAN_IGNORESET_H