> On Apr 8, 2015, at 11:35 AM, Tobin Isaac <[email protected]> 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 <[email protected]> wrote: >>> >>> PETSc checkBuilds <[email protected]> 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); >>> } >>
