about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-11-27 13:51:40 -0600
committerGitHub <noreply@github.com>2016-11-27 13:51:40 -0600
commit9ca50bd4d50b55456e88a8c3ad8fcc9798f57522 (patch)
treee8e4455b5bf503820abbaba817b7c970bbf20c48 /src/rustllvm/PassWrapper.cpp
parent2008732975de0f274719f44a6024bdefb01e5db6 (diff)
parentcb0e24eafa233ddf5eee1937f161f3bda1745f2c (diff)
downloadrust-9ca50bd4d50b55456e88a8c3ad8fcc9798f57522.tar.gz
rust-9ca50bd4d50b55456e88a8c3ad8fcc9798f57522.zip
Auto merge of #38027 - rkruppe:llvm-printpasses-fwdcompat, r=alexcrichton
[LLVM 4.0] LLVMRustPrintPasses

Adapt `LLVMRustPrintPasses` to LLVM 4.0 preferring `StringRef` over `char *`

cc #37609
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;