From 51a7a9d712dce44179fa09d15d1cbda9f09fa227 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Wed, 3 Apr 2013 23:12:39 +0000 Subject: Make it possible to include llvm-c without including C++ headers. Patch by Filip Pizlo. llvm-svn: 178713 --- llvm/include/llvm-c/Transforms/PassManagerBuilder.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'llvm/include/llvm-c/Transforms') diff --git a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h b/llvm/include/llvm-c/Transforms/PassManagerBuilder.h index 82e513d4905..b39dd243991 100644 --- a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h +++ b/llvm/include/llvm-c/Transforms/PassManagerBuilder.h @@ -18,8 +18,11 @@ typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef; -#ifdef __cplusplus +#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) #include "llvm/Transforms/IPO/PassManagerBuilder.h" +#endif + +#ifdef __cplusplus extern "C" { #endif @@ -86,7 +89,9 @@ void LLVMPassManagerBuilderPopulateLTOPassManager(LLVMPassManagerBuilderRef PMB, #ifdef __cplusplus } +#endif +#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) namespace llvm { inline PassManagerBuilder *unwrap(LLVMPassManagerBuilderRef P) { return reinterpret_cast(P); @@ -96,6 +101,6 @@ namespace llvm { return reinterpret_cast(P); } } -#endif +#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */ #endif -- cgit v1.2.3