aboutsummaryrefslogtreecommitdiff
path: root/include/llvm-c/Transforms/PassManagerBuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm-c/Transforms/PassManagerBuilder.h')
-rw-r--r--include/llvm-c/Transforms/PassManagerBuilder.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm-c/Transforms/PassManagerBuilder.h b/include/llvm-c/Transforms/PassManagerBuilder.h
index 82e513d490..b39dd24399 100644
--- a/include/llvm-c/Transforms/PassManagerBuilder.h
+++ b/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<PassManagerBuilder*>(P);
@@ -96,6 +101,6 @@ namespace llvm {
return reinterpret_cast<LLVMPassManagerBuilderRef>(P);
}
}
-#endif
+#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */
#endif