[petsc-dev] Master broken after changes to PetscSection headers

Matthew Knepley knepley at gmail.com
Thu Sep 19 05:53:43 CDT 2019


On Thu, Sep 19, 2019 at 6:39 AM Stefano Zampini <stefano.zampini at gmail.com>
wrote:

>
>
> On Sep 19, 2019, at 1:23 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Thu, Sep 19, 2019 at 6:21 AM Matthew Knepley <knepley at gmail.com> wrote:
>
>> On Thu, Sep 19, 2019 at 6:20 AM Stefano Zampini <
>> stefano.zampini at gmail.com> wrote:
>>
>>> So why it is in the vec package?
>>>
>>
>> Its in IS, so if anything it should go in petscis.h. I will move it there.
>>
>
> Now that we are doing this. I think petscsf.h belongs there too, not just
> the types.
>
>
> Why? In order to use petscis.h You just need to forward declare PetscSF,
> which is what petscfstypes.h is supposed to do.
> Our public header should just pass the test of preprocessing
>
> #include <petscxxx.h>
>
> Without warning or errors. We should add this to the makefile rules
>

You just advocated including Section in petscvec.h, which has EXACTLY the
same rationale.

   Matt


>    Matt
>
>
>>    Matt
>>
>>
>>> Il Gio 19 Set 2019, 13:17 Matthew Knepley <knepley at gmail.com> ha
>>> scritto:
>>>
>>>> I made a new MR. DMLabel uses Section, whereas nothing else in Vec does.
>>>>
>>>>    Matt
>>>>
>>>> On Thu, Sep 19, 2019 at 6:03 AM Stefano Zampini <
>>>> stefano.zampini at gmail.com> wrote:
>>>>
>>>>> Petscsection is part of the vec package. It belongs to petscvec.h
>>>>>
>>>>> Il Gio 19 Set 2019, 12:50 Hapla Vaclav <vaclav.hapla at erdw.ethz.ch> ha
>>>>> scritto:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 19 Sep 2019, at 11:25, Matthew Knepley via petsc-dev <
>>>>>> petsc-dev at mcs.anl.gov> wrote:
>>>>>>
>>>>>> I pushed the fix to the branch. Can we remerge it?
>>>>>>
>>>>>>
>>>>>> I think best way would be to create another MR.
>>>>>>
>>>>>> You should also add
>>>>>>   #include <petscsection.h>
>>>>>> to petscdmlabel.h.
>>>>>> This which will also satisfy Lisandro's point.
>>>>>>
>>>>>> Vaclav
>>>>>>
>>>>>>
>>>>>> Also, I do not understand why tests did not catch this. Its obvious
>>>>>> what happened. I added that header
>>>>>> to convert.c instead of convest.c.
>>>>>>
>>>>>>    Matt
>>>>>>
>>>>>> On Thu, Sep 19, 2019 at 5:19 AM Stefano Zampini via petsc-dev <
>>>>>> petsc-dev at mcs.anl.gov> wrote:
>>>>>>
>>>>>>> How come this was not caught by the tests? I think we have tests
>>>>>>> with -Werror
>>>>>>>
>>>>>>> Il Gio 19 Set 2019, 12:15 Lisandro Dalcin via petsc-dev <
>>>>>>> petsc-dev at mcs.anl.gov> ha scritto:
>>>>>>>
>>>>>>>> The warnings below are from a C build. A C++ build fails right away.
>>>>>>>>
>>>>>>>> We need to `#include <petscsection.h>` somewhere in the public
>>>>>>>> headers, at least such that  `#include <petsc.h>` in user code works.
>>>>>>>>
>>>>>>>> $ git grep petscsection include/
>>>>>>>> include/petsc/private/sectionimpl.h:#include <petscsection.h>
>>>>>>>> include/petscis.h:#include <petscsectiontypes.h>
>>>>>>>> include/petscsection.h:#include <petscsectiontypes.h>
>>>>>>>>
>>>>>>>>
>>>>>>>> /home/devel/petsc/dev/src/snes/utils/convest.c: In function
>>>>>>>> ‘PetscConvEstGetConvRate’:
>>>>>>>> /home/devel/petsc/dev/src/snes/utils/convest.c:293:14: warning:
>>>>>>>> implicit declaration of function ‘PetscSectionGetField’; did you mean
>>>>>>>> ‘PetscSectionVecView’? [-Wimplicit-function-declaration]
>>>>>>>>   293 |       ierr = PetscSectionGetField(s, f, &fs);CHKERRQ(ierr);
>>>>>>>>       |              ^~~~~~~~~~~~~~~~~~~~
>>>>>>>>       |              PetscSectionVecView
>>>>>>>> /home/devel/petsc/dev/src/snes/utils/convest.c:294:14: warning:
>>>>>>>> implicit declaration of function ‘PetscSectionGetConstrainedStorageSize’
>>>>>>>> [-Wimplicit-function-declaration]
>>>>>>>>   294 |       ierr = PetscSectionGetConstrainedStorageSize(fs,
>>>>>>>> &lsize);CHKERRQ(ierr);
>>>>>>>>       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lisandro Dalcin
>>>>>>>> ============
>>>>>>>> Research Scientist
>>>>>>>> Extreme Computing Research Center (ECRC)
>>>>>>>> King Abdullah University of Science and Technology (KAUST)
>>>>>>>> http://ecrc.kaust.edu.sa/
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> What most experimenters take for granted before they begin their
>>>>>> experiments is infinitely more interesting than any results to which their
>>>>>> experiments lead.
>>>>>> -- Norbert Wiener
>>>>>>
>>>>>> https://www.cse.buffalo.edu/~knepley/
>>>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> --
>>>> What most experimenters take for granted before they begin their
>>>> experiments is infinitely more interesting than any results to which their
>>>> experiments lead.
>>>> -- Norbert Wiener
>>>>
>>>> https://www.cse.buffalo.edu/~knepley/
>>>> <http://www.cse.buffalo.edu/~knepley/>
>>>>
>>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>> https://www.cse.buffalo.edu/~knepley/
>> <http://www.cse.buffalo.edu/~knepley/>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
>
>

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190919/be51292b/attachment-0001.html>


More information about the petsc-dev mailing list