[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