From 881a7246606cb6ced8ba63a8d58b7e54fed90b7c Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 31 Jul 2017 18:10:01 -0700 Subject: [PATCH] Gate LLVMRustHasFeature on LLVM_RUSTLLVM Commit c4710203c098b in #43492 make `LLVMRustHasFeature` "more robust" by using `getFeatureTable()`. However, this function is specific to Rust's own LLVM fork, not upstream LLVM-4.0, so we need to use `#if LLVM_RUSTLLVM` to guard this call. --- src/rustllvm/PassWrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 57e90be27748f..bca0881c08c5a 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -178,10 +178,10 @@ GEN_SUBTARGETS extern "C" bool LLVMRustHasFeature(LLVMTargetMachineRef TM, const char *Feature) { +#if LLVM_RUSTLLVM TargetMachine *Target = unwrap(TM); const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo(); const FeatureBitset &Bits = MCInfo->getFeatureBits(); -#if LLVM_VERSION_GE(4, 0) const ArrayRef FeatTable = MCInfo->getFeatureTable(); for (auto &FeatureEntry : FeatTable)