We were missing the manually provided Fortran interface definitions for PetscViewerASCIISynchronizedPrintf()Reported-by: Randall Mackie
Merge branch 'barry/2026-02-09/docs-dm' into 'main'Add a bit more discussion of DM and their commonalities to the docsSee merge request petsc/petsc!9018
Fortran: change var name in PetscPrintf()
Remove the last of the use of horizontal lines --- as seperators. With modern code development systems they are not needed and just an eye-sore
speaking argument names for manual Fortran interfacesNames are taken from the manual (following "Get" variant forFortran-only "Restore")- no code exists for DMPlexRestoreFullMeet, so removed it.
speaking argument names for manual Fortran interfacesNames are taken from the manual (following "Get" variant forFortran-only "Restore")- no code exists for DMPlexRestoreFullMeet, so removed it.- removed a few remaining F90 suffixes.- removed 'tmp' argument from PetscViewerBinaryWrite. No idea what it was used for
show more ...
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now t
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now the standard for passing in contexts - PetscCtxRt ctx is the standard for passing out contexts, including context destroy routines based on PetscCtxDestroyFnBoth of these are typedef to void*Also removed most use of user and userctx for context arguments now consistently named ctxImproved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
Fortran: removed interface namesnamed interfaces are used to overload subroutines
Replace -with-mpi-f90module-visibility with -with-mpi-f90module=mpi_f08Add PETSC_INT_KIND and PETSC_MPIINT_KINDReported-by: M.Weiland@epcc.ed.ac.uk
Fortran: enforce lower case keywords and operatorsalso fixed occasional capitals in used modules with the help of @prj-
Run fprettify
use standard bool instead of enumPetscBool is equivalent to _Bool/bool in CFor C standards prior to C23, true = 1 and false = 0 are defined in <stdbool.h>.For C23, true and false are real keywor
use standard bool instead of enumPetscBool is equivalent to _Bool/bool in CFor C standards prior to C23, true = 1 and false = 0 are defined in <stdbool.h>.For C23, true and false are real keywords.The Fortran equivalent is logical(C_BOOL) with C_BOOL fromISO_C_binding.The C and the C++ standard do not specify the size of Booleans, but theytypically have a size of 1 Byte with b00000000 for false and b00000001 for true.When using compilers from the same vendor, it is sane to assume that_Bool/bool in C and bool in C++ are fully compatible. But that is notguaranteed by the standards
improve readability, use modern Fortranoverlaid with a lot of white space changes, best to ignore to focus onthe relevant things
use integer and real kinds from ISO_C_bindingThe kinds in this module are guaranteed to be compatible with thecorresponding C types.Requires to include the ISO_C_binding module in interfaces and
use integer and real kinds from ISO_C_bindingThe kinds in this module are guaranteed to be compatible with thecorresponding C types.Requires to include the ISO_C_binding module in interfaces and strayfunctions
Fortran: Fix HDF5 attribute writing interface- Ensure real attribute writing routine is available unconditionally in real-only builds- Add new wrappers in zhdf5f.c for writing: - Integer attribu
Fortran: Fix HDF5 attribute writing interface- Ensure real attribute writing routine is available unconditionally in real-only builds- Add new wrappers in zhdf5f.c for writing: - Integer attributes - Scalar (PetscScalar) attributes - Real attributes- Update petscviewer.h90 to expose the real version consistently- Adds a minimal test program (ex80f.F90) to verify functionality- Update test case to reflect proper namesFixes: #194Thanks-to: Martin Diehladd dependency for HDF5 in testfix the c stubs to remove garbage valuesupdate the test case to reflect proper namesfix clang format
Fix typos
CI: use FFLAGS=-fimplicit-none, and fix corresponding errors
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90impl.h files. Also move uses of f90 to ftn when simple