1//===-- tsan_ignoreset.h ----------------------------------------*- C++ -*-===//
2//
3// This file is distributed under the University of Illinois Open Source
4// License. See LICENSE.TXT for details.
5//
6//===----------------------------------------------------------------------===//
7//
8// This file is a part of ThreadSanitizer (TSan), a race detector.
9//
10// IgnoreSet holds a set of stack traces where ignores were enabled.
11//===----------------------------------------------------------------------===//
12#ifndef TSAN_IGNORESET_H
13#define TSAN_IGNORESET_H
14
15#include "tsan_defs.h"
16
17namespace __tsan {
18
19class IgnoreSet {
20 public:
21  static const uptr kMaxSize = 16;
22
23  IgnoreSet();
24  void Add(u32 stack_id);
25  void Reset();
26  uptr Size() const;
27  u32 At(uptr i) const;
28
29 private:
30  uptr size_;
31  u32 stacks_[kMaxSize];
32};
33
34}  // namespace __tsan
35
36#endif  // TSAN_IGNORESET_H
37