[petsc-users] A problem with MatFDColoringSetFunction
Zou, Ling
lzou at anl.gov
Mon Jan 10 21:23:33 CST 2022
Thank you Barry.
-Ling
From: Barry Smith <bsmith at petsc.dev>
Date: Monday, January 10, 2022 at 5:13 PM
To: Zou, Ling <lzou at anl.gov>
Cc: PETSc <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] A problem with MatFDColoringSetFunction
This is annoying. You need to pass in a compiler flag to turn off the error conditioner for casting a function pointer. It may be -Wnoerror=cast-function-type just google.
Barry
On Jan 10, 2022, at 4:35 PM, Zou, Ling via petsc-users <petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
Hi All,
I would appreciate if you could give some advice for setting the ‘FormFunction’ for the MatFDColoringSetFunction function call.
I follow what is shown in the example:
https://petsc.org/release/src/snes/tutorials/ex14.c.html
I setup similar code structure like:
PetscErrorCode FormFunction(SNES,Vec,Vec,void*);
Then use it as:
MatFDColoringSetFunction(fdcoloring, (PetscErrorCode(*)(void))SNESFormFunction, this);
This works fine on my local MacOS. However, when commit it to a remote repo, the compiler there gives me the following error (where warnings are treated as errors):
src/base/PETScProblemInterface.C:100:67: error:
cast between incompatible function types from
'PetscErrorCode (*)(SNES, Vec, Vec, void*)' {aka 'int (*)(_p_SNES*, _p_Vec*, _p_Vec*, void*)'}
to
'PetscErrorCode (*)()' {aka 'int (*)()'} [-Werror=cast-function-type]
Any help is appreciated.
-Ling
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220111/54a4e627/attachment.html>
More information about the petsc-users
mailing list