summaryrefslogtreecommitdiffstats
path: root/src/clangparser.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-09-30 19:30:35 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-09-30 19:30:35 (GMT)
commit02b8dea10813606db4a013799a3e354368d0280f (patch)
tree9406bf39d85a5c7639b15a1f086eaaa4c111f4cf /src/clangparser.cpp
parentdc33ea319801b75bc3523c24d95da972a6c1cbe2 (diff)
downloadDoxygen-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.cpp5
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);
}