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