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()```
show more ...
Docs: remove " (for list of available types)" comments from man page .seealso lists
Do not wrap PetscTryMethod() PetscUseMethod() in PetscCallIt produces shadow declarations and also serves no purpose since these macros do the appropriate error checking alreadyThere may be addit
Do not wrap PetscTryMethod() PetscUseMethod() in PetscCallIt produces shadow declarations and also serves no purpose since these macros do the appropriate error checking alreadyThere may be additions needed for running with a static error checkerCommit-type: error-checking/spend 15mReported-by:Lisandro Dalcin <dalcinl@gmail.com>
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()
pluck ~1000 low hanging PetscCheckFalse() -> PetscCheck() fruit
chkerr and friends wrapped
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
Unify XXGetYYContext callsalways use void*
Remove all double blank lines from sourceCommit-type: petsc-style/2h
PCShellSetMatApply(): Correction to header of documentation
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
PC: add ops->matapply
KSP/PC: Fix 0 ->NULL for pointers
Single petscdir.mk
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petsc
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petscdir.mk in many of the makefilesStill needs the link for ../petscdir.mk in many directoriesGNUMakefile: call legacy makefile recursively instead of including itGNUMakefile: promote default "all" target; "libs" builds libpetsc*GNUMakefile: If gnumake < 4.2 prefer makefile wrapper interface over direct gmakefile interface to avoid the following warningsgmakefile.test:92: arch-ci-linux-cxx-cmplx-pkgs-64idx/tests/testfiles: No such file or directorygmakefile:67: arch-ci-linux-cxx-cmplx-pkgs-64idx/lib/petsc/conf/files: No such file or directoryCommit-type: testing-fix, feature, usabilityThanks-to: Jed Brown jed@jedbrown.org
Remove usage of PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL, HAVE_FORTRAN_MIXED_STR_ARG flags - as Compaq f90 compiler is no longer supported
Minor
Double semicolons
docs: PCShell man pages: fix argument name inconsistencies
Merge from doc-fixes branch
Fixes for doctext update
Man pages: remove Concepts: fieldsThese fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209Remove these fields from all man pages (but
Man pages: remove Concepts: fieldsThese fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209Remove these fields from all man pages (but not from examples).This is accomplished with GNU sed (gsed on OS X), with the following commands.*Warning* that this type of command can corrupt a .git directory,so be cautious in reusing or modifying these commands. They first lookfor and delete matching lines with a following line consisting of only whitespace,and then delete any remaining matching lines. find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} +Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be unif
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be uniformly used or maintained.Thus, remove all .keywords: fields, and a following blank line, if present.This is accomplished with GNU sed (gsed on OS X), with the following commands.*Warning* that this type of command can corrupt a .git directory,so be cautious in reusing or modifying these commands. They first lookfor and delete matching lines with a following line consisting of only whitespace,and then delete any remaining matching lines. find src/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find src/ -type f -exec gsed -i '/keywords:/d' {} + find include/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find include/ -type f -exec gsed -i '/keywords:/d' {} +Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-f
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-fixReported-by: Tim Steinhoff <kandanovian@gmail.com>
12345678