Hi, Guess I'm too used to typing .f90 ;-) .... I've changed it to .F90 before but perhaps at that time the error I got didn't disappear so I didn't bother after that. I'm working in windows so I thought the capital letter doesn't really matter. Moreover, .f90 also works with my ifort in linux. Is it really important? If so, I'll change all my .f90 to F90. Thanks for highlighting.
Here's a sample code test.F90: module global_data implicit none save #define PETSC_AVOID_DECLARATIONS #include "include/finclude/petsc.h" #include "include/finclude/petscvec.h" #include "include/finclude/petscmat.h" #include "include/finclude/petscksp.h" #include "include/finclude/petscpc.h" #undef PETSC_AVOID_DECLARATIONS integer :: size_x,size_y Mat A_mat ! /* sparse matrix */ !MPI_Comm PETSC_COMM_SELF - commented out will result in error contains subroutine allo_var !allocate memory for variables integer :: status(2),ierr,k size_x=10;size_y=10 call PetscInitialize(PETSC_NULL_CHARACTER,ierr) call MatCreateSeqAIJ(PETSC_COMM_SELF,size_x*size_y,size_x*size_y,13,PETSC_NULL_INTEGER,A_mat,ierr) end subroutine allo_var end module global_data I got "Error: This name does not have a type, and must have an explicit type. [PETSC_NULL_CHARACTER]". Same for PETSC_NULL_INTEGER and PETSC_COMM_SELF. It was ok when I'm programming in fixed format. Thanks Satish Balay wrote: > On Thu, 9 Aug 2007, Ben Tay wrote: > > >> Hi, >> >> when I changed my global.F to global.f90, >> > > Any perticular reason why you keep using .f90 suffix even though I've > recommended using .F90 suffix [for preprocessed free form] a few > times? > > >> I was told that PETSC_COMM_SELF, PETSC_NULL_INTEGER and >> PETSC_NULL_CHARACTER does not have a type. >> > > Please send a test code that demonstrates this problem. > > Satish > > >
