[petsc-dev] crap in next in dm.c

Satish Balay balay at mcs.anl.gov
Mon Feb 16 16:08:56 CST 2015


So whats the solution [in configure?] use -Qtype-safety ?

And I should revert similar hack I added to elemental tarball? [and use -Qsometimes-uninitialized in configure?]

Satish

On Mon, 16 Feb 2015, Jed Brown wrote:

> I agree with Matt.
> 
> On February 16, 2015 2:47:56 PM MST, Matthew Knepley <knepley at gmail.com> wrote:
> >On Mon, Feb 16, 2015 at 3:46 PM, Satish Balay <balay at mcs.anl.gov>
> >wrote:
> >
> >> On Mon, 16 Feb 2015, Jed Brown wrote:
> >>
> >> > Matthew Knepley <knepley at gmail.com> writes:
> >> >
> >> > > On Mon, Feb 16, 2015 at 3:13 PM, Satish Balay <balay at mcs.anl.gov>
> >> wrote:
> >> > >
> >> > >> Matt,
> >> > >>
> >> > >> There are some clang stuff here..
> >> > >>
> >> > >>
> >> > >>
> >>
> >ftp://ftp.mcs.anl.gov/pub/petsc/nightlylogs/archive/2015/02/16/filtered-make_next_arch-linux-pkgs-dbg-ftn-interfaces_crank.log
> >> > >
> >> > >
> >> > > That is not my fault. Jed needs to disable to test.
> >> >
> >> > Just now back from Singapore...
> >> >
> >> > This is tremendously frustrating because the warnings are useful
> >(have
> >> > detected and continue to detect true bugs, especially with 64-bit
> >> > indices), but the crappy dependence on const needs to be fixed in
> >Clang.
> >>
> >> The following worarround compiles without warnings.
> >>
> >
> >Of course, but that also destroys type checking, and I prefer disabling
> > the check in configure to cluttering up our source.
> >
> >   Matt
> >
> >
> >> Satish
> >>
> >> diff --git a/src/dm/interface/dm.c b/src/dm/interface/dm.c
> >> index 5bfb42c..7c2985e 100644
> >> --- a/src/dm/interface/dm.c
> >> +++ b/src/dm/interface/dm.c
> >> @@ -1689,7 +1689,7 @@ PetscErrorCode  DMGlobalToLocalBegin(DM dm,Vec
> >> g,InsertMode mode,Vec l)
> >>      if (mode == ADD_VALUES)
> >SETERRQ1(PetscObjectComm((PetscObject)dm),
> >> PETSC_ERR_ARG_OUTOFRANGE, "Invalid insertion mode %D", mode);
> >>      ierr = VecGetArray(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecGetArrayRead(g, &gArray);CHKERRQ(ierr);
> >> -    ierr = PetscSFBcastBegin(sf, MPIU_SCALAR, gArray,
> >> lArray);CHKERRQ(ierr);
> >> +    ierr = PetscSFBcastBegin(sf, MPIU_SCALAR, (PetscScalar*) gArray,
> >> lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArray(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArrayRead(g, &gArray);CHKERRQ(ierr);
> >>    } else {
> >> @@ -1733,7 +1733,7 @@ PetscErrorCode  DMGlobalToLocalEnd(DM dm,Vec
> >> g,InsertMode mode,Vec l)
> >>
> >>      ierr = VecGetArray(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecGetArrayRead(g, &gArray);CHKERRQ(ierr);
> >> -    ierr = PetscSFBcastEnd(sf, MPIU_SCALAR, gArray,
> >lArray);CHKERRQ(ierr);
> >> +    ierr = PetscSFBcastEnd(sf, MPIU_SCALAR, (PetscScalar*) gArray,
> >> lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArray(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArrayRead(g, &gArray);CHKERRQ(ierr);
> >>    } else {
> >> @@ -1890,7 +1890,7 @@ PetscErrorCode  DMLocalToGlobalBegin(DM dm,Vec
> >> l,InsertMode mode,Vec g)
> >>    if (sf && !isInsert) {
> >>      ierr = VecGetArrayRead(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecGetArray(g, &gArray);CHKERRQ(ierr);
> >> -    ierr = PetscSFReduceBegin(sf, MPIU_SCALAR, lArray, gArray,
> >> MPI_SUM);CHKERRQ(ierr);
> >> +    ierr = PetscSFReduceBegin(sf, MPIU_SCALAR, (PetscScalar*)lArray,
> >> gArray, MPI_SUM);CHKERRQ(ierr);
> >>      ierr = VecRestoreArrayRead(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArray(g, &gArray);CHKERRQ(ierr);
> >>    } else if (s && isInsert) {
> >> @@ -1983,7 +1983,7 @@ PetscErrorCode  DMLocalToGlobalEnd(DM dm,Vec
> >> l,InsertMode mode,Vec g)
> >>
> >>      ierr = VecGetArrayRead(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecGetArray(g, &gArray);CHKERRQ(ierr);
> >> -    ierr = PetscSFReduceEnd(sf, MPIU_SCALAR, lArray, gArray,
> >> MPI_SUM);CHKERRQ(ierr);
> >> +    ierr = PetscSFReduceEnd(sf, MPIU_SCALAR, (PetscScalar*)lArray,
> >> gArray, MPI_SUM);CHKERRQ(ierr);
> >>      ierr = VecRestoreArrayRead(l, &lArray);CHKERRQ(ierr);
> >>      ierr = VecRestoreArray(g, &gArray);CHKERRQ(ierr);
> >>    } else if (s && isInsert) {
> >>
> >> >
> >>
> >>
> >
> >
> >-- 
> >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
> 




More information about the petsc-dev mailing list