Programming in *.f90 free format with PETSc

Ben Tay zonexo at gmail.com
Thu Aug 9 23:05:06 CDT 2007


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
>
>
>   




More information about the petsc-users mailing list