diff options
-rw-r--r-- | include/clang-c/Index.h | 9 | ||||
-rw-r--r-- | tools/libclang/CIndex.cpp | 7 | ||||
-rw-r--r-- | tools/libclang/libclang.darwin.exports | 3 | ||||
-rw-r--r-- | tools/libclang/libclang.exports | 1 |
4 files changed, 19 insertions, 1 deletions
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h index 722f6be538..4d93afd105 100644 --- a/include/clang-c/Index.h +++ b/include/clang-c/Index.h @@ -2871,6 +2871,15 @@ CXDiagnostic clang_codeCompleteGetDiagnostic(CXCodeCompleteResults *Results, */ CINDEX_LINKAGE CXString clang_getClangVersion(); + +/** + * \brief Enable/disable crash recovery. + * + * \param Flag to indicate if crash recovery is enabled. A non-zero value + * enables crash recovery, while 0 disables it. + */ +CINDEX_LINKAGE void clang_toggleCrashRecovery(unsigned isEnabled); + /** * \brief Visitor invoked for each file in a translation unit * (used with clang_getInclusions()). diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 88b3d76e91..502ee9958d 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -2309,6 +2309,13 @@ void clang_disposeIndex(CXIndex CIdx) { delete static_cast<CIndexer *>(CIdx); } +void clang_toggleCrashRecovery(unsigned isEnabled) { + if (isEnabled) + llvm::CrashRecoveryContext::Enable(); + else + llvm::CrashRecoveryContext::Disable(); +} + CXTranslationUnit clang_createTranslationUnit(CXIndex CIdx, const char *ast_filename) { if (!CIdx) diff --git a/tools/libclang/libclang.darwin.exports b/tools/libclang/libclang.darwin.exports index 7614544ca3..0bb463207f 100644 --- a/tools/libclang/libclang.darwin.exports +++ b/tools/libclang/libclang.darwin.exports @@ -108,8 +108,8 @@ _clang_getTranslationUnitSpelling _clang_getTypeDeclaration _clang_getTypeKindSpelling _clang_hashCursor -_clang_isCursorDefinition _clang_isConstQualifiedType +_clang_isCursorDefinition _clang_isDeclaration _clang_isExpression _clang_isInvalid @@ -126,6 +126,7 @@ _clang_parseTranslationUnit _clang_reparseTranslationUnit _clang_saveTranslationUnit _clang_sortCodeCompletionResults +_clang_toggleCrashRecovery _clang_tokenize _clang_visitChildren _clang_visitChildrenWithBlock diff --git a/tools/libclang/libclang.exports b/tools/libclang/libclang.exports index c2f0587b9a..ac17b2e74b 100644 --- a/tools/libclang/libclang.exports +++ b/tools/libclang/libclang.exports @@ -126,6 +126,7 @@ clang_parseTranslationUnit clang_reparseTranslationUnit clang_saveTranslationUnit clang_sortCodeCompletionResults +clang_toggleCrashRecovery clang_tokenize clang_visitChildren clang_visitChildrenWithBlock |