diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/Support/Atomic.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/Support/Atomic.cpp')
| -rw-r--r-- | gnu/llvm/lib/Support/Atomic.cpp | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/gnu/llvm/lib/Support/Atomic.cpp b/gnu/llvm/lib/Support/Atomic.cpp deleted file mode 100644 index 7328a93052c..00000000000 --- a/gnu/llvm/lib/Support/Atomic.cpp +++ /dev/null @@ -1,60 +0,0 @@ -//===-- Atomic.cpp - Atomic Operations --------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file implements atomic operations. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/Atomic.h" -#include "llvm/Config/llvm-config.h" - -using namespace llvm; - -#if defined(_MSC_VER) -#include <intrin.h> - -// We must include windows.h after intrin.h. -#include <windows.h> -#undef MemoryFence -#endif - -#if defined(__GNUC__) || (defined(__IBMCPP__) && __IBMCPP__ >= 1210) -#define GNU_ATOMICS -#endif - -void sys::MemoryFence() { -#if LLVM_HAS_ATOMICS == 0 - return; -#else -# if defined(GNU_ATOMICS) - __sync_synchronize(); -# elif defined(_MSC_VER) - MemoryBarrier(); -# else -# error No memory fence implementation for your platform! -# endif -#endif -} - -sys::cas_flag sys::CompareAndSwap(volatile sys::cas_flag* ptr, - sys::cas_flag new_value, - sys::cas_flag old_value) { -#if LLVM_HAS_ATOMICS == 0 - sys::cas_flag result = *ptr; - if (result == old_value) - *ptr = new_value; - return result; -#elif defined(GNU_ATOMICS) - return __sync_val_compare_and_swap(ptr, old_value, new_value); -#elif defined(_MSC_VER) - return InterlockedCompareExchange(ptr, new_value, old_value); -#else -# error No compare-and-swap implementation for your platform! -#endif -} |
