Skip to content
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: case sensitiveness for routines and functions does not work (Origin: bugzilla #674563) #4675

doxygen opened this Issue Jul 2, 2018 · 0 comments


None yet
1 participant
Copy link

doxygen commented Jul 2, 2018

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

Original attachment names and IDs:

On 2012-04-22 14:03:09 +0000, albert wrote:

This bug has been split off from bug 523163.

The case insensitiveness for Fortran is not handled when creates links to
routines in the source code.

Here is the code that reproduces (Elliott Sales de Andrade):
subroutine Foo(t)
integer :: t
end subroutine Foo

subroutine Bar(t)
integer :: t

call foo(t)
end subroutine

program test
call Foo(1)
end program test

and a more complete example:
! definition of routine names in upper (U) or lower(l) case
! xy_..
! x : call
! y : definition
program tstf
implicit none
double precision UU_FF()
double precision ul_ff()
double precision LU_FF()
double precision ll_ff()
a = UU_FF()
a = UL_FF()
a = lu_ff()
a = ll_ff()
call UU_SS()
call UL_SS()
call lu_ss()
call ll_ss()
double precision function UU_FF()
double precision function ul_ff()
double precision function LU_FF()
double precision function ll_ff()
subroutine UU_SS()
subroutine ul_ss()
subroutine LU_SS()
subroutine ll_ss()

In version 1.8.0 only part of the routines / functions are linked.

On 2012-04-22 14:12:20 +0000, albert wrote:

Created attachment 212541
PATCH: To handle case sensetiveness of routine names

Fortran is a case insensitive language. The parser didn't take this into account for functions and subroutines.
This patch converts all Fortran function and subroutine names to lowercase so they can be found for references, call/ callee graphs and links in the code.
On nearly all places the routines will show up in lowercase even though the routine in the code has another case.

On 2012-04-24 20:31:37 +0000, Dimitri van Heesch wrote:

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

On 2012-05-05 12:26:30 +0000, albert wrote:

The patch for the recognition to handle case sensitiveness of routine names has as side effect that also the names as used with \addtogroup are translated to lowercase, the effect is that members of this group are not shown in the output.
In the output of the example below the variable VAR_LOWER is shown in the output of the group with caption "Module name lower case", but the variable with the name VAR_UPPER is not shown with the group with caption "Module name upper case" (the caption is shown.

MODULE modul_lower
!> \addtogroup mlow Module name lower case
!> {
integer, save :: VAR_LOWER

!> }

END MODULE modul_upper
MODULE modul_upper
!> \addtogroup Mupp Module name upper case
!> {
integer, save :: VAR_UPPER

!> }

END MODULE modul_upper

On 2012-05-05 12:28:21 +0000, albert wrote:

Created attachment 213490
PATCH: To handle case sensetiveness of \addtogroup

This patch corrects the error as introduced with the previous patch as attached in this bug. This patch has to be applied after the previous patch has been applied.

On 2012-05-05 13:15:08 +0000, Dimitri van Heesch wrote:

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

On 2012-05-19 12:26:50 +0000, Dimitri van Heesch wrote:

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.

On 2012-05-20 12:18:33 +0000, albert wrote:

Described bugs are fixed in version 1.8.1

@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
You can’t perform that action at this time.