New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fortran: fails to parse some continuation lines (Origin: bugzilla #644350) #4191

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status VERIFIED severity normal in component general for ---
Reported in version 1.7.3 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2011-03-09 21:46:43 +0000, Elliott Sales de Andrade wrote:

The Fortran standard states [1] that, for fixed form, "any character other than blank or zero" can be used as a continuation character in column 6. However, certain characters confuse Doxygen and produce incorrect output.

The attached file contains the same function but with a different continuation character for each. It compiles with gfortran -Wall -ffixed-form test.f and all functions produce the same output when run.

The subroutine foo8 uses * as the continuation character, and Doxygen uses * as the type of the variable n instead of integer. The subroutine foo3 uses # as the continuation character but I left it commented because Doxygen fails to parse the entire file if that subroutine is uncommented.

[1] For example, http://j3-fortran.org/doc/standing/archive/007/97-007r2/pdf/97-007r2.pdf section 3.3.2.3

On 2011-03-09 21:47:19 +0000, Elliott Sales de Andrade wrote:

Created attachment 183029
Test Fortran source code

On 2011-03-10 18:09:18 +0000, albert wrote:

This is a duplicate of bug 521861.
I've run the file with the problems with the version of Doxygen I have (i.e. with the patch for bug 521861) and it look to me that the results are OK.

On 2011-03-14 22:03:57 +0000, Oleg Batrashev wrote:

There were still 2 problems with the version in repository:

  1. was handled by preprocessor, although file extension was .f

    • was a candidate for comment and then ignored by continuation rule

Both fixed in ogbash/doxygen-f90@SHA: 830e288d7c14e9aec6ed9934c52f867b344eac2d

On 2011-03-15 06:43:20 +0000, albert wrote:

In respect to problem 2) hasn't this been (more extensively) fixed with the bugfix as reported with bug 521861 ?

On 2011-03-15 09:21:01 +0000, Oleg Batrashev wrote:

(In reply to comment # 4)
Sorry, I wrongly assumed everything is already on the trunk. It seems to do exactly the same, although differently. I revert my changes to avoid confusion.

On 2012-10-21 12:59:52 +0000, albert wrote:

Created attachment 226922
PATCH: Handle continuation charaters in source code

On 2012-10-21 13:00:32 +0000, albert wrote:

For fixed formatted code position 6 is of importance (continuation character).
The previously attached patch (comment 6)checks whether position 6 in fixed source form is used.
Especially the following characters: ' (single quote). " (double quote), #( hash), ! (exclamation mark) still made some problems.
The problems regarding position 6 in the fortranscanner.l were already handled, here the problems in fortrancode.l are handled.

On 2013-01-05 13:56:32 +0000, Dimitri van Heesch wrote:

Thanks, I'll include the patch in the next subversion update.

On 2013-01-20 13:35:03 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.3.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.

On 2013-01-20 17:34:37 +0000, albert wrote:

Code is in, works as expected.

@doxygen doxygen closed this Jul 19, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment