checkbadSource: enforce proper style in makefiles
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Remove first and last empty lines
change to consistent use of ch_xxx for chapter names in the docs, instead of a mix of ch_xx and chapter_xx
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
Clean up ts manual pagesTo be safe I am triggering a full test even though this was intended to be docs-onlyCommit-type: documentation/spend 4h
source code format changes due to .clang-format changes
makefile: fix typo - petsckdir.mk -> petscdir.mk
clang-format: convert PETSc sources to comply with clang-format
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
show more ...
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (word.rstrip(","), comma)def _process_stripped_line(line): return " ".join(map(_process_word, line.split()))start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")def process_file(filename_full): with fileinput.FileInput(filename_full, inplace=True) as f: in_block = False for line in f: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close line_modified = None if not line_stripped: in_block = False elif line_stripped.endswith("*/"): in_block = False else: match = re.match(start_pattern, line) # not stripped line if match: indent = " " * len(match.group(1)) in_block = True line_modified = match.group( 1) + _process_stripped_line( match.group(2).strip()) elif in_block: line_modified = indent + _process_stripped_line( line_stripped) if line_modified: print(line_modified) # prints to the file else: print(line, end="") # prints to the fileBASE_DIRS = ["src", "include"]EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]def main(): """ Process everything """ for base in BASE_DIRS: for root, dirs, files in os.walk(base): for filename in files: if os.path.splitext(filename)[1] in EXT: filename_full = os.path.join(root, filename) print("FILE ---", filename_full) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)if __name__ == "__main__": main()```
Enable PETSC_ATTRIBUTE_FORMAT()
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX() -> PetscCallThrow()- CHKERRCXX() -> PetscCallCXX()- CHKERRCUDA() -> PetscCallCUDA()- CHKERRCUBLAS() -> PetscCallCUBLAS()- CHKERRCUSPARSE() -> PetscCallCUSPARSE()- CHKERRCUSOLVER() -> PetscCallCUSOLVER()- CHKERRCUFFT() -> PetscCallCUFFT()- CHKERRCURAND() -> PetscCallCURAND()- CHKERRHIP() -> PetscCallHIP()- CHKERRHIPBLAS() -> PetscCallHIPBLAS()- CHKERRHIPSOLVER() -> PetscCallHIPSOLVER()- CHKERRQ_CEED() -> PetscCallCEED()- CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction()- CHKERRMKL() -> PetscCallMKL()- CHKERRMMG() -> PetscCallMMG()- CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD()- CHKERRCGNS() -> PetscCallCGNS()- CHKERRPTSCOTCH() -> PetscCallPTSCOTCH()- CHKERRSTR() -> PetscCallSTR()- CHKERRTC() -> PetscCallTC()
chkerr and friends wrapped
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds les
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds lesstightly, so the result of the computation would otherwise change.
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-pro
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-process their errors better.The test harness will now automatically retry tests that fail with MPI, this may help with Intel MPI that produces seemingly random failures.Commit-type: error-checking/spend 30m
Fix misuse of PETSC_COMM_WORLD in library codeThere are still many left, I'm tired of fixing them[szampini@localhost petsc]$ git grep PETSC_COMM_WORLD | grep -v tests | grep -v tutorials | grep '
Fix misuse of PETSC_COMM_WORLD in library codeThere are still many left, I'm tired of fixing them[szampini@localhost petsc]$ git grep PETSC_COMM_WORLD | grep -v tests | grep -v tutorials | grep '\.c' | awk '{print $1}' | uniqsrc/benchmarks/streams/CUDAVersion.cu:src/benchmarks/streams/SSEVersion.c:src/contrib/fun3d/comp/flow.c:src/contrib/fun3d/incomp/flow.c:src/dm/impls/forest/p4est/petsc_p4est_package.c:src/dm/impls/moab/dmmbfem.cxx:src/dm/impls/moab/dmmbmg.cxx:src/dm/impls/moab/dmmbutil.cxx:src/dm/impls/moab/dmmbvec.cxx:src/dm/impls/moab/dmmoab.cxx:src/dm/impls/network/network.c:src/dm/impls/stag/stag.c:src/dm/impls/stag/stag1d.c:src/dm/impls/stag/stag2d.c:src/dm/impls/stag/stag3d.c:src/dm/impls/stag/stagda.c:src/dm/impls/stag/stagutils.c:$src/dm/impls/swarm/data_ex.c:src/dm/impls/swarm/swarm.c:src/dm/impls/swarm/swarm_migrate.c:src/ksp/ksp/impls/fcg/pipefcg/pipefcg.c:src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c:src/ksp/ksp/impls/gmres/pipefgmres/pipefgmres.c:src/ksp/ksp/impls/tsirm/tsirm.c:src/ksp/ksp/interface/itcreate.c:src/ksp/ksp/interface/iterativ.c:src/ksp/ksp/interface/saws/kspsaws.c:src/ksp/pc/impls/bddc/bddcfetidp.c:src/ksp/pc/impls/fieldsplit/fieldsplit.c:src/ksp/pc/impls/gamg/util.c:src/ksp/pc/impls/gasm/gasm.c:src/ksp/pc/impls/is/nn/nn.c:src/ksp/pc/impls/patch/pcpatch.c:src/ksp/pc/impls/tfs/gs.c:src/ksp/pc/impls/tfs/tfs.c:src/ksp/pc/impls/tfs/xxt.c:src/ksp/pc/impls/tfs/xyt.c:src/ksp/pc/interface/precon.c:src/mat/impls/aij/mpi/mpiaij.c:#definesrc/mat/interface/matrix.c:src/mat/interface/matrix.c:.src/mat/interface/matrix.c:src/mat/interface/matrix.c:$src/mat/utils/multequal.c:src/snes/interface/saws/snessaws.c:src/snes/interface/snes.c:src/sys/classes/draw/interface/drawreg.c:src/sys/classes/random/interface/random.c:src/sys/classes/random/interface/randomc.c:src/sys/classes/viewer/impls/ams/ams.c:src/sys/classes/viewer/impls/ams/amsopen.c:src/sys/classes/viewer/impls/ascii/vcreatea.c:src/sys/classes/viewer/impls/mathematica/mathematica.c:src/sys/dll/reg.c:src/sys/dll/reg.c:staticsrc/sys/dll/reg.c:src/sys/error/adebug.c:src/sys/error/checkptr.c:src/sys/error/errstop.c:src/sys/error/pstack.c:src/sys/error/signal.c:src/sys/ftn-custom/zutils.c:src/sys/info/verboseinfo.c:src/sys/logging/plog.c:src/sys/logging/utils/eventlog.c:src/sys/logging/xmllogevent.c:src/sys/memory/mal.c:src/sys/memory/mtr.c:src/sys/objects/aoptions.c:src/sys/objects/aoptions.c:+src/sys/objects/aoptions.c:src/sys/objects/ftn-custom/zstart.c:src/sys/objects/ftn-custom/zstartf.c:src/sys/objects/inherit.c:src/sys/objects/init.c:src/sys/objects/options.c:+src/sys/objects/options.c:src/sys/objects/pinit.c:MPI_Commsrc/sys/objects/pinit.c:src/sys/utils/mpitr.c:src/sys/utils/mpits.c:+src/sys/utils/pbarrier.c:src/sys/utils/pdisplay.c:src/sys/yaml/yamlimpls.c:src/sys/yaml/yamlimpls.c:+src/sys/yaml/yamlimpls.c:src/tao/pde_constrained/impls/lcl/lcl.c:src/ts/interface/ts.c:src/vec/is/is/utils/iscoloring.c:src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx:src/vec/vec/interface/vector.c:.src/vec/vec/interface/vector.c:
PetscBinaryWrite: Remove `istemp` boolean flag
git grep -l "seperate" | xargs sed -i '' -e 's/seperate/separate/g'Commit-type: spelling-fixReported-by: Pierre JOLIVET <Pierre.Jolivet@enseeiht.fr>
12