Ok, I understand now. I just tested your recommended code on my school's
linux server which uses ifort. It works w/o any error. Here's the code:
#define PETSC_AVOID_DECLARATIONS
#include include/finclude/petsc.h
#include include/finclude/petscvec.h
#undef PETSC_AVOID_DECLARATIONS
module foobar
Sorry - I don't know enough about these f90 intricacies with
'DEC$ ATTRIBUTES DLLIMPORT'
Looks like you can't include mpif.h inside a module-subroutine.
I'll have to check up on this tomorrow.
Satish
On Fri, 10 Aug 2007, Ben Tay wrote:
Thank you Satish. I followed what you recommended
For now, you can try the following alternative: remove the !MS and
!DEC lines from mpif.h
COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
I think this should be ok - as long as you don't use the above MPI
flags in your code.
Satish
On Fri, 10 Aug 2007, Satish Balay
Thanks Satish. It worked.
Satish Balay wrote:
For now, you can try the following alternative: remove the !MS and
!DEC lines from mpif.h
COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
I think this should be ok - as long as you don't use the above MPI
SETERRQ is documented to not return a value:
Synopsis:
void SETERRQ(PetscErrorCode errorcode,char *message)
but it is defined in petscerror.h in terms of a return statement:
#define SETERRQ(n,s) {return
PetscError(__LINE__,__FUNCT__,__FILE__,__SDIR__,n,1,s);}
which causes a
On 8/10/07, John R. Wicks jwicks at cs.brown.edu wrote:
SETERRQ is documented to not return a value:
Synopsis:
void SETERRQ(PetscErrorCode errorcode,char *message)
I have corrected this documentation.
but it is defined in petscerror.h in terms of a return statement:
#define SETERRQ(n,s)