about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorJake Goulding <jake.goulding@gmail.com>2016-11-18 16:22:39 -0500
committerJake Goulding <jake.goulding@gmail.com>2016-12-02 21:14:06 -0500
commit757a9cea3f106483901deab928ad4688d098be3c (patch)
tree1af394e1ca6d891424f598623ee481eb6492b75a /src/rustllvm/RustWrapper.cpp
parentdbdd60e6d7b3a812c9461f854f3cd3368ec85942 (diff)
downloadrust-757a9cea3f106483901deab928ad4688d098be3c.tar.gz
rust-757a9cea3f106483901deab928ad4688d098be3c.zip
[LLVM 4.0] Support new DIFlags enum
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index 07a7cbdd3d4..51859a928c4 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -397,8 +397,13 @@ inline LLVMRustDIFlags visibility(LLVMRustDIFlags f) {
     return static_cast<LLVMRustDIFlags>(static_cast<uint32_t>(f) & 0x3);
 }
 
+#if LLVM_VERSION_GE(4, 0)
+static DINode::DIFlags from_rust(LLVMRustDIFlags flags) {
+    DINode::DIFlags result = DINode::DIFlags::FlagZero;
+#else
 static unsigned from_rust(LLVMRustDIFlags flags) {
     unsigned result = 0;
+#endif
 
     switch (visibility(flags)) {
     case LLVMRustDIFlags::FlagPrivate: