diff options
author | Eric Christopher <echristo@gmail.com> | 2013-04-22 22:47:22 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-04-22 22:47:22 +0000 |
commit | 3e39731e88f2d4f597cebc74388fd6650ca4f604 (patch) | |
tree | c2ad976c0ec348e36d363f5e02f02bc53326fa56 /lib/Transforms/IPO | |
parent | d50dc20f06d9cf95562899020f773cd9f8309786 (diff) | |
download | external_llvm-3e39731e88f2d4f597cebc74388fd6650ca4f604.zip external_llvm-3e39731e88f2d4f597cebc74388fd6650ca4f604.tar.gz external_llvm-3e39731e88f2d4f597cebc74388fd6650ca4f604.tar.bz2 |
Move C++ code out of the C headers and into either C++ headers
or the C++ files themselves. This enables people to use
just a C compiler to interoperate with LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r-- | lib/Transforms/IPO/IPO.cpp | 1 | ||||
-rw-r--r-- | lib/Transforms/IPO/PassManagerBuilder.cpp | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/IPO.cpp b/lib/Transforms/IPO/IPO.cpp index 5d563d8..f40a1b1 100644 --- a/lib/Transforms/IPO/IPO.cpp +++ b/lib/Transforms/IPO/IPO.cpp @@ -17,6 +17,7 @@ #include "llvm-c/Transforms/IPO.h" #include "llvm/InitializePasses.h" #include "llvm/PassManager.h" +#include "llvm/Wrap.h" #include "llvm/Transforms/IPO.h" using namespace llvm; diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index ffd07b6..e6e6f6a 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -19,6 +19,7 @@ #include "llvm/Analysis/Passes.h" #include "llvm/Analysis/Verifier.h" #include "llvm/PassManager.h" +#include "llvm/Wrap.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Target/TargetLibraryInfo.h" @@ -330,6 +331,14 @@ void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM, PM.add(createGlobalDCEPass()); } +inline PassManagerBuilder *unwrap(LLVMPassManagerBuilderRef P) { + return reinterpret_cast<PassManagerBuilder*>(P); +} + +inline LLVMPassManagerBuilderRef wrap(PassManagerBuilder *P) { + return reinterpret_cast<LLVMPassManagerBuilderRef>(P); +} + LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate() { PassManagerBuilder *PMB = new PassManagerBuilder(); return wrap(PMB); |