Hello. I have skimmed through PETSc's documentation to see whether PETSc has any special policy for including header files, but I didn't find anything, so I assume that standard C rules apply.

The problematic header file is <petscerror.h>. The following code doesn't compile:

    #include <petscerror.h>

    int main() { return 0; }

It fails because <petscerror.h> expects `MPI_Comm` to be defined, but it is (I assume) lacking appropriate includes which would define it. This is unfortunate, because many linters targeting C/C++ sort header files alphabetically. Since "petsc" is the common prefix for most PETSc header files, `petscerror.h` was put first in my header list because it begins with an "e".

I'm using PETSc version 3.21.3.

Thanks in advance

Attachment: OpenPGP_0x1A14CB3464CBE5BF.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to