After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 521867 - Fortran: scope of interface warning
Fortran: scope of interface warning
Status: VERIFIED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.2-SVN
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on: 637610
Blocks:
 
 
Reported: 2008-03-11 21:26 UTC by albert
Modified: 2011-11-01 10:58 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description albert 2008-03-11 21:26:26 UTC
The scope of a function cannot be determined although it is in the same source file.

Example:
      SUBROUTINE tst1
      INTERFACE
        FUNCTION fie1
          REAL             :: fie1
        END FUNCTION fie1
      END INTERFACE

      REAL var1
      var1 = fie2 (fie1)

      contains

      FUNCTION fie2 (func)
      REAL             :: fie2
      INTERFACE
        FUNCTION func
          REAL             :: func
        END FUNCTION func
      END INTERFACE
      end FUNCTION fie2
      END SUBROUTINE tst1

      FUNCTION fie1
      REAL             :: fie1
      end FUNCTION fie1

resulting error message:
i.f:1: Warning: Internal inconsistency: scope for class tst1::fie2__interface not found!
Comment 1 Alin M Elena 2008-03-24 21:55:22 UTC
include the functions/subroutines in a module. 
that will get rid of the warning.

Alin


(In reply to comment #0)
> The scope of a function cannot be determined although it is in the same source
> file.
> 
> Example:
>       SUBROUTINE tst1
>       INTERFACE
>         FUNCTION fie1
>           REAL             :: fie1
>         END FUNCTION fie1
>       END INTERFACE
> 
>       REAL var1
>       var1 = fie2 (fie1)
> 
>       contains
> 
>       FUNCTION fie2 (func)
>       REAL             :: fie2
>       INTERFACE
>         FUNCTION func
>           REAL             :: func
>         END FUNCTION func
>       END INTERFACE
>       end FUNCTION fie2
>       END SUBROUTINE tst1
> 
>       FUNCTION fie1
>       REAL             :: fie1
>       end FUNCTION fie1
> 
> resulting error message:
> i.f:1: Warning: Internal inconsistency: scope for class tst1::fie2__interface
> not found!
> 

Comment 2 albert 2008-03-25 18:04:29 UTC
The proposed solution is in my opinion a work around. The code is, I think, valid Fortran code.
So in the near future I hope Doxygen will not give the warning anymore.

Albert
Comment 3 Alin M Elena 2008-03-25 18:50:34 UTC
indeed it is a workaround. I did not claim something else.
Comment 4 Dimitri van Heesch 2008-12-27 14:22:57 UTC
This bug report had the version set to "latest". Since this is a moving target I changed it to 1.5.7.1. If you happen to see that the problem is fixed in 1.5.8, then please close it.
Comment 5 albert 2008-12-27 20:12:37 UTC
Unfortunately still present.
Comment 6 Daniel Franke 2010-12-19 21:35:02 UTC
This is fixed by the patch in #637610.
Comment 7 Dimitri van Heesch 2011-01-03 19:01:05 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.3. 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.
Comment 8 albert 2011-11-01 10:58:56 UTC
Function tst2 is now found.