[petsc-dev] PETSc blame digest (next) 2019-06-20

Smith, Barry F. bsmith at mcs.anl.gov
Thu Jun 20 14:50:29 CDT 2019

It HAS A hid_t argument! Making it public means making HDF5 includes public, means all PETSc applications have the HDF5 includes open in them. Likely it should just get _Private 


On Jun 20, 2019, at 9:01 AM, Hapla Vaclav via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
> On 20 Jun 2019, at 15:56, Vaclav Hapla <vaclav.hapla at erdw.ethz.ch> wrote:
>> /home/sandbox/petsc/petsc.next-3/src/mat/impls/dense/seq/densehdf5.c:62: undefined reference to `PetscViewerHDF5Load'
>>>>>> Does it mean I need to change visibility of PetscViewerHDF5Load in isimpl.h to PETSC_EXTERN?
>>>>>> Are you OK with that?
>>>>> Yes, and when doing that, it needs a Developer level man page.
>>>> OK, thanks.
>>> So as a rule of thumb, every PETSC_EXTERN function should be documented, although in private headers?
>>> Then src/vec/is/utils/hdf5io.c should have
>>> #include <petsc/private/isimpl.h> /*I "petsc/private/isimpl.h" I*/
>>> ?
>>> Looks a bit weird, doesn't it?
>>> I think there are countless cases petsc-wide which break this.
>> dev manual page 15 bullet 15:
>> "private functions may need to be marked PETSC_EXTERN"
>> There is an example of MatHeaderReplace. It hasn't a manpage.
> Well, I'm not against making it public (it originally was) and write a manpage, but then it should be also moved to the public header file.
> Sorry for sending a few previous emails only to Jed.
> Vaclav

More information about the petsc-dev mailing list