diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-11-09 13:01:22 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-11-09 13:01:22 (GMT) |
commit | 1919a8e0457925ff63d91a0227729340121d461e (patch) | |
tree | 29be0035ab384f3114357ce38875daf230330a07 /src/doxygen.cpp | |
parent | 2702af59b09e68ad2db9eff7ef4ae5594deb15ae (diff) | |
download | Doxygen-1919a8e0457925ff63d91a0227729340121d461e.zip Doxygen-1919a8e0457925ff63d91a0227729340121d461e.tar.gz Doxygen-1919a8e0457925ff63d91a0227729340121d461e.tar.bz2 |
Make preprocess code reentrant
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r-- | src/doxygen.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp index bf282b6..b0b3e67 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -171,6 +171,7 @@ bool Doxygen::generatingXmlOutput = FALSE; bool Doxygen::markdownSupport = TRUE; GenericsSDict *Doxygen::genericsDict; DocGroup Doxygen::docGroup; +Preprocessor *Doxygen::preprocessor = 0; // locally accessible globals static std::unordered_map< std::string, const Entry* > g_classEntries; @@ -9395,7 +9396,7 @@ static void parseFile(ParserInterface *parser, BufStr inBuf(fi.size()+4096); msg("Preprocessing %s...\n",fn); readInputFile(fileName,inBuf); - preprocessFile(fileName,inBuf,preBuf); + Doxygen::preprocessor->processFile(fileName,inBuf,preBuf); } else // no preprocessing { @@ -10078,7 +10079,7 @@ void initDoxygen() portable_correct_path(); Doxygen::runningTime.start(); - initPreprocessor(); + Doxygen::preprocessor = new Preprocessor(); Doxygen::parserManager = new ParserManager; Doxygen::parserManager->registerDefaultParser( new FileParser); @@ -10182,7 +10183,7 @@ void cleanUpDoxygen() delete Doxygen::globalScope; delete Doxygen::xrefLists; delete Doxygen::parserManager; - cleanUpPreprocessor(); + delete Doxygen::preprocessor; delete theTranslator; delete g_outputList; Mappers::freeMappers(); @@ -10662,7 +10663,7 @@ void adjustConfiguration() while (s) { QFileInfo fi(s); - addSearchDir(fi.absFilePath().utf8()); + Doxygen::preprocessor->addSearchDir(fi.absFilePath().utf8()); s=includePath.next(); } @@ -11266,7 +11267,6 @@ void parseInput() // we are done with input scanning now, so free up the buffers used by flex // (can be around 4MB) - preFreeScanner(); scanFreeScanner(); pyscanFreeScanner(); |