[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Programming in *.f90 free format with PETSc



Thank you Satish. I followed what you recommended exactly and used

sed -e 's/^C/\!/g'

With the new mpif.h, I got the following error:

global.i90
d:\cygwin\codes\MPICH\SDK\include\mpif.h(174) : Error: DEC$ ATTRIBUTES DLLIMPORT attribute can appear only in an interface-body. [MPIPRIV]
!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV/


It points to this error in mpif.h

! Intel compiler import specification
!MS$ATTRIBUTES DLLIMPORT :: /MPIPRIV/
! Visual Fortran import specification
!DEC$ ATTRIBUTES DLLIMPORT :: /MPIPRIV/            -   in here
     COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
     PARAMETER (MPI_MAX=100,MPI_MIN=101,MPI_SUM=102,MPI_PROD=103)
     PARAMETER (MPI_LAND=104,MPI_BAND=105,MPI_LOR=106,MPI_BOR=107)

Hope you can help again. Thank you very much.


Satish Balay wrote:
On Fri, 10 Aug 2007, Ben Tay wrote:

The strange thing is when I try to compile on my windows's visual
fortran, it gives lots of error. The errors all point to mpif.h. Some errors
are:

d:\cygwin\codes\MPICH\SDK\include\mpif.h(1) : Error: Syntax error, found
END-OF-STATEMENT when expecting one of: ( : % . = =>
C
-^
d:\cygwin\codes\MPICH\SDK\include\mpif.h(2) : Error: Syntax error, found
END-OF-STATEMENT when expecting one of: ( : % . = =>
C
-^
d:\cygwin\codes\MPICH\SDK\include\mpif.h(3) : Error: Syntax error, found
INTEGER_CONSTANT '1993' when expecting one of: ( % . = =>
C (C) 1993 by Argonne National Laboratory and Mississipi State University.
-------^

Some f90/free-form compilers don't like 'C' for comments. They need '!' in the first columns.

To fix this - you'll have to follow instructions from mpif.h



C It really is not possible to make a perfect include file that can
C be used by both F77 and F90 compilers, but this is close. We have removed
C continuation lines (allows free form input in F90); systems whose
C Fortran compilers support ! instead of just C or * for comments can
C globally replace a C in the first column with !; the resulting file
C should work for both Fortran 77 and Fortran 90.
C
C If your Fortran compiler supports ! for comments, you can run this C through sed with
C sed -e 's/^C/\!/g'


<<<<<<<<<<<<

Satish