diff options
| -rw-r--r-- | clang/tools/libclang/CIndex.cpp | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 59a7e8d1125..a81f1e437d2 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -2927,6 +2927,9 @@ CXString clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit) {  }  CXCursor clang_getTranslationUnitCursor(CXTranslationUnit TU) { +  if (!TU) +    return clang_getNullCursor(); +    ASTUnit *CXXUnit = cxtu::getASTUnit(TU);    return MakeCXCursor(CXXUnit->getASTContext().getTranslationUnitDecl(), TU);  } @@ -4914,6 +4917,9 @@ void clang_tokenize(CXTranslationUnit TU, CXSourceRange Range,    if (NumTokens)      *NumTokens = 0; +  if (!TU) +    return; +    ASTUnit *CXXUnit = cxtu::getASTUnit(TU);    if (!CXXUnit || !Tokens || !NumTokens)      return; @@ -5610,7 +5616,7 @@ extern "C" {  void clang_annotateTokens(CXTranslationUnit TU,                            CXToken *Tokens, unsigned NumTokens,                            CXCursor *Cursors) { -  if (NumTokens == 0 || !Tokens || !Cursors) { +  if (!TU || NumTokens == 0 || !Tokens || !Cursors) {      LOG_FUNC_SECTION { *Log << "<null input>"; }      return;    } | 

