[Prev][Next][Index]

a set of problems with f2dep




Hi,

  We are using Sage++-1.7 on solaris2.

  For testing our project, we parsed a lot of fortran 
programs. We noticed a set of problems. 
We have two types of problem.


-----------------------------------------
1) Error when we parse a fortran program.
-----------------------------------------


- problem with the bit function "not" which returns 
the bitwise complement of its argument.
argument can be integer or logical.

  example :

     if(not(vide_Hij)) then

  message from f2dep :

error on line 1048 of Code_Lent.f: non-logical expression in IF statement



- Problem when the type of the function is not declared.

  example :

       FUNCTION f(ic_i,ic_j,l,i,j,mi,mj,ca)
       implicit complex*16 (a-h,o-z)

  message from f2dep :
error on line 181 of Simul_mesh.f: sym.c:make_function:1:inconsistent function f.
Segmentation Fault (core dumped)



- When you put a floating point after the brackets for a
write operation.

  example :

        write(jtape,101),(im(ianv+k-1),k=im(iainv+i-1)+1,im(iainv+i))

  message from f2dep :

Error on line 135 of lap1.f: parse error
Segmentation Fault (core dumped)



-  When a block inside a ELSEIF is empty.

  example :

        ELSEIF(JPERIO.EQ.0) THEN
C
        ELSE

  message from f2dep :

Segmentation Fault (core dumped)



- When we uses character substring.

  example :

       open (FICSTR,file=nomfic(1:ilnfic),status='old',form='formatted')

  message from f2dep :

Segmentation Fault (core dumped)



- Allocatable common is not handled .

  example :

      COMMON,ALLOCATABLE /WRKI/ TW(LMAX)

      ALLOCATE(/WRKI/)

      DEALLOCATE(/WRKA/)

  message from f2dep :

Error on line 58 of main.F: parse error



- Don't understand double quote (fortran 90).

  example :

      call getenv("IPHINTER",CHECFS)

  message from f2dep :

Error on line 156 of main.F: parse error



- A program parsed by f2dep must begin with the program 
statement.

  message from f2dep :

Segmentation Fault (core dumped)




---------------------------------------
2) Error during compilation on paragon.
---------------------------------------


- Problem when the type of the function is declared at
the next line.

  example :

       FUNCTION op_etp(n,lr,nadd,mult)
       real*8 op_etp

==> It's changed by f2dep into

       real function op_etp (n, lr, nadd, mult)
       real*8    op_etp

  message during compilation :

PGFTN-S-0037-Contradictory data type specified for op_etp (BLAS_Tools_MPI.f: 1044)
  0 inform,   0 warnings,   1 severes, 0 fatal for op_etp



- Problem with single quotes.

  example :

      if (ppe) write (unit = 0,fmt = *)'LECTURE DES FACTEURS D''ECHELLE'

==> It's changed by f2dep into

      if (ppe) write (unit = 0,fmt = *)'LECTURE DES FACTEURS D'ECHELLE'

  message during compilation :

PGFTN-S-0026-Unmatched quote (domzgr_MPI.f: 1065)
  0 inform,   0 warnings,   1 severes, 0 fatal for domzgr



- Problem with fortran 90 comment.

  example :

      double precision  tab(*)  ! vecteur a sommer    (E/S)

==> It's changed by f2dep into

! vecteur a sommer    (E/S)      complex  tab(*)




S. Yhuel

+---------------------------------------------------------------------+
Stephane YHUEL (Scientifique du contingent)   
ONERA DI          Calcul Parallele   "E-mail" : yhuel@onera.fr   
29,  Avenue de la Division Leclerc   Telecopie: +33 (1) 46 73 43 83 
BP 72 92322 Chatillon Cedex FRANCE   Telephone: +33 (1) 46 73 40 40 
+---------------------------------------------------------------------+