summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* issue #8091: [C++] Newer doxygen versions add a lot of bogus warnings about ↵Dimitri van Heesch2020-10-141-11/+16
| | | | undocumented entities
* Refactoring: Modernize BaseClassListDimitri van Heesch2020-10-121-10/+4
|
* Refactoring: Remove use of globals/statics in isAccessibleFrom*Dimitri van Heesch2020-10-111-1/+7
| | | | - Also moved AccessStack to util.h and modernized it.
* Merge branch 'albert-github-feature/bug_md_pg_cnt'Dimitri van Heesch2020-10-041-2/+6
|\
| * Reworked changes a bitDimitri van Heesch2020-10-041-4/+8
| | | | | | | | | | | | - topLine is replaced by startLine - changed unputDocnl macro into a more self contained function-like macro
| * Merge branch 'feature/bug_md_pg_cnt' of ↵Dimitri van Heesch2020-10-031-4/+4
| |\ | | | | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_md_pg_cnt
| | * Miscounting of lines in respect to page commandalbert-github2020-09-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All examples together are a bit big so they are all in the attached file together with the warnings before and after this patch. When looking at the output we see that a number of lines are off by 1 ore more due to the insertion of extra lines in the code or due to the fact that there is a reference to the start of the documentation of the page and not the line of the page command. - commentscan.l in case of a rule contaiinge {DOCNL} this can be `=n` or `\ilinebr` in the later case this should not be replaced by `\n` as this results in an increase of the line count later on. in case of a page like command also register the line of the command as "topline". - entry.h, entry.cpp storage space for the "topline" registering the line of the page like commands. - doxygen.cpp setting and using the "topline" - markdown.cpp, markdown.h don't add a `\n` as this increases the line count but use the `\ilinebr` to get correct warnings see to it that when having empty lines at the top of the page and a page is added that the empty lines appear after the page command. - index.cpp using the "topline" instead of the "docLine" to get the correct warning - pagedef.cpp, pagedef.h set and retrieve the "topline" for page like commands. - util.cpp, util.h setting and using the "topline" in `addRelatedPage` use the known file name and line for the warning regarding the section label - cite.cpp, context.cpp, reflist.cpp changed to have good function calls.
* | | Flush warnings file (#8069)albert-github2020-10-031-0/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Flush warnings file When having a large project the warnings file is buffered but when a long time there are no warnings emitted the last warnings are not yet written. During testing tis is most obvious when the `dot` process starts and one needs the `.dot` files but not the converted files at hat moment one wants to kill the doxygen process but the result is an incomplete warnings file of the warnings that should already be written. Created a flush function for the warnings file and placed it at a few strategic points. * Flush warnings file Last minute change without proper testing ( :-( ) * Flush warnings file void is the default changed for consistency and due to (http://www.dietmar-kuehl.de/mirror/c++-faq/newbie.html#faq-29.4): > C programmers often use f(void) when declaring a function that takes no parameters, however in C++ that is considered bad style. In fact, the f(void) style has been called an "abomination" by Bjarne Stroustrup, the creator of C++, Dennis Ritchie, the co-creator of C, and Doug McIlroy, head of the research department where Unix was born.
* | issue #7706: Md5 hash does not match for two different runsDimitri van Heesch2020-10-021-2/+2
| |
* | issue #8066: Doxygen crashes in ClangTUParserDimitri van Heesch2020-09-301-2/+7
| |
* | issue #8063: Failed to build current "master" branchDimitri van Heesch2020-09-281-6/+12
| |
* | Merge branch 'multithread_outputgen'Dimitri van Heesch2020-09-271-24/+87
|\ \
| * | Refactoring: prepare output generators for multi-threaded useDimitri van Heesch2020-09-271-24/+87
| |/
* | #8051 Consider documenting debug options of doxygenalbert-github2020-09-231-2/+2
|/ | | | | - don't create an error in case of no argument, just handle it as a request for help. - give the usage also in case of an error (besides the error message)
* Fix compiler warning when printing number of cache hits & misses (part 2)Dimitri van Heesch2020-09-211-1/+2
|
* Fix compiler warning when printing number of cache hits & missesDimitri van Heesch2020-09-211-1/+1
|
* Refactoring: replaced QCache by STL based LRU cache implementation.Dimitri van Heesch2020-09-201-16/+24
| | | | | Also prepared some code for multi-threaded use, and Removed tabs and trailing spaces for code.l
* Incorrect duplicate code for Fortran fixed/free recognitionalbert-github2020-09-151-3/+3
| | | | There were 2 routines to recognize whether Fortran code was Fixed of Free format code, though the version in `commentcnv.l` didn't take the settings of `EXTENSION_MAPPING` into account which might lead to incorrect recognition of the format, this has been corrected.
* issue #8022: Different results on 64 and 32 bitDimitri van Heesch2020-09-111-1/+1
|
* Readability of warning messagealbert-github2020-09-041-2/+2
| | | | | | | | | | | A warning like: ``` warning: source examples is not a readable file or directory... skipping. ``` is hard to understand, would be better to have: ``` warning: source 'examples' is not a readable file or directory... skipping. ```
* issue #7977: Broken ref for enum entry (doxygen 1.8.18 -> 1.8.19)Dimitri van Heesch2020-08-261-5/+12
|
* Refactoring: OutputList & OutputGenDimitri van Heesch2020-08-241-8/+7
| | | | | | | | | | | | | | - Initialized member variables inside the class - Added copy & assign operators for OutputGenerator and Derived classes. - throw a runtime exception when OutputGenerator is copied while is file is still in progress. - Added clone method to make a copy of OutputList. - Moved the implementation of enable() & disable() and friend into OutputGen instead of having the same implementation in each derived class. - Made m_dir and m_fileName readonly (members dir() and fileName()) - Removed call to new while adding generators to OutputList - Replaced QStack by std::stack for the "enabled" state.
* issue #7973: C++ grouped functions in namespace have disapeardDimitri van Heesch2020-08-241-5/+6
| | | | | - reverted some of the change that introduced the problem - fixed the original problem (#7216) in a different way
* Format for size_t (in e.g. warnings)albert-github2020-08-181-1/+1
| | | | This one was a bit hidden in conditional compilation (see also #7966).
* Format for size_t (in e.g. warnings)albert-github2020-08-171-1/+1
| | | | | | | | | | | From the C standard paragraph 7.21.6.1 The fprintf function ``` z Specifies that a following d, i, o, u, x, or X conversion specifier applies to a size_t or the corresponding signed integer type argument; or that a following n conversion specifier applies to a pointer to a signed integer type corresponding to size_t argument. ```
* issue #7954: The Doxygen uses too much memory (or has probably a memory leak)Dimitri van Heesch2020-08-161-10/+10
|
* Fixed a couple of compiler warnings on LinuxDimitri van Heesch2020-08-081-5/+5
|
* Implement better solution for ThreadPool and std::packaged_taskDimitri van Heesch2020-08-061-2/+2
| | | | | | | | | | | | Careful analysis of the compilation problems with Visual Studio revealed that moving a std::packaged_task<R()> into a std::packaged_task<void()> is a bit controversal as to whether or not it is supposed to work at all or if it triggers undefined behavior. I've now implemented the second solution as suggested here: https://stackoverflow.com/a/31078143/784672 This avoid such conversion altogether and make the Threadpool class more generic again.
* Implemented workaround for Visual Studio bug in std::packaged_taskDimitri van Heesch2020-08-051-4/+6
|
* New option allowing processing using multiple threadsDimitri van Heesch2020-08-051-17/+16
| | | | | | | | | | | | | | | | | | Introduces new option NUM_PROC_THREADS. It specifies the number threads doxygen is allowed to use during processing. When set to 0 doxygen will based this on the number of cores available in the system. You can set it explicitly to a value larger than 0 to get more control over the balance between CPU load and processing speed. At this moment only the input processing can be done using multiple threads. I plan to extend this with more parallel processing in the future. Since this is still an experimental feature the default is set to 1, which efficively disables parallel processing. Please report any issues you encounter that appear when changing the default. Note that generating dot graphs in parallel is still controlled separately by the DOT_NUM_THREADS setting.
* Replaced QDict<void> by StringUnorderedSet used to keep track of visited pathsDimitri van Heesch2020-08-021-3/+10
|
* Added configuration options to better control the sqlite3 output.Dimitri van Heesch2020-07-301-8/+12
| | | | | | | | | | | | Still requires cmake -Duse_sqlite=YES to compile in support (and libsqlite3) New configuration options available: - GENERATE_SQLITE3 enable/disable SQLITE3 output - SQLITE3_OUTPUT configure directory where output is written to (default: sqlite3) - SQLITE3_RECREATE_DB controls if existing database file is overwritten (default: YES)
* Additional tweaks to get markdown tables inside ALIASES workDimitri van Heesch2020-07-271-2/+2
| | | | | | | | | | - Changed \_linebr to \ilinebr - \ilinebr is now also passed to doctokenizer - Also fixes issue #7493 regarding \snippet inside markdown tables and dealing with wrong line on issues detected by docparser after a markdown table. - Added function tracing to markdown (enabled with -d markdown in a debug build)
* issue #7900: Incorrect warning regarding no matching class member foundDimitri van Heesch2020-07-251-1/+1
|
* Refactor: Modernize clang parser and make it run with multiple threadsDimitri van Heesch2020-07-161-87/+189
|
* Merge branch 'master' of github.com:doxygen/doxygenDimitri van Heesch2020-07-071-1/+1
|\
| * Compilation warning in debug.cppalbert-github2020-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When compiling debug.cpp on a 32-bit Windows system we get the warning: ``` ...\doxygen\src\debug.cpp(121): warning C4244: 'return': conversion from '_Rep' to 'int', possible loss of data with [ _Rep=__int64 ] ``` as we only use the seconds representation of the elapsed time we can do the conversion to seconds in the Timer class.
* | Refactoring: replace QDict<void> by StringUnorderedSet for g_processedFiles ↵Dimitri van Heesch2020-07-071-17/+18
|/ | | | and g_filesToProcess
* Fixed anothing compilation issue when use_libclang was not enabledDimitri van Heesch2020-06-291-10/+8
|
* Refactor: make preprocessor run in parallelDimitri van Heesch2020-06-281-19/+26
| | | | | And at the same time make sure it gives the same results as when processed using a single thread.
* Multi-threaded parsing: added locks around global dataDimitri van Heesch2020-06-171-3/+0
|
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-3/+6
|
* Revert pull request #7703: make declArgumentList be from declaration, and ↵Dimitri van Heesch2020-06-071-3/+3
| | | | argumentList from definition
* Issue #7831: Error building docs after 0df1623c9363d52a2b04457233dcf2c64319b03cDimitri van Heesch2020-06-051-18/+29
|
* Refactor: modernize configuration valuesDimitri van Heesch2020-06-041-132/+111
|
* Added experimental multi-thread input processing support.Dimitri van Heesch2020-05-311-40/+74
| | | | | This is disabled by default. It can be enabled by setting MULTITHREADED_INPUT to 1 in doxygen.h. Still has many data races, so don't use for anything other than development!
* Refactoring: Removed creation of MemberDef's for macro definitions from pre.lDimitri van Heesch2020-05-221-0/+35
|
* Reduce use of WIN32 defines outside of portableDimitri van Heesch2020-05-161-4/+0
|
* RefactoringDimitri van Heesch2020-05-151-3/+2
| | | | | | | | | | | - Makes doxycfg library more self contained - renames _doxygen library to doxymain - Modernizes Debug implementation - Moves Doxygen::runningTime into Debug - Moves full version string to libversion - Removed mentioning of file version in messages (when FILE_VERSION_FILTER is used) - Move substitute functions into QCString
* Merge pull request #7703 from elrond79/set_defname_if_not_protoDimitri van Heesch2020-05-101-3/+3
|\ | | | | make declArgumentList be from declaration, and argumentList from definition