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

Jed Brown jed at jedbrown.org
Thu Jun 20 11:11:32 CDT 2019


"Hapla  Vaclav" <vaclav.hapla at erdw.ethz.ch> writes:

>> On 20 Jun 2019, at 15:56, Vaclav Hapla <vaclav.hapla at erdw.ethz.ch> wrote:
>> 
>> 
>> 
>>> On 20 Jun 2019, at 15:52, Vaclav Hapla <vaclav.hapla at erdw.ethz.ch> wrote:
>>> 
>>> 
>>> 
>>>> On 20 Jun 2019, at 15:15, Hapla Vaclav <vaclav.hapla at erdw.ethz.ch> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On 20 Jun 2019, at 15:14, Jed Brown <jed at jedbrown.org> wrote:
>>>>> 
>>>>> Hapla  Vaclav via petsc-dev <petsc-dev at mcs.anl.gov> writes:
>>>>> 
>>>>>>> On 20 Jun 2019, at 14:28, PETSc checkBuilds <petsc-checkbuilds at mcs.anl.gov> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> Dear PETSc developer,
>>>>>>> 
>>>>>>> This email contains listings of contributions attributed to you by
>>>>>>> `git blame` that caused compiler errors or warnings in PETSc automated
>>>>>>> testing.  Follow the links to see the full log files. Please attempt to fix
>>>>>>> the issues promptly or let us know at petsc-dev at mcs.anl.gov if you are unable
>>>>>>> to resolve the issues.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> The PETSc development team
>>>>>>> 
>>>>>>> ----
>>>>>>> 
>>>>>>> warnings attributed to commit https://bitbucket.org/petsc/petsc/commits/eb91f32
>>>>>>> MatLoad_Dense_HDF5 impl.
>>>>>>> 
>>>>>>> src/mat/impls/dense/seq/densehdf5.c:62
>>>>>>> [http://ftp.mcs.anl.gov/pub/petsc/nightlylogs//archive/2019/06/20/build_next_arch-linux-pkgs-cxx-mlib_el6.log]
>>>>>>>  /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.

If it's meant to be private, it needs _Private.  If you don't otherwise
need private/isimpl.h, then it should probably become public.

MatHeaderReplace is public (in petscmat.h) so it should have a man page.


More information about the petsc-dev mailing list