[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
Barry
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