Re: [petsc-dev] Help tracking down unexpected Fortran behavior
PCSetType() has an interface in src/ksp/f90-mod/petscpc.h90 while PCFactorSetMatOrderingType() does not. I don't know if there is a clear criterion for when to add an interface in the corresponding h90 file. One criterion is that we need a F90 interface in case one of the arguments is allowed to be NULL. Jose
El 6 dic 2021, a las 11:20, Patrick Sanan <[email protected]> escribió:
I ran into an unexpected seg fault, which took me too long to realize was because of the old-school "you forgot the ierr" mistake! I was expecting the compiler to complain, since we've had better checking for a while. E.g. as in the attached code to reproduce, my compiler indeed errors on this
call PCSetType(pc, PCLU)
but not this
call PCFactorSetMatOrderingType(pc, MATORDERINGEXTERNAL)
I'm not yet seeing what the difference is, but there is still plenty I don't understand about how the custom fortran interfaces work. E.g. both of those functions have custom interfaces in ftn-custom directories, accepting an additional "len" argument to be used with FIXCHAR(), but I'm not sure how that argument is ultimately populated.
<ex999f.F90>
participants (1)
-
Jose E. Roman