about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorRobin Kruppe <robin.kruppe@gmail.com>2016-11-27 14:48:47 +0100
committerRobin Kruppe <robin.kruppe@gmail.com>2016-11-27 14:48:47 +0100
commitcb0e24eafa233ddf5eee1937f161f3bda1745f2c (patch)
tree1989fb6810fa56eb63bb4d61166820f5a5d05efd /src/rustllvm/PassWrapper.cpp
parent29abe6f9e86829d55ba180a5957f203a64a96b65 (diff)
downloadrust-cb0e24eafa233ddf5eee1937f161f3bda1745f2c.tar.gz
rust-cb0e24eafa233ddf5eee1937f161f3bda1745f2c.zip
Adapt LLVMRustPrintPasses to LLVM 4.0 preferring `StringRef` over `char *`
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
-rw-r--r--src/rustllvm/PassWrapper.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index 70f7ee3004d..9230c639833 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -529,10 +529,17 @@ LLVMRustPrintPasses() {
     LLVMInitializePasses();
     struct MyListener : PassRegistrationListener {
         void passEnumerate(const PassInfo *info) {
+#if LLVM_VERSION_GE(4, 0)
+            if (!info->getPassArgument().empty()) {
+                printf("%15s - %s\n", info->getPassArgument().data(),
+                       info->getPassName().data());
+            }
+#else
             if (info->getPassArgument() && *info->getPassArgument()) {
                 printf("%15s - %s\n", info->getPassArgument(),
                        info->getPassName());
             }
+#endif
         }
     } listener;