From 191b0ba97eedcd55d6fc8616d9c391ddfcbc4f4e Mon Sep 17 00:00:00 2001 From: Chris Lattner <sabre@nondot.org> Date: Fri, 2 Jun 2006 18:40:06 +0000 Subject: [PATCH] Force anything that #includes llvm/Transforms/Utils/UnifyFunctionExitNodes.h to link in the implementation. Thanks to Anton Korobeynikov for figuring out what was going on here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28660 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h | 6 ++++++ lib/Transforms/Utils/UnifyFunctionExitNodes.cpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h b/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h index 81c71fb5ef6..526851ba448 100644 --- a/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h +++ b/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h @@ -38,10 +38,16 @@ public: BasicBlock *getUnreachableBlock() const { return UnreachableBlock; } virtual bool runOnFunction(Function &F); + + // Force linking the impl of this class into anything that uses this header. + static int stub; }; Pass *createUnifyFunctionExitNodesPass(); +static IncludeFile +UNIFY_FUNCTION_EXIT_NODES_INCLUDE_FILE(&UnifyFunctionExitNodes::stub); + } // End llvm namespace #endif diff --git a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp index d3c7b328958..fa4e38660f8 100644 --- a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp +++ b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp @@ -25,6 +25,8 @@ using namespace llvm; static RegisterOpt<UnifyFunctionExitNodes> X("mergereturn", "Unify function exit nodes"); +int UnifyFunctionExitNodes::stub; + Pass *llvm::createUnifyFunctionExitNodesPass() { return new UnifyFunctionExitNodes(); }