diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-09-30 19:30:35 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-09-30 19:30:35 (GMT) |
commit | 02b8dea10813606db4a013799a3e354368d0280f (patch) | |
tree | 9406bf39d85a5c7639b15a1f086eaaa4c111f4cf /src/clangparser.cpp | |
parent | dc33ea319801b75bc3523c24d95da972a6c1cbe2 (diff) | |
download | Doxygen-02b8dea10813606db4a013799a3e354368d0280f.zip Doxygen-02b8dea10813606db4a013799a3e354368d0280f.tar.gz Doxygen-02b8dea10813606db4a013799a3e354368d0280f.tar.bz2 |
issue #8066: Doxygen crashes in ClangTUParser
Diffstat (limited to 'src/clangparser.cpp')
-rw-r--r-- | src/clangparser.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/clangparser.cpp b/src/clangparser.cpp index 1ac9138..1a91b8f 100644 --- a/src/clangparser.cpp +++ b/src/clangparser.cpp @@ -129,7 +129,7 @@ class ClangTUParser::Private std::vector<CXUnsavedFile> ufs; std::vector<CXCursor> cursors; std::unordered_map<std::string,uint> fileMapping; - CXTranslationUnit tu; + CXTranslationUnit tu = 0; CXToken *tokens = 0; uint numTokens = 0; StringVector filesInSameTU; @@ -858,7 +858,7 @@ class ClangParser::Private QCString clangCompileDatabase = Config_getString(CLANG_DATABASE_PATH); // load a clang compilation database (https://clang.llvm.org/docs/JSONCompilationDatabase.html) db = clang::tooling::CompilationDatabase::loadFromDirectory(clangCompileDatabase.data(), error); - if (clangCompileDatabase!="0" && db==nullptr) + if (!clangCompileDatabase.isEmpty() && clangCompileDatabase!="0" && db==nullptr) { // user specified a path, but DB file was not found err("%s using clang compilation database path of: \"%s\"\n", error.c_str(), @@ -884,6 +884,7 @@ ClangParser::~ClangParser() std::unique_ptr<ClangTUParser> ClangParser::createTUParser(const FileDef *fd) const { + //printf("ClangParser::createTUParser()\n"); return std::make_unique<ClangTUParser>(*this,fd); } |