Deutsch   English   Français   Italiano  
<vgujmr$1dl89$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!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: Mon, 11 Nov 2024 21:57:15 -0600
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <vgujmr$1dl89$1@dont-email.me>
References: <vgu0rm$16rop$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 12 Nov 2024 04:57:15 +0100 (CET)
Injection-Info: dont-email.me; posting-host="e65e33b4f0c03cfa18bf3263781018f9";
	logging-data="1496329"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/rdfyumfF2CjTxhc6Ji27YuTL65DBd23c="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:yypAwiAciH/QgJ+jXQSB28X3z0Y=
In-Reply-To: <vgu0rm$16rop$1@dont-email.me>
Content-Language: en-US
Bytes: 3018

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