From a39e5582e6e661c6f364ab65f04cd6219950fb68 Mon Sep 17 00:00:00 2001 From: Kai Nacke Date: Sun, 19 Jan 2014 11:02:27 +0100 Subject: [PATCH] DLL linkage is decoupled from linkage in LLVM 3.5. --- gen/passes/GarbageCollect2Stack.cpp | 6 +++++- gen/passes/SimplifyDRuntimeCalls.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gen/passes/GarbageCollect2Stack.cpp b/gen/passes/GarbageCollect2Stack.cpp index 3d256f8c..5c867000 100644 --- a/gen/passes/GarbageCollect2Stack.cpp +++ b/gen/passes/GarbageCollect2Stack.cpp @@ -494,7 +494,11 @@ bool GarbageCollect2Stack::runOnFunction(Function &F) { // Ignore indirect calls and calls to non-external functions. Function *Callee = CS.getCalledFunction(); if (Callee == 0 || !Callee->isDeclaration() || - !(Callee->hasExternalLinkage() || Callee->hasDLLImportLinkage())) + !(Callee->hasExternalLinkage() +#if LDC_LLVM_VER < 305 + || Callee->hasDLLImportLinkage() +#endif + )) continue; // Ignore unknown calls. diff --git a/gen/passes/SimplifyDRuntimeCalls.cpp b/gen/passes/SimplifyDRuntimeCalls.cpp index 9571ce31..07e241c2 100644 --- a/gen/passes/SimplifyDRuntimeCalls.cpp +++ b/gen/passes/SimplifyDRuntimeCalls.cpp @@ -384,7 +384,11 @@ bool SimplifyDRuntimeCalls::runOnce(Function &F, const DataLayout& DL, AliasAnal // Ignore indirect calls and calls to non-external functions. Function *Callee = CI->getCalledFunction(); if (Callee == 0 || !Callee->isDeclaration() || - !(Callee->hasExternalLinkage() || Callee->hasDLLImportLinkage())) + !(Callee->hasExternalLinkage() +#if LDC_LLVM_VER < 305 + || Callee->hasDLLImportLinkage() +#endif + )) continue; // Ignore unknown calls.