about summary refs log tree commit diff
path: root/src/rustllvm/rustllvm.h
diff options
context:
space:
mode:
authorJake Goulding <jake.goulding@gmail.com>2016-09-24 10:44:21 -0400
committerJake Goulding <jake.goulding@gmail.com>2016-09-26 13:40:29 -0400
commite6e117c33ac16d2dc0a852bbc8809e5b23fa8c7b (patch)
treecc97a20065280e61283834cb0f5c510272368730 /src/rustllvm/rustllvm.h
parentb786976a158e79196254f489bb3a6f87e4d16a5a (diff)
downloadrust-e6e117c33ac16d2dc0a852bbc8809e5b23fa8c7b.tar.gz
rust-e6e117c33ac16d2dc0a852bbc8809e5b23fa8c7b.zip
Extend preprocessor LLVM version checks to support LLVM 4.x
This doesn't actually do anything for LLVM 4.x yet, but sets the stage.
Diffstat (limited to 'src/rustllvm/rustllvm.h')
-rw-r--r--src/rustllvm/rustllvm.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rustllvm/rustllvm.h b/src/rustllvm/rustllvm.h
index 5aae11fb456..ffe94d1e22f 100644
--- a/src/rustllvm/rustllvm.h
+++ b/src/rustllvm/rustllvm.h
@@ -45,7 +45,16 @@
 #include "llvm-c/ExecutionEngine.h"
 #include "llvm-c/Object.h"
 
-#if LLVM_VERSION_MINOR >= 7
+#define LLVM_VERSION_GE(major, minor) \
+  (LLVM_VERSION_MAJOR > (major) || LLVM_VERSION_MAJOR == (major) && LLVM_VERSION_MINOR >= (minor))
+
+#define LLVM_VERSION_EQ(major, minor) \
+  (LLVM_VERSION_MAJOR == (major) && LLVM_VERSION_MINOR == (minor))
+
+#define LLVM_VERSION_LE(major, minor) \
+  (LLVM_VERSION_MAJOR < (major) || LLVM_VERSION_MAJOR == (major) && LLVM_VERSION_MINOR <= (minor))
+
+#if LLVM_VERSION_GE(3, 7)
 #include "llvm/IR/LegacyPassManager.h"
 #else
 #include "llvm/PassManager.h"