You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error in file /home/janus/fort/doxygen_bugs/m.F90 line: 14, state: 4
AFAICS this is valid Fortran 90 code. Preprocessing with macro expansion is required to trigger the bug.
On 2017-08-17 14:19:33 +0000, albert wrote:
Looks like the preprocessor does not do the right translation. doxygen -d preprocessor gives:
Preprocessing D:/speeltuin/bug_786409/m.F90...
Preprocessor output (size: 72 bytes):
It's funny that it not only messes up the line where the macro occurs, but seems to swallow everything after that.
Note that my example is the most reduced test case I could find. Seems it requires a sufficient amount of dots, commas and brackets to fool the preprocessor.
On 2017-08-17 16:12:06 +0000, albert wrote:
The problem here is that the string (for the format / replacement string) had as string delimiters a single quote. In Fortran a string can be delimited by single or double quotes.
On 2017-08-17 16:12:40 +0000, albert wrote:
I just pushed a proposed patch (pull request 589) to github.
Error in file /home/jweil/fort/doxygen_bugs/786409/m2.F90 line: 8, state: 4
Apparently the doxygen preprocessor has trouble dealing with '//', which is the string concatenation operator in Fortran. I'm guessing this is because // indicates a comment in C++?
Note that "cpp -traditional-cpp m2.F90" produces the expected result, while "cpp m2.F90" complains:
m2.F90:7:0: error: unterminated argument list invoking macro "WRITE_IT"
gfortran accepts the test case as a valid Fortran file (it invokes cpp in traditional mode).
On 2017-08-18 07:50:26 +0000, albert wrote:
Indeed looks like a similar problem. The // looks indeed like a comment and this might cause some problems (problem might here be like in cpp that the preprocessor is used for another cause than originally planned).
I'll see if I can find some time to fix this as well.
On 2017-08-18 09:56:27 +0000, albert wrote:
I just pushed a proposed patch (pull request 590) to github.
As the problem, as analyzed already by Janus, has to do with comment versus Fortran string concatenation and is independent from the original single quote it has been submitted as a separate pull request.
Also the second fix works flawlessly and, together with the first, fixes all the preprocessing problems I have observed on my Fortran code. Thank you so much!
On 2017-09-02 16:19:09 +0000, albert wrote:
both updates have been integrated into the main version on github
both updates have been integrated into the main version on github
That's great news. Thank you!
On 2017-12-25 18:43:38 +0000, Dimitri van Heesch wrote:
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.14. 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 (preferably in the form of a self-contained example).
The text was updated successfully, but these errors were encountered:
status RESOLVED severity normal in component general for ---
Reported in version 1.8.14-GIT on platform Other
Assigned to: Dimitri van Heesch
Original attachment names and IDs:
On 2017-08-17 09:23:09 +0000, janus@gcc.gnu.org wrote:
On 2017-08-17 14:19:33 +0000, albert wrote:
On 2017-08-17 14:30:51 +0000, janus@gcc.gnu.org wrote:
On 2017-08-17 14:33:11 +0000, albert wrote:
On 2017-08-17 14:49:31 +0000, janus@gcc.gnu.org wrote:
On 2017-08-17 16:12:06 +0000, albert wrote:
On 2017-08-17 16:12:40 +0000, albert wrote:
On 2017-08-17 19:27:28 +0000, janus@gcc.gnu.org wrote:
On 2017-08-18 07:50:26 +0000, albert wrote:
On 2017-08-18 09:56:27 +0000, albert wrote:
On 2017-08-18 10:14:51 +0000, janus@gcc.gnu.org wrote:
On 2017-09-02 16:19:09 +0000, albert wrote:
On 2017-09-02 16:48:20 +0000, janus@gcc.gnu.org wrote:
On 2017-12-25 18:43:38 +0000, Dimitri van Heesch wrote:
The text was updated successfully, but these errors were encountered: