Date: 2025-03-28T21:11:11+00:00

Actual source code: somefort.F90

      1: !
      2: !     Prevents: Warning: Same actual argument associated with INTENT(IN)
      3: !     argument 'errorcode' and INTENT(OUT) argument 'ierror' at (1)
      4: !     when MPI_Abort() is called directly
      5: !

      7: #include <petsc/finclude/petscsys.h>

      9:       subroutine MPIU_Abort(comm,ierr)
     10:       implicit none
     11:       MPI_Comm comm
     12:       PetscMPIInt ierr, nierr, ciportable
     13:       call PetscCIEnabledPortableErrorOutput(ciportable)
     14:       if (ciportable == 1) then
     15:         call MPI_Finalize(nierr)
     16:         stop 0
     17:       else
     18:         call MPI_Abort(comm,ierr,nierr)
     19:       endif
     20:       end
     21: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     22: !DEC$ ATTRIBUTES DLLEXPORT::MPIU_Abort
     23: #endif

     25:       subroutine PetscFortranPrintToFileUnit(unit,str,ierr)
     26:       implicit none
     27:       character(*) str
     28:       integer4 unit
     29:       PetscErrorCode ierr
     30:       write(unit=unit, fmt="(A)", advance='no') str
     31:       ierr = 0
     32:       end
     33: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     34: !DEC$ ATTRIBUTES DLLEXPORT::PetscFortranPrintToFileUnit
     35: #endif

     37: !  This uses F2003 feature - and is the preferred mode for accessing command line arguments
     38:       integer function PetscCommandArgumentCount()
     39:       implicit none
     40:       PetscCommandArgumentCount = command_argument_count()
     41:       end

     43:       subroutine PetscGetCommandArgument(n,val)
     44:       implicit none
     45:       integer, intent(in) :: n
     46:       character(*) val
     47:       call get_command_argument(n,val)
     48:       end