1 //===-- tsan_flags.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 // NOTE: This file may be included into user code. 11 //===----------------------------------------------------------------------===// 12 13 #ifndef TSAN_FLAGS_H 14 #define TSAN_FLAGS_H 15 16 #include "sanitizer_common/sanitizer_flags.h" 17 #include "sanitizer_common/sanitizer_deadlock_detector_interface.h" 18 19 namespace __tsan { 20 21 struct Flags : DDFlags { 22 #define TSAN_FLAG(Type, Name, DefaultValue, Description) Type Name; 23 #include "tsan_flags.inc" 24 #undef TSAN_FLAG 25 26 void SetDefaults(); 27 void ParseFromString(const char *str); 28 }; 29 30 void InitializeFlags(Flags *flags, const char *env, 31 const char *env_option_name = nullptr); 32 } // namespace __tsan 33 34 #endif // TSAN_FLAGS_H 35