Make it possible to include llvm-c without including C++ headers. Patch by Filip Pizlo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178713 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm-c/Object.h b/include/llvm-c/Object.h
index e2dad62..b6fe17a 100644
--- a/include/llvm-c/Object.h
+++ b/include/llvm-c/Object.h
@@ -22,9 +22,11 @@
#include "llvm-c/Core.h"
#include "llvm/Config/llvm-config.h"
-#ifdef __cplusplus
+#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS)
#include "llvm/Object/ObjectFile.h"
+#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */
+#ifdef __cplusplus
extern "C" {
#endif
@@ -99,7 +101,9 @@
#ifdef __cplusplus
}
+#endif
+#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS)
namespace llvm {
namespace object {
inline ObjectFile *unwrap(LLVMObjectFileRef OF) {
@@ -142,8 +146,8 @@
}
}
+#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */
-#endif /* defined(__cplusplus) */
#endif