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,841 of 5,127   
   Lynn McGuire to baf   
   Re: I am getting a strange error when co   
   12 Nov 24 14:43:20   
   
   From: lynnmcguire5@gmail.com   
      
   On 11/12/2024 1:55 PM, baf wrote:   
   > On 11/11/2024 10:40 PM, Lynn McGuire wrote:   
   >> 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   
   >>   
   > A better alternative would be to put the subroutines in the module and   
   > USE the module. Then you don't need the interfaces (the compiler gets   
   > all of the interface information "automagically").   
      
   850,000 lines of code in a single file ?  That would be a mess.   
      
   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