Interfaces are generated automatically by sowing if the Fortran stub is generated automatically. For manual stubs one should always write a manual interface, but since we only started providing interfaces recently many manual stubs are still missing their corresponding interface. One can add any they notice are missing.
Barry > On Dec 6, 2021, at 6:22 AM, Jose E. Roman <jro...@dsic.upv.es> wrote: > > 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 <patrick.sa...@gmail.com> 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> >