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: Problem with blockdata sub-programs (Origin: bugzilla #567494) #3228

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

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

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

Original attachment names and IDs:

On 2009-01-12 13:33:43 +0000, Marcus Mohr wrote:

Hi,

having recognised that my favourite code documentation system now also supports Fortran I recently installed doxygen version 1.5.8 on my Debian Etch system. Optimistically I let it loose on our old medium-sized (~18.000 LoC) F77 project.
Unfortunately this test ended in a segmentation fault

WARNING: fortrancode.l: stack empty!Generating code for file driver.f...
WARNING: fortrancode.l: stack empty!Generating code for file energy.f...
WARNING: fortrancode.l: stack empty!WARNING: fortrancode.l: stack empty!WARNING: fortrancode.l: stack empty!WARNING: fortrancode.l: stack empty!WARNING: fortrancode.l: stack empty!WARNING: fortrancode.l: stack empty!Segmentation fault

I was able to pinpoint this problem to the BLOCKDATA sub-programs used in the code. Obviously there seems to be a problem with finding the end of the sub-program,since a single END statement is not recognised.

I'll attach an example program showing the results for various combinations of
"start" and "stop" statements for BLOCKDATA sub-programs.

Note that for a single BLOCKDATA sub-program no obvious segfault occurs (valgrind doesn't detect one either) and doxygen runs through. In our code there are 7 such sub-programs, so the segfault appears to be related to their interplay.

Good news is that after changing all sub-programs to BLOCKDATA .... END BLOCKDATA
doxygen works nicely :)

Regards
Marcus

On 2009-01-12 13:36:25 +0000, Marcus Mohr wrote:

Created attachment 126272
Example code demonstrating problem with BLOCKDATA

On 2012-01-01 10:40:55 +0000, albert wrote:

Created attachment 204410
PATCH resolving problems with block data

This patch handles the usage of "block data" statement in Fortran, in the Fortran scanner as well as for the source code listing.

On 2012-01-11 18:38:40 +0000, Dimitri van Heesch wrote:

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

On 2012-02-25 15:37:21 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.0. 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 2012-05-28 09:19:35 +0000, Dimitri van Heesch wrote:

*** Bug 639126 has been marked as a duplicate of this bug. ***

@doxygen doxygen closed this Jul 2, 2018

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