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,838 of 5,127    |
|    baf to Lynn McGuire    |
|    Re: I am getting a strange error when co    |
|    12 Nov 24 11:55:10    |
      From: baf@nowhere.com              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").              --- 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