GNOME Bugzilla – Bug 521867
Fortran: scope of interface warning
Last modified: 2011-11-01 10:58:56 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!
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! >
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
indeed it is a workaround. I did not claim something else.
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.
Unfortunately still present.
This is fixed by the patch in #637610.
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.
Function tst2 is now found.