Deutsch English Français Italiano |
<vh0el9$1p78j$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Lynn McGuire <lynnmcguire5@gmail.com> Newsgroups: comp.lang.fortran Subject: Re: I am getting a strange error when compiling abcpar.f in gfortran Date: Tue, 12 Nov 2024 14:43:20 -0600 Organization: A noiseless patient Spider Lines: 86 Message-ID: <vh0el9$1p78j$1@dont-email.me> References: <vgu0rm$16rop$1@dont-email.me> <vgujmr$1dl89$1@dont-email.me> <lpg9ioF8j1eU1@mid.individual.net> <vgut91$1fga5$1@dont-email.me> <lphq4tFfkg7U1@mid.individual.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 12 Nov 2024 21:43:22 +0100 (CET) Injection-Info: dont-email.me; posting-host="e65e33b4f0c03cfa18bf3263781018f9"; logging-data="1875219"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19tMBfEgxvIvO6z/9QQdMgrnavpMpSaUes=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:MaXidqi2WXe1dvb8N4NxXqwbms8= In-Reply-To: <lphq4tFfkg7U1@mid.individual.net> Content-Language: en-US Bytes: 4257 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