Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.fortran    |    Putting John Backus on a giant pedestal    |    5,127 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 4,839 of 5,127    |
|    Lynn McGuire to baf    |
|    Re: I am getting a strange error when co    |
|    12 Nov 24 00:40:34    |
      From: lynnmcguire5@gmail.com              On 11/12/2024 12:06 AM, baf wrote:       > On 11/11/2024 7:57 PM, Lynn McGuire wrote:       >> On 11/11/2024 4:35 PM, Lynn McGuire wrote:       >>> I am getting a strange error when compiling abcpar.f in gfortran:       >>>       >>>       >>> Compiling .\CHM\VALIEQ\abcpar.f       >>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -       >>> - - - - -       >>> dii.inc:30:10:       >>> Error: 'abcpar' of module 'aaa_modules', imported at (1), is also the       >>> name of the current program unit       >>> Error: Last command making (build\abcpar.o) returned a bad status       >>> Error: Make execution terminated       >>> * Failed *       >>>       >>>       >>> C aaa_modules.f       >>> C list of interfaces in a module for CHM / DII code compiling       >>> MODULE aaa_modules       >>> implicit none       >>> INTERFACE       >>> SUBROUTINE ABCPAR(ISW,IRETST,IR,IC,PAR,IPHASE)       >>> INTEGER(KIND=8) :: ISW       >>> INTEGER(KIND=8) :: IRETST       >>> INTEGER(KIND=8) :: IR       >>> INTEGER(KIND=8) :: IC       >>> REAL(KIND=8) :: PAR       >>> INTEGER(KIND=8) :: IPHASE       >>> END SUBROUTINE ABCPAR       >>> END INTERFACE       >>> ...       >>> END MODULE aaa_modules       >>>       >>>       >>> SUBROUTINE ABCPAR (ISW, IRETST, IR, IC, PAR, IPHASE)       >>> INCLUDE 'dii.inc'       >>> ...       >>> return       >>> end       >>>       >>>       >>> C dii.inc       >>> use aaa_modules       >>> C force all variables to be declared       >>> implicit none       >>>       >>>       >>> Thanks,       >>> Lynn McGuire       >>       >> Apparently, the current subroutine being compiled cannot have an       >> interface in the module being USEd.       >>       >> The Metcalf Fortran 95 book says that I can exempt the current       >> subroutine from the USE by:       >>       >> USE module_name, exempt_this_one => name       >>       >> where name is the name of current subroutine or function without the       >> file suffix and without the path.       >>       >> I just need a way to generalize the name and __FILE__ does not work.       >>       >> Lynn       >>       >>       > If all of your general purpose subroutines and functions are in modules,       > you don't need interfaces for them (one of the advantages of modules).              I have 6,000 subroutines in 5,000 files. All I did was put interfaces       for about 2,600 of the subroutines into a single module.              Lynn              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca