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

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Lynn McGuire <lynnmcguire5@gmail.com>
Newsgroups: comp.lang.fortran
Subject: writing a module file in gfortran 14
Date: Tue, 3 Dec 2024 17:02:59 -0600
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <vio2n4$d19a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 04 Dec 2024 00:03:00 +0100 (CET)
Injection-Info: dont-email.me; posting-host="36a13f14a3385a93743e9e64e80027fe";
	logging-data="427306"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/2CXGvO2chvKk1R7qe2oLxOvBh2+h9I4M="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Puir2p2125ctIwtgNetVtzddOI0=
Content-Language: en-US
Bytes: 3034

Is the "implicit none" in the proper place in the following code ?  I 
misspelled an argument name declaration and gfortran 14 did not complain 
when compiling my module file.  However, it implicitly declared the 
argument variable to be real*4 and then complained when it compiled my 
subroutine code that the subroutine was declared differently.


      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

           INTERFACE
             SUBROUTINE ABSR(NIN,NOUT,NOCOMP,NEQP,NDSP,SIVPFR,SITEMP,    &
      &SIPRES,SIENTH,SIENTR,SIMOLE,SICOMP,SIKV,SOVPFR,SOTEMP,SOPRES,     &
      &SOENTH,SOENTR,SOMOLE,SOCOMP,SOKV,EQPAR,DESPAR)
               INTEGER(KIND=8) :: NDSP
               INTEGER(KIND=8) :: NEQP
               INTEGER(KIND=8) :: NOCOMP
               INTEGER(KIND=8) :: NOUT
               INTEGER(KIND=8) :: NIN
               REAL(KIND=8) :: SIVPFR(NIN)
               REAL(KIND=8) :: SITEMP(NIN)
               REAL(KIND=8) :: SIPRES(NIN)
               REAL(KIND=8) :: SIENTH(NIN)
               REAL(KIND=8) :: SIENTR(NIN)
               REAL(KIND=8) :: SIMOLE(NIN)
               REAL(KIND=8) :: SICOMP(NOCOMP,NIN)
               REAL(KIND=8) :: SIKV(NOCOMP,NIN)
               REAL(KIND=8) :: SOVPFR(NOUT)
               REAL(KIND=8) :: SOTEMP(NOUT)
               REAL(KIND=8) :: SOPRES(NOUT)
               REAL(KIND=8) :: SOENTH(NOUT)
               REAL(KIND=8) :: SOENTR(NOUT)
               REAL(KIND=8) :: SOMOLE(NOUT)
               REAL(KIND=8) :: SOCOMP(NOCOMP,NOUT)
               REAL(KIND=8) :: SOKV(NOCOMP,NOUT)
               REAL(KIND=8) :: EQPAR(NEQP)
               REAL(KIND=8) :: DESPAR(NDSP)
             END SUBROUTINE ABSR
           END INTERFACE
....

Thanks,
Lynn