[petsc-dev] PETSc blame digest (next) 2015-04-08

Barry Smith bsmith at mcs.anl.gov
Wed Apr 8 11:40:46 CDT 2015


> On Apr 8, 2015, at 11:35 AM, Tobin Isaac <tisaac at ices.utexas.edu> wrote:
> 
> On Wed, Apr 08, 2015 at 10:58:41AM -0500, Barry Smith wrote:
>> 
>>   Jed,
>> 
>>    These warnings have traditionally been filtered out; the new edition of checkBuilds did not filter them (from Solaris compilers) I asked Toby and Satish to filter them but they ignored me so I can add the filter later today. It is not intended that we change the code to remove the warnings.
> 
> That's one account; here's another: the problem is that there used to
> be just one filter location (for the dashboard, runhtml.py), and now
> we have two.  Ideally, they should use the same filter.

   Yup, they are actually both python so it should be no big deal to combine them. I'll look at that.

  Barry

> 
>  Toby
> 
>> 
>>   Barry
>> 
>>> On Apr 8, 2015, at 9:08 AM, Jed Brown <jed at jedbrown.org> wrote:
>>> 
>>> PETSc checkBuilds <petsc-checkbuilds at mcs.anl.gov> writes:
>>>> warnings attributed to commit ac76247 Point-to-point PetscSF: bcast and reduce, still need fetch-and-op, ref #9
>>>> 
>>>> src/vec/is/sf/impls/basic/sfbasic.c:816
>>>>   [http://ftp.mcs.anl.gov/pub/petsc/nightlylogs/archive/2015/04/08/build_next_arch-opensolaris-cmplx-pkgs-dbg_n-gage.log]
>>>>     "/export/home/petsc/petsc.clone-3/src/vec/is/sf/impls/basic/sfbasic.c", line 816: warning: loop not entered at top
>>> 
>>> How do we fix this?  If I remove the final (unreached)
>>> PetscFunctionReturn(0) then the code is invalid when not
>>> PETSC_USE_ERRORCHECKING (no return statement in function returning
>>> non-void).  But as long as error checking is on, we don't reach that
>>> statement.  Can we tune the warning flags to avoid this noise?
>>> 
>>> static PetscErrorCode PetscSFBasicGetPackInUse(PetscSF sf,MPI_Datatype unit,const void *key,PetscCopyMode cmode,PetscSFBasicPack *mylink)
>>> {
>>> PetscSF_Basic    *bas = (PetscSF_Basic*)sf->data;
>>> PetscErrorCode   ierr;
>>> PetscSFBasicPack link,*p;
>>> 
>>> PetscFunctionBegin;
>>> /* Look for types in cache */
>>> for (p=&bas->inuse; (link=*p); p=&link->next) {
>>>   PetscBool match;
>>>   ierr = MPIPetsc_Type_compare(unit,link->unit,&match);CHKERRQ(ierr);
>>>   if (match && (key == link->key)) {
>>>     switch (cmode) {
>>>     case PETSC_OWN_POINTER: *p = link->next; break; /* Remove from inuse list */
>>>     case PETSC_USE_POINTER: break;
>>>     default: SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_INCOMP,"invalid cmode");
>>>     }
>>>     *mylink = link;
>>>     PetscFunctionReturn(0);
>>>   }
>>> }
>>> SETERRQ(PetscObjectComm((PetscObject)sf),PETSC_ERR_ARG_WRONGSTATE,"Could not find pack");
>>> PetscFunctionReturn(0);
>>> }
>> 




More information about the petsc-dev mailing list