[petsc-dev] Hijacked MPI calls...

Satish Balay balay at mcs.anl.gov
Tue Sep 13 10:13:53 CDT 2016


There is stuff like:

src/mat/order/fn1wd.c

-    kstop = (i__2 = xadj[node + 1], (PetscInt)PetscAbsInt(i__2)) - 1;
+    kstop = (PetscInt)PetscAbsInt(xadj[node + 1]) - 1;

Perhaps PetscAbsInt() type stuff should be switched over to static inline?
Or use a different notation?

i__2  = xadj[node + 1];
kstop = (PetscInt)PetscAbsInt(i__2) - 1;

And for the following - use 'void' as compiler suggests?

a/src/mat/utils/pheap.c
-  while (par = Parent(loc), Value(h,par) > val) {
+  while ((void)(par = Parent(loc)), Value(h,par) > val) {

a/src/dm/impls/plex/plexdistribute.c
-      for (q = 0; q < numAdj || (adj[numAdj++] = support[s],0); ++q) {
+      for (q = 0; q < numAdj || ((void)(adj[numAdj++] = support[s]),0); ++q) {


And this one is perhaps for Matt..

>>>>>>>>>>>>>>>>>>>
          CC arch-clang-cmplx/obj/src/dm/impls/composite/pack.o
/home/balay/petsc/src/dm/impls/composite/pack.c:657:17: warning: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Wvarargs]
  va_start(Argp,imode);
                ^
/home/balay/petsc/src/dm/impls/composite/pack.c:641:61: note: parameter of type 'InsertMode' is declared here
PetscErrorCode  DMCompositeGather(DM dm,Vec gvec,InsertMode imode,...)
                                                            ^
1 warning generated.
 <<<<<<<<<<<<<<<<<



Satish

On Mon, 12 Sep 2016, Barry Smith wrote:

> 
>   Satish,
> 
>    Interesting. We can probably get rid of most of the other warnings easily; it looks like mostly frivolous use of the , notation.
> 
>    Barry
> 
> > On Sep 12, 2016, at 11:19 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> > 
> > The attached patch gets rid of most of the warnings [esp MPI usage
> > from PETSc code - with the logging wrappers].
> > 
> > [also added to balay/clang-Wcomma]
> > 
> > Satish
> > 
> > On Mon, 12 Sep 2016, Satish Balay wrote:
> > 
> >> ok - so you are using CFLAGS=-Wcomma on your build..
> >> 
> >> I see warnings now. Attaching make.log
> >> 
> >> Satish
> >> 
> >> On Mon, 12 Sep 2016, Eric Chamberland wrote:
> >> 
> >>> 
> >>> 
> >>> Le 2016-09-12 à 17:32, Satish Balay a écrit :
> >>>> Do you get these warnings with PETSc library build aswell?
> >>> I can't tell since I didn't tried to build PETSc with clang...
> >>>> 
> >>>> The logging code tries to log all messages in library and in
> >>>> application - and prints a summary with -info.
> >>>> 
> >>>> You can disable logging in your build with configure option: --with-log=0
> >>>> 
> >>>> Or you can define the PETSC_HAVE_BROKEN_RECURSIVE_MACRO in your
> >>>> code/compile - and the wrappers will be skipped..
> >>> ok, so these may be good workaround for me to keep -Wcomma activated on our
> >>> "push server" that filters incoming commits...
> >>> 
> >>> Thanks!!!
> >>> 
> >>> Eric
> >>> 
> >>> 
> >>> 
> >> 
> > <clang-Wcomma.patch><make.log>
> 
> 


More information about the petsc-dev mailing list