[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