GNOME Bugzilla – Bug 676294
LaTeX error documenting class defined in macro
Last modified: 2012-05-19 15:41:18 UTC
In C++, a multi-line macro redefining a class causes a "Runaway argument" problem in a hyperlink in LaTeX. With the minimal example given at the bottom of this report, the generated LaTeX documentation causes pdflatex to crash with: Runaway argument? {\}^^M\hyperlink {classA}{ A}();\(\backslash \)^^M \}; \(\backslash \ETC . ! File ended while scanning use of \hyperlink. This is due to \hyperlink{classA}{\} being in the generated .tex file. The example originally had A as a templated class, with the macro defining a specialisation, so although the example code isn't valid C++, the additions that would cause it to be valid do not make the Doxygen error go away. Reducing the first definition of A to a forward declaration causes the error to go away, as does putting the macro all onto one line, or removing the constructor. This did not result in an error in release version 1.8.0, but does in the latest SVN version: 1.8.0-20120429 (rev. 813). Doxyfile: EXTRACT_ALL = YES DoxygenTest.C: class A { }; #define M\ class A\ { \ A();\ }; \
Confirmed. Should be fixed in the next subversion update.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.1. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.
Confirmed fixed for my code for version 1.8.1. Many thanks.