Fix the inconsistent usage of #if [!]defined XXX compared to defined(XXX)Thanks-to: Pierre JolivetAn LLM Claude detected the incosnsitency it was not used to remove the inconsistency
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
show more ...
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
Fix wrong docstrings
sowing: update bfort to version that handles string argumentsand sync with version fixes in sowing
Fix capitalization of fortranCommit-type: housekeeping
Convert all header guards to pragma once
Linter now tries to detect functions that could be static, and makes it so.
Document linter and add type hints
Fix bug in self-referential docstring checks
Update linter for PetscAssertPointer()
Rename PetscValidPointer -> PetscAssertPointer
Deploy new PetscValidPointer, remove PetscValidXXXPointer
Crudely handle variadic functions for now
TODO blindy assume that macro arguments are OK for now
Make note false positives more rare
Fix flip-flop in seealso alignment check
Make header guessing slightly more robust against 'the options database'-style false positives
Make header guessing slightly more robust against 'references [to|a|so]'-style false positives
Make header guessing slightly more robust against 'for example'-style false positives
Fix indent-check not being made when switching sections
Clearly describe how to document function pointer parameters if they are detected (andmissing docstring args are as well)
Minor performance improvements to adding errors
Fix duplicate seealso entries bug, it should catch duplicates even if one or the other is not enclosed by backticks!
Improve handling of nested and dummy leading comments, now properly ignores comments inside the docstring
123