1 //===-- tsan_report.h -------------------------------------------*- C++ -*-===//
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
6 //===----------------------------------------------------------------------===//
8 // This file is a part of ThreadSanitizer (TSan), a race detector.
10 //===----------------------------------------------------------------------===//
14 #include "tsan_defs.h"
15 #include "tsan_vector.h"
22 ReportTypeUseAfterFree
,
24 ReportTypeMutexDestroyLocked
,
25 ReportTypeSignalUnsafe
,
26 ReportTypeErrnoInSignal
40 struct ReportMopMutex
{
51 Vector
<ReportMopMutex
> mset
;
57 enum ReportLocationType
{
65 struct ReportLocation
{
66 ReportLocationType type
;
97 Vector
<ReportStack
*> stacks
;
98 Vector
<ReportMop
*> mops
;
99 Vector
<ReportLocation
*> locs
;
100 Vector
<ReportMutex
*> mutexes
;
101 Vector
<ReportThread
*> threads
;
109 ReportDesc(const ReportDesc
&);
110 void operator = (const ReportDesc
&);
113 // Format and output the report to the console/log. No additional logic.
114 void PrintReport(const ReportDesc
*rep
);
115 void PrintStack(const ReportStack
*stack
);
117 } // namespace __tsan
119 #endif // TSAN_REPORT_H