From 588dc0fb730223fa8cba4fec486e3b012ffbf904 Mon Sep 17 00:00:00 2001 From: Philip Pfaffe Date: Wed, 2 Aug 2017 17:25:45 +0000 Subject: [PATCH] Fix r309826: Move intantiation and specialization of OwningScopAnalysisManagerFunctionProxy to the polly namespace. When compiling with clang, explicit instantiation of the OwningScopAnalysisManagerFunctionProxy needs to happen within the polly namespace. Same goes with the specialization of its run method. git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@309835 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/ScopPass.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/Analysis/ScopPass.cpp b/lib/Analysis/ScopPass.cpp index eb034233..6ad6780b 100644 --- a/lib/Analysis/ScopPass.cpp +++ b/lib/Analysis/ScopPass.cpp @@ -41,7 +41,9 @@ void ScopPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); } +namespace polly { template class OwningInnerAnalysisManagerProxy; +} namespace llvm { @@ -132,15 +134,18 @@ bool ScopAnalysisManagerFunctionProxy::Result::invalidate( } template <> -OwningScopAnalysisManagerFunctionProxy::Result -OwningScopAnalysisManagerFunctionProxy::run(Function &F, - FunctionAnalysisManager &FAM) { - return Result(InnerAM, FAM.getResult(F)); -} -template <> ScopAnalysisManagerFunctionProxy::Result ScopAnalysisManagerFunctionProxy::run(Function &F, FunctionAnalysisManager &FAM) { return Result(*InnerAM, FAM.getResult(F)); } } // namespace llvm + +namespace polly { +template <> +OwningScopAnalysisManagerFunctionProxy::Result +OwningScopAnalysisManagerFunctionProxy::run(Function &F, + FunctionAnalysisManager &FAM) { + return Result(InnerAM, FAM.getResult(F)); +} +} -- 2.11.4.GIT