2014-12-16 Janus Weil <janus@gcc.gnu.org>
[official-gcc.git] / libsanitizer / tsan / tsan_ignoreset.h
blob5a250b75af5b7e2a1d0cc03049bc35aa2a06afa3
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
15 #include "tsan_defs.h"
17 namespace __tsan {
19 class IgnoreSet {
20 public:
21 static const uptr kMaxSize = 16;
23 IgnoreSet();
24 void Add(u32 stack_id);
25 void Reset();
26 uptr Size() const;
27 u32 At(uptr i) const;
29 private:
30 uptr size_;
31 u32 stacks_[kMaxSize];
34 } // namespace __tsan
36 #endif // TSAN_IGNORESET_H