diff options
author | wmi <wmi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-01 22:59:28 +0000 |
---|---|---|
committer | wmi <wmi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-01 22:59:28 +0000 |
commit | 759c16b72b938f8986bd911a6173d89745ec23e1 (patch) | |
tree | 3538292733f4a960b8d2a480863e24627320ad3c /libsanitizer/sanitizer_common/sanitizer_atomic.h | |
parent | 362cbc2d5f18c9f00dc3b945fb01c43bb0d36aae (diff) | |
download | gcc-759c16b72b938f8986bd911a6173d89745ec23e1.tar.gz |
* configure.ac: Change target-libasan to target-libsanitizer.asan
* configure.in: Regenerate.
* Makefile.def: Change libasan module to libsanitizer.
* Makefile.in: Regenerate.
* libsanitizer: Change libasan to libsanitizer and add
an empty tsan directory under libsanitizer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/asan@193074 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libsanitizer/sanitizer_common/sanitizer_atomic.h')
-rw-r--r-- | libsanitizer/sanitizer_common/sanitizer_atomic.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/libsanitizer/sanitizer_common/sanitizer_atomic.h b/libsanitizer/sanitizer_common/sanitizer_atomic.h new file mode 100644 index 00000000000..f2bf23588a4 --- /dev/null +++ b/libsanitizer/sanitizer_common/sanitizer_atomic.h @@ -0,0 +1,63 @@ +//===-- sanitizer_atomic.h --------------------------------------*- C++ -*-===// +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file is a part of ThreadSanitizer/AddressSanitizer runtime. +// +//===----------------------------------------------------------------------===// + +#ifndef SANITIZER_ATOMIC_H +#define SANITIZER_ATOMIC_H + +#include "sanitizer_internal_defs.h" + +namespace __sanitizer { + +enum memory_order { + memory_order_relaxed = 1 << 0, + memory_order_consume = 1 << 1, + memory_order_acquire = 1 << 2, + memory_order_release = 1 << 3, + memory_order_acq_rel = 1 << 4, + memory_order_seq_cst = 1 << 5 +}; + +struct atomic_uint8_t { + typedef u8 Type; + volatile Type val_dont_use; +}; + +struct atomic_uint16_t { + typedef u16 Type; + volatile Type val_dont_use; +}; + +struct atomic_uint32_t { + typedef u32 Type; + volatile Type val_dont_use; +}; + +struct atomic_uint64_t { + typedef u64 Type; + volatile Type val_dont_use; +}; + +struct atomic_uintptr_t { + typedef uptr Type; + volatile Type val_dont_use; +}; + +} // namespace __sanitizer + +#if defined(__GNUC__) +# include "sanitizer_atomic_clang.h" +#elif defined(_MSC_VER) +# include "sanitizer_atomic_msvc.h" +#else +# error "Unsupported compiler" +#endif + +#endif // SANITIZER_ATOMIC_H |