[petsc-users] Compilation error with ifort: invalid return statement in main

Jose E. Roman jroman at dsic.upv.es
Sun Nov 19 03:43:46 CST 2017


> El 19 nov 2017, a las 10:16, Praveen C <cpraveen at gmail.com> escribió:
> 
> Dear all
> 
> In the main program, if I have a line like
> 
>   call PetscInitialize('param.in', ierr); CHKERRQ(ierr)
> 
> compiling with mpifort gives
> 
> main.f95(17): error #6353: A RETURN statement is invalid in the main program.
>   call PetscInitialize('param.in', ierr); if (ierr .ne. 0) then ; call PetscErrorF(ierr); return; endif
> —————————————————————————————————————————————^
> 
> It compiles fine with gfortran. What can I do for the ifort case ?
> 
> Thanks
> praveen

Use CHKERRA(ierr) in the main program and CHKERRQ(ierr) in the subroutines.

On the other hand, you should not use CHKERRA(ierr) after PetscInitialize because it assumes that MPI has been correctly initialized.

Jose



More information about the petsc-users mailing list