Skip to main content
`Ctrl`+`K`

# PetscCallA

Fortran-only macro that should be used in the main program and subroutines that do not have `ierr` as the final return parameter, to call PETSc functions instead of using `PetscCall()` which should be used in other Fortran subroutines

## Synopsis

    #include <petscsys.h>
    PetscErrorCode PetscCallA(PetscFunction(arguments, ierr))

Collective

## Input Parameter

- PetscFunction(arguments,ierr) - the call to the function

## Notes

This should only be used with Fortran. With C/C++, use `PetscCall()` always.

The Fortran function in which this is used must declare a `PetscErrorCode` variable necessarily named `ierr` Use `SETERRA()` to set an error in a Fortran main program and `SETERRQ()` in Fortran subroutines

## See Also

`SETERRQ()`, `SETERRA()`, `SETERRABORT()`, `PetscCall()`, `CHKERRA()`, `PetscCallAbort()`

## Level

beginner

## Location

include/petscerror.h

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages