diff options
| author | bors <bors@rust-lang.org> | 2013-07-28 03:55:22 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-28 03:55:22 -0700 |
| commit | 5842ab36b81f0a3e8d6dd48a200bc405ad19ca96 (patch) | |
| tree | 3e5d310206b16cf3048abe6d16ea27d360636b7a /src/rustllvm/RustWrapper.cpp | |
| parent | fe9929e303f4e0322fd0f38ec6cb6b3ec932e4a3 (diff) | |
| parent | 639819f3d991a63883bc571f9aed13b8e59036d6 (diff) | |
| download | rust-5842ab36b81f0a3e8d6dd48a200bc405ad19ca96.tar.gz rust-5842ab36b81f0a3e8d6dd48a200bc405ad19ca96.zip | |
auto merge of #8087 : Aatch/rust/atomics, r=huonw
Adds a fence operation to close #8061 Also adds static initializers to for atomic types. Since the fields are private, you aren't able to have `static mut` variables that are an atomic type. Each atomic type's initializer starts at a 0-value (so unset for `AtomicFlag` and false for `AtomicBool`).
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 2a1f26bf441..beaa7e1daef 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -513,6 +513,9 @@ extern "C" LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, return wrap(unwrap(B)->CreateAtomicCmpXchg(unwrap(target), unwrap(old), unwrap(source), order)); } +extern "C" LLVMValueRef LLVMBuildAtomicFence(LLVMBuilderRef B, AtomicOrdering order) { + return wrap(unwrap(B)->CreateFence(order)); +} extern "C" LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, AtomicRMWInst::BinOp op, LLVMValueRef target, @@ -838,4 +841,4 @@ extern "C" LLVMValueRef LLVMDIBuilderCreateUnionType( Flags, unwrapDI<DIArray>(Elements), RunTimeLang)); -} \ No newline at end of file +} |
