tsan_ignoreset.h revision 1.1.1.2
1//===-- tsan_ignoreset.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// 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 38