diff options
author | Evan Cheng <evan.cheng@apple.com> | 2013-04-03 23:12:39 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2013-04-03 23:12:39 +0000 |
commit | 7d2166a643a7c16b9b0c87441b662f66e79b131f (patch) | |
tree | c271913ddc310eaae3b62a087dd476c2144de93e /include/llvm-c/Core.h | |
parent | 9bede89bbe04e49953ce373620355d2de4b0c084 (diff) |
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
Diffstat (limited to 'include/llvm-c/Core.h')
-rw-r--r-- | include/llvm-c/Core.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index e85fb97505..cc78b2e6fd 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -17,14 +17,15 @@ #include "llvm/Support/DataTypes.h" -#ifdef __cplusplus - +#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) /* Need these includes to support the LLVM 'cast' template for the C++ 'wrap' and 'unwrap' conversion functions. */ #include "llvm/IR/IRBuilder.h" #include "llvm/IR/Module.h" #include "llvm/PassRegistry.h" +#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */ +#ifdef __cplusplus extern "C" { #endif @@ -2669,7 +2670,9 @@ LLVMBool LLVMIsMultithreaded(); #ifdef __cplusplus } +#endif +#if defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) namespace llvm { class MemoryBuffer; class PassManagerBase; @@ -2763,6 +2766,6 @@ namespace llvm { } } -#endif /* !defined(__cplusplus) */ +#endif /* defined(__cplusplus) && !defined(LLVM_DO_NOT_INCLUDE_CPP_HEADERS) */ -#endif /* !defined(LLVM_C_CORE_H) */ +#endif /* defined(LLVM_C_CORE_H) */ |