comparison libsanitizer/tsan/tsan_sync.h @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 //===-- tsan_sync.h ---------------------------------------------*- C++ -*-===// 1 //===-- tsan_sync.h ---------------------------------------------*- C++ -*-===//
2 // 2 //
3 // This file is distributed under the University of Illinois Open Source 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // License. See LICENSE.TXT for details. 4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5 // 6 //
6 //===----------------------------------------------------------------------===// 7 //===----------------------------------------------------------------------===//
7 // 8 //
8 // This file is a part of ThreadSanitizer (TSan), a race detector. 9 // This file is a part of ThreadSanitizer (TSan), a race detector.
9 // 10 //
30 MutexFlagReadLock = 1 << 3, // __tsan_mutex_read_lock 31 MutexFlagReadLock = 1 << 3, // __tsan_mutex_read_lock
31 MutexFlagTryLock = 1 << 4, // __tsan_mutex_try_lock 32 MutexFlagTryLock = 1 << 4, // __tsan_mutex_try_lock
32 MutexFlagTryLockFailed = 1 << 5, // __tsan_mutex_try_lock_failed 33 MutexFlagTryLockFailed = 1 << 5, // __tsan_mutex_try_lock_failed
33 MutexFlagRecursiveLock = 1 << 6, // __tsan_mutex_recursive_lock 34 MutexFlagRecursiveLock = 1 << 6, // __tsan_mutex_recursive_lock
34 MutexFlagRecursiveUnlock = 1 << 7, // __tsan_mutex_recursive_unlock 35 MutexFlagRecursiveUnlock = 1 << 7, // __tsan_mutex_recursive_unlock
36 MutexFlagNotStatic = 1 << 8, // __tsan_mutex_not_static
35 37
36 // The following flags are runtime private. 38 // The following flags are runtime private.
37 // Mutex API misuse was detected, so don't report any more. 39 // Mutex API misuse was detected, so don't report any more.
38 MutexFlagBroken = 1 << 30, 40 MutexFlagBroken = 1 << 30,
39 // We did not intercept pre lock event, so handle it on post lock. 41 // We did not intercept pre lock event, so handle it on post lock.
40 MutexFlagDoPreLockOnPostLock = 1 << 29, 42 MutexFlagDoPreLockOnPostLock = 1 << 29,
41 // Must list all mutex creation flags. 43 // Must list all mutex creation flags.
42 MutexCreationFlagMask = MutexFlagLinkerInit | 44 MutexCreationFlagMask = MutexFlagLinkerInit |
43 MutexFlagWriteReentrant | 45 MutexFlagWriteReentrant |
44 MutexFlagReadReentrant, 46 MutexFlagReadReentrant |
47 MutexFlagNotStatic,
45 }; 48 };
46 49
47 struct SyncVar { 50 struct SyncVar {
48 SyncVar(); 51 SyncVar();
49 52