home bbs files messages ]

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