From 10558c4ddf7a653bc8c1132967b763195ff0a2c8 Mon Sep 17 00:00:00 2001
From: Ansgar Burchardt <ansgar.burchardt@tu-dresden.de>
Date: Thu, 17 Nov 2016 17:57:14 +0000
Subject: [PATCH] Merge branch 'feature/compiler-warnings' into 'master'

Address various compiler warnings

At least the missing `return` statements can lead to undefined behavior, and in particular to crashes with clang.

See merge request !31
---
 gm/algebra.cc               |  2 +-
 gm/dlmgr.t                  |  8 ++---
 gm/pargm.h                  | 20 +++++------
 np/algebra/matfunc.ct       | 14 ++++----
 np/algebra/matmode.ct       | 14 ++++----
 np/algebra/ugblas.cc        |  6 ++--
 np/algebra/vecfunc.ct       |  4 +--
 np/algebra/vecmode.ct       |  6 ++--
 parallel/ddd/ctrl/cons.cc   | 12 +++----
 parallel/ddd/ctrl/debug.cc  |  2 +-
 parallel/ddd/dddi.h         |  1 +
 parallel/ddd/dddstr.h       |  8 ++---
 parallel/ddd/if/ifcreate.cc |  6 ++--
 parallel/ddd/include/ddd.h  |  1 +
 parallel/ddd/join/jcmds.cc  | 16 ++++-----
 parallel/ddd/join/join.cc   |  4 +--
 parallel/ddd/mgr/cplmgr.cc  |  6 ++--
 parallel/ddd/mgr/objmgr.cc  |  2 +-
 parallel/ddd/mgr/prio.cc    |  2 +-
 parallel/ddd/xfer/cmds.cc   |  2 +-
 parallel/ddd/xfer/cplmsg.cc |  6 ++--
 parallel/ddd/xfer/ctrl.cc   | 10 +++---
 parallel/ddd/xfer/supp.cc   |  4 +--
 parallel/ddd/xfer/unpack.cc |  4 +--
 parallel/ddd/xfer/xfer.h    |  2 +-
 parallel/dddif/debugger.cc  | 28 +++++++--------
 parallel/dddif/handler.cc   |  6 ++--
 parallel/dddif/lb.cc        |  4 +--
 parallel/dddif/memmgr.cc    | 68 -------------------------------------
 parallel/dddif/parallel.h   |  4 +--
 parallel/dddif/pgmcheck.cc  |  7 ++++
 parallel/dddif/trans.cc     |  6 +++-
 32 files changed, 114 insertions(+), 171 deletions(-)

diff --git a/gm/algebra.cc b/gm/algebra.cc
index 1b2ee45d6..df41301ae 100644
--- a/gm/algebra.cc
+++ b/gm/algebra.cc
@@ -3467,7 +3467,7 @@ static INT CheckVector (const FORMAT *fmt, const INT s2p[], GEOM_OBJECT *theObje
     if (VecObject == NULL)
     {
       errors++;
-      UserWriteF("%d: vector=" VINDEX_FMTX " %s GID=" GIDFMT " has NO BACKPTR\n",
+      UserWriteF("%d: vector=" VINDEX_FMTX " %s GID=" GID_FMT " has NO BACKPTR\n",
                  me, VINDEX_PRTX(theVector), ObjectString,
                  (OBJT(theObject)==BEOBJ || OBJT(theObject)==IEOBJ) ?
                  EGID(&(theObject->el)) : (OBJT(theObject)==NDOBJ) ?
diff --git a/gm/dlmgr.t b/gm/dlmgr.t
index 6db71e442..2d97c2ba2 100644
--- a/gm/dlmgr.t
+++ b/gm/dlmgr.t
@@ -255,7 +255,7 @@ LINK(OTYPE)
 
 		IFDEBUG(gm,2) 
 			printf("%d: GRID_LINK_" STR(OTYPE) "():" STR(OTYPE) 
-				" has listpart=%d for prio=%d obj=%x\n",me,listpart,Prio,Object);
+				" has listpart=%d for prio=%d obj=%p\n",me,listpart,Prio,Object);
 			fflush(stdout);
 		ENDDEBUG 
 
@@ -427,8 +427,6 @@ LINK(OTYPE)
 LINKX(OTYPE)
 {
 	INT listpart		= PRIO2LISTPART(CAT(OTYPE,_LIST),Prio);
-	INT listpartprev	= listpart;
-	INT listpartnext	= listpart;
 	OTYPE *Object1		= NULL;
 
 	ASSERT(Grid != NULL);
@@ -439,7 +437,7 @@ LINKX(OTYPE)
 	{
 		IFDEBUG(gm,2)
 		printf(PFMT " GRID_LINKX_" STR(OTYPE) "():" STR(OTYPE) 
-			" calling GRID_LINK_" STR(OTYPE) "(): Object=%x After=%x \n",me,Object,After);
+			" calling GRID_LINK_" STR(OTYPE) "(): Object=%p After=%p \n",me,Object,After);
 		ENDDEBUG
 
 		CAT(GRID_LINK_,OTYPE) (Grid,Object,Prio);
@@ -462,7 +460,7 @@ LINKX(OTYPE)
 
 	IFDEBUG(gm,2) 
 		printf("%d: GRID_LINKX_" STR(OTYPE) "():" STR(OTYPE) 
-			" has listpart=%d for prio=%d obj=%x\n",me,listpart,Prio,Object);
+			" has listpart=%d for prio=%d obj=%p\n",me,listpart,Prio,Object);
 		fflush(stdout);
 	ENDDEBUG 
 
diff --git a/gm/pargm.h b/gm/pargm.h
index 8abf3902b..222e969ab 100644
--- a/gm/pargm.h
+++ b/gm/pargm.h
@@ -191,14 +191,14 @@ enum {VERTEX_LISTPARTS = 1};
 
 #ifdef ModelP
 
-#define ID_FMT      "%ld/%08x"
-#define ID_FFMT     "%9ld/%08x"
+#define ID_FMT      "%ld/" GID_FMT
+#define ID_FFMT     "%9ld/" GID_FMT
 #define ID_PRT(x)   ((long)ID(x)),GID(x)
-#define ID_FMTE     "%ld/%08x/%d"
-#define ID_FFMTE    "%9ld/%08x/%02d"
+#define ID_FMTE     "%ld/" GID_FMT "/%d"
+#define ID_FFMTE    "%9ld/" GID_FMT "/%02d"
 #define ID_PRTE(x)  ((long)ID(x)),GID(x),PRIO(x)
-#define ID_FMTX     "%d/%ld/%08x/%d"
-#define ID_FFMTX    "%x/%9ld/%08x/%02d"
+#define ID_FMTX     "%d/%ld/" GID_FMT "/%d"
+#define ID_FFMTX    "%x/%9ld/" GID_FMT "/%02d"
 #define ID_PRTX(x)  KeyForObject((KEY_OBJECT *)x),((long)ID(x)),GID(x),PRIO(x)
 
 #define VID_FMT     ID_FMT
@@ -232,13 +232,13 @@ enum {VERTEX_LISTPARTS = 1};
 #define VINDEX_FFMTX   ID_FFMTX
 #define VINDEX_PRTX(x) KeyForObject((KEY_OBJECT *)x),((long)VINDEX(x)),GID(x),PRIO(x)
 
-#define EDID_FMT     "%08x"
+#define EDID_FMT     GID_FMT
 #define EDID_FFMT    EDID_FMT
 #define EDID_PRT(x)  GID(x)
-#define EDID_FMTE    "%08x/%d"
+#define EDID_FMTE    GID_FMT "/%d"
 #define EDID_FFMTE   EDID_FMTE
 #define EDID_PRTE(x) GID(x),PRIO(x)
-#define EDID_FMTX    "%x/%08x/%d"
+#define EDID_FMTX    "%x/" GID_FMT "/%d"
 #define EDID_FFMTX   EDID_FMTX
 #define EDID_PRTX(x) x,GID(x),PRIO(x)
 
@@ -303,7 +303,7 @@ enum {VERTEX_LISTPARTS = 1};
 #define EDID_PRTX(x) (x)
 
 #define PFMT            "%1d:"
-#define GIDFMT          "%1d"
+#define GID_FMT         "%1d"
 
 /* dummies for global id */
 #define EGID(e)     ID(e)
diff --git a/np/algebra/matfunc.ct b/np/algebra/matfunc.ct
index 467a47d3c..487526726 100644
--- a/np/algebra/matfunc.ct
+++ b/np/algebra/matfunc.ct
@@ -47,12 +47,12 @@ INT T_FUNCNAME (MULTIGRID *mg, INT fl, INT tl, INT mode T_ARGS)
 #ifdef _SPARSE_
 	T_SPARSE_CALL
 #else
-	register VECTOR *v;
-	register MATRIX *mat;
+	VECTOR *v;
+	MATRIX *mat;
 	INT lev,rtype,ctype,nr,nc,i;
 	#ifdef T_USE_Y
-	register VECTOR *w;
-	register DOUBLE *mptr,*vptr;
+	VECTOR *w;
+	DOUBLE *mptr,*vptr;
 	#endif
 
 	#ifdef T_CONFIG
@@ -117,11 +117,11 @@ INT T_FUNCNAME (MULTIGRID *mg, INT fl, INT tl, INT mode T_ARGS)
 
 INT CAT(T_FUNCNAME,BS) (const BLOCKVECTOR *bv_row, const BV_DESC *bvd_col, const BV_DESC_FORMAT *bvdf T_ARGS_BV)
 {
-	register VECTOR *v, *end_v;
-	register MATRIX *mat;
+	VECTOR *v, *end_v;
+	MATRIX *mat;
 
 	#ifdef T_USE_Y
-	register VECTOR *w;	
+	VECTOR *w;	
 	#endif
 	
 	#ifdef T_CONFIG_BV
diff --git a/np/algebra/matmode.ct b/np/algebra/matmode.ct
index 3362675d1..032f01d45 100644
--- a/np/algebra/matmode.ct
+++ b/np/algebra/matmode.ct
@@ -26,14 +26,14 @@ if (MD_IS_SCALAR(M)
     && VD_IS_SCALAR(y)
 	#endif
 ) {
-	register SHORT mc = MD_SCALCMP(M);
-	register SHORT rmask = MD_SCAL_RTYPEMASK(M);
-	register SHORT cmask = MD_SCAL_CTYPEMASK(M);
+	SHORT mc = MD_SCALCMP(M);
+	SHORT rmask = MD_SCAL_RTYPEMASK(M);
+	SHORT cmask = MD_SCAL_CTYPEMASK(M);
 	#ifdef T_USE_X
-    register SHORT xc = VD_SCALCMP(x);
+    SHORT xc = VD_SCALCMP(x);
 	#endif
 	#ifdef T_USE_Y
-    register SHORT yc = VD_SCALCMP(y);
+    SHORT yc = VD_SCALCMP(y);
 	#endif
 
 	#ifdef T_PREP_SCAL
@@ -84,12 +84,12 @@ if (MD_SUCC_COMP(M)
 	for (rtype=0; rtype<NVECTYPES; rtype++) 
 		for (ctype=0; ctype<NVECTYPES; ctype++) 
 			if (MD_ISDEF_IN_RT_CT(M,rtype,ctype)) {
-				register INT m00;
+				INT m00;
                 #ifdef T_USE_X
 				DEFINE_VD_CMPS(cx);
                 #endif
                 #ifdef T_USE_Y
-				register INT cy0;
+				INT cy0;
                 #endif
 
                 #ifdef T_PREP_SWITCH
diff --git a/np/algebra/ugblas.cc b/np/algebra/ugblas.cc
index cfd076da4..f08bce32c 100644
--- a/np/algebra/ugblas.cc
+++ b/np/algebra/ugblas.cc
@@ -1510,7 +1510,7 @@ static int Scatter_AMGMatrixCollect (DDD_OBJ obj, void *data)
     }
 
     if (igid<*maxgid && (gidbuf[igid]==dest)) {
-      printf("%d: %d->%d:",me,GID(pv),GID(MDEST(m)));
+      printf("%d: " GID_FMT "->" GID_FMT ":",me,GID(pv),GID(MDEST(m)));
       mtype = MTP(vtype,MDESTTYPE(m));
       ncomp = MD_COLS_IN_MTYPE(ConsMatrix,mtype);
       Comp = MD_MCMPPTR_OF_MTYPE(ConsMatrix,mtype);
@@ -2050,7 +2050,7 @@ static int Scatter_OffDiagMatrixComp (DDD_OBJ obj, void *data,
 
       if (igid<*maxgid && (gidbuf[igid]==dest))
       {
-        printf("%d: %d->%d:",me,GID(pv),GID(MDEST(m)));
+        printf("%d: " GID_FMT "->" GID_FMT ":",me,GID(pv),GID(MDEST(m)));
         mtype = MTP(vtype,MDESTTYPE(m));
         sm = MD_SM(ConsMatrix, mtype);
         ncomp = MD_COLS_IN_MTYPE(ConsMatrix,mtype);
@@ -2077,6 +2077,8 @@ static int PrepareCountAndSortInconsMatrices (DDD_OBJ obj)
   VECTOR *pv = (VECTOR *)obj;
 
   SETVCUSED( pv, 1 );
+
+  return 0;
 }
 
 static int CountAndSortInconsMatrices (DDD_OBJ obj)
diff --git a/np/algebra/vecfunc.ct b/np/algebra/vecfunc.ct
index 584f974b1..fdde7cd83 100644
--- a/np/algebra/vecfunc.ct
+++ b/np/algebra/vecfunc.ct
@@ -19,7 +19,7 @@
 
 INT T_FUNCNAME (MULTIGRID *mg, INT fl, INT tl, INT mode, const VECDATA_DESC *x T_ARGS)
 {
-	register VECTOR *v;
+	VECTOR *v;
 	INT lev,vtype,ncomp,i;
 	DEFINE_VD_CMPS(cx);
 	#ifdef T_USE_Y
@@ -88,7 +88,7 @@ INT T_FUNCNAME (MULTIGRID *mg, INT fl, INT tl, INT mode, const VECDATA_DESC *x T
 
 INT CAT(T_FUNCNAME,BS) (const BLOCKVECTOR *bv, INT xc T_ARGS_BV)
 {
-	register VECTOR *v, *end_v;
+	VECTOR *v, *end_v;
 	#ifdef T_CONFIG
 	T_CONFIG;
 	#endif
diff --git a/np/algebra/vecmode.ct b/np/algebra/vecmode.ct
index 8827896ba..fcfd1c61f 100644
--- a/np/algebra/vecmode.ct
+++ b/np/algebra/vecmode.ct
@@ -23,10 +23,10 @@ if (VD_IS_SCALAR(x)
     && VD_IS_SCALAR(y)
 	#endif
 ) {
-	register SHORT xc = VD_SCALCMP(x);
-	register SHORT mask = VD_SCALTYPEMASK(x);
+	SHORT xc = VD_SCALCMP(x);
+	SHORT mask = VD_SCALTYPEMASK(x);
 	#ifdef T_USE_Y
-    register SHORT yc = VD_SCALCMP(y);
+    SHORT yc = VD_SCALCMP(y);
 	#endif
 
 	#ifdef T_PREP_SCAL
diff --git a/parallel/ddd/ctrl/cons.cc b/parallel/ddd/ctrl/cons.cc
index 847f413c9..51d536f97 100644
--- a/parallel/ddd/ctrl/cons.cc
+++ b/parallel/ddd/ctrl/cons.cc
@@ -263,7 +263,7 @@ static int ConsCheckSingleMsg (LC_MSGHANDLE xm, DDD_HDR *locObjs)
     {
       if (OBJ_PRIO(locObjs[j])!=theCplBuf[i].prio)
       {
-        sprintf(cBuffer, "    DDD-GCC Warning: obj %08x type %d on %d"
+        sprintf(cBuffer, "    DDD-GCC Warning: obj " OBJ_GID_FMT " type %d on %d"
                 " has prio %d, cpl from %d has prio %d!\n",
                 OBJ_GID(locObjs[j]), OBJ_TYPE(locObjs[j]), me, OBJ_PRIO(locObjs[j]),
                 LC_MsgGetProc(xm), theCplBuf[i].prio);
@@ -274,7 +274,7 @@ static int ConsCheckSingleMsg (LC_MSGHANDLE xm, DDD_HDR *locObjs)
     }
     else
     {
-      sprintf(cBuffer, "    DDD-GCC Warning: obj %08x type %d on %d for cpl"
+      sprintf(cBuffer, "    DDD-GCC Warning: obj " DDD_GID_FMT " type %d on %d for cpl"
               " from %3d missing!\n",
               theCplBuf[i].gid, theCplBuf[i].typ, me, LC_MsgGetProc(xm));
       DDD_PrintLine(cBuffer);
@@ -342,7 +342,7 @@ static int ConsCheckGlobalCpl (void)
       if ((DDD_PROC)CPL_PROC(cpl) >= procs)
       {
         error_cnt++;
-        sprintf(cBuffer, "%4d: DDD-GCC Warning: invalid proc=%d (%08x/%08x)\n",
+        sprintf(cBuffer, "%4d: DDD-GCC Warning: invalid proc=%d (" OBJ_GID_FMT "/" OBJ_GID_FMT ")\n",
                 me, CPL_PROC(cpl), OBJ_GID(cpl->obj),
                 OBJ_GID(ddd_ObjTable[i])
                 );
@@ -461,7 +461,7 @@ static int Cons2CheckSingleMsg (LC_MSGHANDLE xm, DDD_HDR *locObjs)
       {
         if (OBJ_PRIO(locObjs[j])!=theCplBuf[i].prio)
         {
-          sprintf(cBuffer, "    DDD-GCC Warning: obj %08x type %d on %d"
+          sprintf(cBuffer, "    DDD-GCC Warning: obj " OBJ_GID_FMT " type %d on %d"
                   " has prio %d, cpl from %d has prio %d!\n",
                   OBJ_GID(locObjs[j]), OBJ_TYPE(locObjs[j]), me, OBJ_PRIO(locObjs[j]),
                   LC_MsgGetProc(xm), theCplBuf[i].prio);
@@ -491,7 +491,7 @@ static int Cons2CheckSingleMsg (LC_MSGHANDLE xm, DDD_HDR *locObjs)
 
           if (ifound==-1)
           {
-            sprintf(cBuffer, "    DDD-GCC Warning: obj %08x type %d on %d has cpl"
+            sprintf(cBuffer, "    DDD-GCC Warning: obj " DDD_GID_FMT " type %d on %d has cpl"
                     " from%4d, but %d hasn't!\n",
                     theCplBuf[i].gid, theCplBuf[i].typ, me,
                     CPL_PROC(j2), LC_MsgGetProc(xm));
@@ -700,7 +700,7 @@ static int ConsCheckDoubleObj (void)
     if (OBJ_GID(locObjs[i-1])==OBJ_GID(locObjs[i]))
     {
       error_cnt++;
-      sprintf(cBuffer, "    DDD-GCC Warning: obj %08x on %d doubled\n",
+      sprintf(cBuffer, "    DDD-GCC Warning: obj " OBJ_GID_FMT " on %d doubled\n",
               OBJ_GID(locObjs[i]), me);
       DDD_PrintLine(cBuffer);
     }
diff --git a/parallel/ddd/ctrl/debug.cc b/parallel/ddd/ctrl/debug.cc
index d81ee5d3a..cdfd1e751 100644
--- a/parallel/ddd/ctrl/debug.cc
+++ b/parallel/ddd/ctrl/debug.cc
@@ -125,7 +125,7 @@ void DDD_ListLocalObjects (void)
   for(i=0; i<ddd_nObjs; i++)
   {
     o = locObjs[i];
-    sprintf(cBuffer, "%4d: #%04d  adr=0x%08x gid=0x%07x type=0x%02x"
+    sprintf(cBuffer, "%4d: #%04d  adr=%p gid=0x" OBJ_GID_FMT " type=0x%02x"
             " prio=%04d attr=%04d\n",
             me, i, o, OBJ_GID(o), OBJ_TYPE(o), OBJ_PRIO(o), OBJ_ATTR(o));
     DDD_PrintLine(cBuffer);
diff --git a/parallel/ddd/dddi.h b/parallel/ddd/dddi.h
index 8d9c1b295..94881cefd 100644
--- a/parallel/ddd/dddi.h
+++ b/parallel/ddd/dddi.h
@@ -350,6 +350,7 @@ extern VChannelPtr *theTopology;
 
 /* global id of object */
 #define OBJ_GID(o)      ACCESS_HDR(o,gid)
+#define OBJ_GID_FMT     DDD_GID_FMT
 
 /* get index into global object table */
 #define OBJ_INDEX(o)    ACCESS_HDR(o,myIndex)
diff --git a/parallel/ddd/dddstr.h b/parallel/ddd/dddstr.h
index 2f5090360..0d64bb698 100644
--- a/parallel/ddd/dddstr.h
+++ b/parallel/ddd/dddstr.h
@@ -40,9 +40,9 @@
 #define ERR_ID_WRONG_MODE \
   "wrong Ident-mode (currently in %s, expected %s)"
 #define ERR_ID_SAME_TUPEL \
-  "same identification tupel for objects %08x and %08x"
+  "same identification tupel for objects " OBJ_GID_FMT " and " OBJ_GID_FMT
 #define ERR_ID_OBJ_CYCLE \
-  "IdentifyObject-cycle, objects %08x and %08x"
+  "IdentifyObject-cycle, objects " DDD_GID_FMT " and " DDD_GID_FMT
 #define ERR_ID_NOMEM_RESOLV \
   STR_NOMEM " in ResolveDependencies"
 #define ERR_ID_UNKNOWN_OPT \
@@ -70,9 +70,9 @@
 #define ERR_ID_NO_BEGIN \
   "Missing DDD_IdentifyBegin(), aborted"
 #define ERR_ID_NOT_WITH_ME \
-  "cannot identify %08x with myself"
+  "cannot identify " OBJ_GID_FMT " with myself"
 #define ERR_ID_NOT_WITH_PROC \
-  "cannot identify %08x with processor %d"
+  "cannot identify " OBJ_GID_FMT " with processor %d"
 #define ERR_ID_NOMEM_IDENTRY \
   STR_NOMEM "in IdentifyIdEntry"
 #define ERR_ID_NOMEM_IDNUMBER \
diff --git a/parallel/ddd/if/ifcreate.cc b/parallel/ddd/if/ifcreate.cc
index 0a48a7a28..260e73ffa 100644
--- a/parallel/ddd/if/ifcreate.cc
+++ b/parallel/ddd/if/ifcreate.cc
@@ -746,7 +746,7 @@ void DDD_InfoIFImpl (DDD_IF ifId)
     for(i=0; i<ifh->nAB; i++)
     {
       COUPLING *c = ifh->cplAB[i];
-      sprintf(cBuffer, "|         gid=%08x proc=%04d prio=%02d "
+      sprintf(cBuffer, "|         gid=" OBJ_GID_FMT " proc=%04d prio=%02d "
               "osc=%p/%p\n",
               OBJ_GID(c->obj), CPL_PROC(c), c->prio,
               ifh->objAB[i], OBJ_OBJ(c->obj)
@@ -759,7 +759,7 @@ void DDD_InfoIFImpl (DDD_IF ifId)
     for(i=0; i<ifh->nBA; i++)
     {
       COUPLING *c = ifh->cplBA[i];
-      sprintf(cBuffer, "|         gid=%08x proc=%04d prio=%02d "
+      sprintf(cBuffer, "|         gid=" OBJ_GID_FMT " proc=%04d prio=%02d "
               "osc=%p/%p\n",
               OBJ_GID(c->obj), CPL_PROC(c), c->prio,
               ifh->objBA[i], OBJ_OBJ(c->obj)
@@ -772,7 +772,7 @@ void DDD_InfoIFImpl (DDD_IF ifId)
     for(i=0; i<ifh->nABA; i++)
     {
       COUPLING *c = ifh->cplABA[i];
-      sprintf(cBuffer, "|         gid=%08x proc=%04d prio=%02d "
+      sprintf(cBuffer, "|         gid=" OBJ_GID_FMT " proc=%04d prio=%02d "
               "osc=%p/%p\n",
               OBJ_GID(c->obj), CPL_PROC(c), c->prio,
               ifh->objABA[i], OBJ_OBJ(c->obj)
diff --git a/parallel/ddd/include/ddd.h b/parallel/ddd/include/ddd.h
index a5945fa2b..473ece10c 100644
--- a/parallel/ddd/include/ddd.h
+++ b/parallel/ddd/include/ddd.h
@@ -269,6 +269,7 @@ typedef ddd_gid_debug DDD_GID;
 typedef DDD_GID_T DDD_GID;
 #else
 typedef unsigned long DDD_GID;
+#define DDD_GID_FMT "%08lx"
 #endif
 #define DDD_GID_TO_INT(A) (unsigned int) A
 #endif
diff --git a/parallel/ddd/join/jcmds.cc b/parallel/ddd/join/jcmds.cc
index 3124e8ab7..1d78ba5bb 100644
--- a/parallel/ddd/join/jcmds.cc
+++ b/parallel/ddd/join/jcmds.cc
@@ -143,7 +143,7 @@ static int PreparePhase1Msgs (JIJoinPtrArray *arrayJoin,
   {
     if (ObjHasCpl(itemsJ[i]->hdr))
     {
-      sprintf(cBuffer, "cannot join %08x, object already distributed",
+      sprintf(cBuffer, "cannot join " OBJ_GID_FMT ", object already distributed",
               OBJ_GID(itemsJ[i]->hdr));
       DDD_PrintError('E', 7006, cBuffer);
       HARD_EXIT;
@@ -162,7 +162,7 @@ static int PreparePhase1Msgs (JIJoinPtrArray *arrayJoin,
     if (local_gid!=GID_INVALID && local_gid!=itemsJ[i]->new_gid)
     {
       sprintf(cBuffer,
-              "several (inconsistent) DDD_JoinObj-commands for local object %08x",
+              "several (inconsistent) DDD_JoinObj-commands for local object " DDD_GID_FMT,
               local_gid);
       DDD_PrintError('E', 7007, cBuffer);
       HARD_EXIT;
@@ -317,7 +317,7 @@ static void UnpackPhase1Msgs (LC_MSGHANDLE *theMsgs, int nRecvMsgs,
             continue;
 
 #                                       if DebugJoin<=1
-          printf("%4d: Phase1 Join for %08x from %d, "
+          printf("%4d: Phase1 Join for " DDD_GID_FMT " from %d, "
                  "send AddCpl to %d.\n",
                  me, theJoin[i].gid, ji->te.proc, ji->dest);
 #                                       endif
@@ -339,7 +339,7 @@ static void UnpackPhase1Msgs (LC_MSGHANDLE *theMsgs, int nRecvMsgs,
       }
       else
       {
-        sprintf(cBuffer, "no object %08x for join from %d",
+        sprintf(cBuffer, "no object " DDD_GID_FMT " for join from %d",
                 theJoin[i].gid, LC_MsgGetProc(jm));
         DDD_PrintError('E', 7300, cBuffer);
         HARD_EXIT;
@@ -1212,7 +1212,7 @@ void DDD_JoinObj (DDD_HDR hdr, DDD_PROC dest, DDD_GID new_gid)
 
   if (dest>=procs)
   {
-    sprintf(cBuffer, "cannot join %08x with %08x on processor %d (procs=%d)",
+    sprintf(cBuffer, "cannot join " OBJ_GID_FMT " with " DDD_GID_FMT " on processor %d (procs=%d)",
             OBJ_GID(hdr), new_gid, dest, procs);
     DDD_PrintError('E', 7003, cBuffer);
     HARD_EXIT;
@@ -1220,14 +1220,14 @@ void DDD_JoinObj (DDD_HDR hdr, DDD_PROC dest, DDD_GID new_gid)
 
   if (dest==me)
   {
-    sprintf(cBuffer, "cannot join %08x with myself", OBJ_GID(hdr));
+    sprintf(cBuffer, "cannot join " OBJ_GID_FMT " with myself", OBJ_GID(hdr));
     DDD_PrintError('E', 7004, cBuffer);
     HARD_EXIT;
   }
 
   if (ObjHasCpl(hdr))
   {
-    sprintf(cBuffer, "cannot join %08x, object already distributed",
+    sprintf(cBuffer, "cannot join " OBJ_GID_FMT ", object already distributed",
             OBJ_GID(hdr));
     DDD_PrintError('E', 7005, cBuffer);
     HARD_EXIT;
@@ -1244,7 +1244,7 @@ void DDD_JoinObj (DDD_HDR hdr, DDD_PROC dest, DDD_GID new_gid)
     return;
 
 #       if DebugJoin<=2
-  sprintf(cBuffer, "%4d: DDD_JoinObj %08x, dest=%d, new_gid=%08x\n",
+  sprintf(cBuffer, "%4d: DDD_JoinObj " OBJ_GID_FMT ", dest=%d, new_gid=" DDD_GID_FMT "\n",
           me, OBJ_GID(hdr), dest, new_gid);
   DDD_PrintDebug(cBuffer);
 #       endif
diff --git a/parallel/ddd/join/join.cc b/parallel/ddd/join/join.cc
index db70cabe5..2f870feca 100644
--- a/parallel/ddd/join/join.cc
+++ b/parallel/ddd/join/join.cc
@@ -127,7 +127,7 @@ int Method(Compare) (ClassPtr item1, ClassPtr item2)
 
 void Method(Print) (ParamThis _PRINTPARAMS)
 {
-  fprintf(fp, "JIJoin local_gid=%08x dest=%d new_gid=%08x\n",
+  fprintf(fp, "JIJoin local_gid=" OBJ_GID_FMT " dest=%d new_gid=" DDD_GID_FMT "\n",
           OBJ_GID(This->hdr), This->dest, This->new_gid);
 }
 
@@ -165,7 +165,7 @@ int Method(Compare) (ClassPtr item1, ClassPtr item2)
 
 void Method(Print) (ParamThis _PRINTPARAMS)
 {
-  fprintf(fp, "JIAddCpl gid=%08x dest=%d proc=%d prio=%d\n",
+  fprintf(fp, "JIAddCpl gid=" DDD_GID_FMT " dest=%d proc=%d prio=%d\n",
           This->te.gid, This->dest, This->te.proc, This->te.prio);
 }
 
diff --git a/parallel/ddd/mgr/cplmgr.cc b/parallel/ddd/mgr/cplmgr.cc
index d2b3254b6..0caaaa305 100644
--- a/parallel/ddd/mgr/cplmgr.cc
+++ b/parallel/ddd/mgr/cplmgr.cc
@@ -486,7 +486,7 @@ COUPLING *ModCoupling (DDD_HDR hdr, DDD_PROC proc, DDD_PRIO prio)
   if (! ObjHasCpl(hdr))
   {
     /* there are no couplings for this object! */
-    sprintf(cBuffer, "no couplings for %08x in ModCoupling", OBJ_GID(hdr));
+    sprintf(cBuffer, "no couplings for " OBJ_GID_FMT " in ModCoupling", OBJ_GID(hdr));
     DDD_PrintError('E', 2530, cBuffer);
     return(NULL);
   }
@@ -504,7 +504,7 @@ COUPLING *ModCoupling (DDD_HDR hdr, DDD_PROC proc, DDD_PRIO prio)
   }
 
   /* coupling not found */
-  sprintf(cBuffer, "no coupling from %d for %08x in ModCoupling",
+  sprintf(cBuffer, "no coupling from %d for " OBJ_GID_FMT " in ModCoupling",
           proc, OBJ_GID(hdr));
   DDD_PrintError('E', 2531, cBuffer);
   HARD_EXIT;
@@ -739,7 +739,7 @@ void DDD_InfoCoupling (DDD_HDR hdr)
   COUPLING *cpl;
   int objIndex = OBJ_INDEX(hdr);
 
-  sprintf(cBuffer, "%4d: InfoCoupling for object %07x (%05d/%05d)\n",
+  sprintf(cBuffer, "%4d: InfoCoupling for object " OBJ_GID_FMT " (%05d/%05d)\n",
           me, OBJ_GID(hdr), objIndex, NCpl_Get);
   DDD_PrintLine(cBuffer);
 
diff --git a/parallel/ddd/mgr/objmgr.cc b/parallel/ddd/mgr/objmgr.cc
index 53d92644d..c784075b1 100644
--- a/parallel/ddd/mgr/objmgr.cc
+++ b/parallel/ddd/mgr/objmgr.cc
@@ -522,7 +522,7 @@ if (objIndex<NCpl_Get)
     if (DDD_GetOption(OPT_WARNING_DESTRUCT_HDR)==OPT_ON)
     {
       sprintf(cBuffer,
-              "inconsistency by deleting gid=%08x in DDD_HdrDestructor",
+              "inconsistency by deleting gid=" OBJ_GID_FMT " in DDD_HdrDestructor",
               OBJ_GID(hdr));
       DDD_PrintError('W', 2230, cBuffer);
     }
diff --git a/parallel/ddd/mgr/prio.cc b/parallel/ddd/mgr/prio.cc
index 12d404782..b503a4895 100644
--- a/parallel/ddd/mgr/prio.cc
+++ b/parallel/ddd/mgr/prio.cc
@@ -138,7 +138,7 @@ else
     if (DDD_GetOption(OPT_WARNING_PRIOCHANGE)==OPT_ON)
     {
       sprintf(cBuffer,
-              "creating inconsistency for gid=%08x in DDD_PrioritySet",
+              "creating inconsistency for gid=" OBJ_GID_FMT " in DDD_PrioritySet",
               OBJ_GID(hdr));
       DDD_PrintError('W', 2300, cBuffer);
     }
diff --git a/parallel/ddd/xfer/cmds.cc b/parallel/ddd/xfer/cmds.cc
index 4d2f0d6b8..8fbbfe16a 100644
--- a/parallel/ddd/xfer/cmds.cc
+++ b/parallel/ddd/xfer/cmds.cc
@@ -924,7 +924,7 @@ static void XferInitCopyInfo (DDD_HDR hdr,
 
   if (dest>=procs)
   {
-    sprintf(cBuffer, "cannot transfer %08x to processor %d (procs=%d)",
+    sprintf(cBuffer, "cannot transfer " OBJ_GID_FMT " to processor %d (procs=%d)",
             OBJ_GID(hdr), dest, procs);
     DDD_PrintError('E', 6003, cBuffer);
     HARD_EXIT;
diff --git a/parallel/ddd/xfer/cplmsg.cc b/parallel/ddd/xfer/cplmsg.cc
index 8e928dd3a..9b53288c3 100644
--- a/parallel/ddd/xfer/cplmsg.cc
+++ b/parallel/ddd/xfer/cplmsg.cc
@@ -387,21 +387,21 @@ static void CplMsgDisplay (const char *comment, LC_MSGHANDLE xm)
 
   for(i=0; i<lenDelCpl; i++)
   {
-    sprintf(cBuffer, "%s 14 delcpl %04d - %08x\n",
+    sprintf(cBuffer, "%s 14 delcpl %04d - " DDD_GID_FMT "\n",
             buf, i, theDelCpl[i].gid);
     DDD_PrintDebug(cBuffer);
   }
 
   for(i=0; i<lenModCpl; i++)
   {
-    sprintf(cBuffer, "%s 15 modcpl %04d - %08x %3d\n",
+    sprintf(cBuffer, "%s 15 modcpl %04d - " DDD_GID_FMT " %3d\n",
             buf, i, theModCpl[i].gid, theModCpl[i].prio);
     DDD_PrintDebug(cBuffer);
   }
 
   for(i=0; i<lenAddCpl; i++)
   {
-    sprintf(cBuffer, "%s 16 addcpl %04d - %08x %4d %3d\n",
+    sprintf(cBuffer, "%s 16 addcpl %04d - " DDD_GID_FMT " %4d %3d\n",
             buf, i, theAddCpl[i].gid, theAddCpl[i].proc, theAddCpl[i].prio);
     DDD_PrintDebug(cBuffer);
   }
diff --git a/parallel/ddd/xfer/ctrl.cc b/parallel/ddd/xfer/ctrl.cc
index fd8bf1593..ba140766d 100644
--- a/parallel/ddd/xfer/ctrl.cc
+++ b/parallel/ddd/xfer/ctrl.cc
@@ -175,8 +175,8 @@ void XferDisplayMsg (const char *comment, LC_MSGHANDLE xm)
 
     DDD_OBJ obj = OTE_OBJ(theObjects, &(theObjTab[i]));
 
-    sprintf(cBuffer, "%s 10 objtab    %06d typ=%1d gid=%08x "
-            "hdr=%08x size=%05d add=%05d\n",
+    sprintf(cBuffer, "%s 10 objtab    %06d typ=%1d gid=" OTE_GID_FMT
+            " hdr=%p size=%05d add=%05d\n",
             buf, (((char *)obj)-theObjects), OTE_TYPE(theObjects,&(theObjTab[i])),
             OTE_GID(theObjects,&(theObjTab[i])),
             theObjTab[i].hdr, theObjTab[i].size, theObjTab[i].addLen);
@@ -186,7 +186,7 @@ void XferDisplayMsg (const char *comment, LC_MSGHANDLE xm)
 
   for(i=0; i<lenSymTab; i++)
   {
-    sprintf(cBuffer, "%s 11 symtab %04d - %08x (%08x==%08x)\n",
+    sprintf(cBuffer, "%s 11 symtab %04d - " DDD_GID_FMT " (%08x==%08x)\n",
             buf, i,
             theSymTab[i].gid, theSymTab[i].adr.hdr, theSymTab[i].adr.ref);
     DDD_PrintDebug(cBuffer);
@@ -194,7 +194,7 @@ void XferDisplayMsg (const char *comment, LC_MSGHANDLE xm)
 
   for(i=0; i<lenNewCpl; i++)
   {
-    sprintf(cBuffer, "%s 12 newcpl %04d - %08x %4d %4d\n",
+    sprintf(cBuffer, "%s 12 newcpl %04d - " DDD_GID_FMT " %4d %4d\n",
             buf, i,
             NewCpl_GetGid(theNewCpl[i]),
             NewCpl_GetDest(theNewCpl[i]),
@@ -204,7 +204,7 @@ void XferDisplayMsg (const char *comment, LC_MSGHANDLE xm)
 
   for(i=0; i<lenOldCpl; i++)
   {
-    sprintf(cBuffer, "%s 13 oldcpl %04d - %08x %4d %4d\n",
+    sprintf(cBuffer, "%s 13 oldcpl %04d - " DDD_GID_FMT " %4d %4d\n",
             buf, i,
             theOldCpl[i].gid, theOldCpl[i].proc, theOldCpl[i].prio);
     DDD_PrintDebug(cBuffer);
diff --git a/parallel/ddd/xfer/supp.cc b/parallel/ddd/xfer/supp.cc
index f470bb7d9..5ade022ed 100644
--- a/parallel/ddd/xfer/supp.cc
+++ b/parallel/ddd/xfer/supp.cc
@@ -237,7 +237,7 @@ int Method(Compare) (ClassPtr item1, ClassPtr item2)
 
 void Method(Print) (ParamThis _PRINTPARAMS)
 {
-  fprintf(fp, "XICopyObj dest=%d gid=%08x prio=%d\n",
+  fprintf(fp, "XICopyObj dest=%d gid=" DDD_GID_FMT " prio=%d\n",
           This->dest, This->gid, This->prio);
 }
 
@@ -297,7 +297,7 @@ int Method(Compare) (ClassPtr item1, ClassPtr item2)
 
 void Method(Print) (ParamThis _PRINTPARAMS)
 {
-  fprintf(fp, "XISetPrio gid=%08x prio=%d\n", This->gid, This->prio);
+  fprintf(fp, "XISetPrio gid=" DDD_GID_FMT " prio=%d\n", This->gid, This->prio);
 }
 
 #undef ClassName
diff --git a/parallel/ddd/xfer/unpack.cc b/parallel/ddd/xfer/unpack.cc
index 50c43f68c..1d4cb8090 100644
--- a/parallel/ddd/xfer/unpack.cc
+++ b/parallel/ddd/xfer/unpack.cc
@@ -251,8 +251,8 @@ static void LocalizeObject (bool merge_mode, TYPE_DESC *desc,
             if (theSymTab[stIdx].adr.hdr!=OBJ2HDR(*ref,refdesc))
             {
               sprintf(cBuffer,
-                      "reference collision in %08x "
-                      "(old=%08x, inc=%08x) in LocalizeObject\n",
+                      "reference collision in " OBJ_GID_FMT " "
+                      "(old=" OBJ_GID_FMT ", inc=" OBJ_GID_FMT ") in LocalizeObject\n",
                       OBJ_GID(OBJ2HDR(obj,desc)),
                       OBJ_GID(OBJ2HDR(*ref,refdesc)),
                       OBJ_GID(theSymTab[stIdx].adr.hdr));
diff --git a/parallel/ddd/xfer/xfer.h b/parallel/ddd/xfer/xfer.h
index 8bb9d270d..a5721b3db 100644
--- a/parallel/ddd/xfer/xfer.h
+++ b/parallel/ddd/xfer/xfer.h
@@ -514,7 +514,7 @@ typedef struct
 #define OTE_TYPE(objmem,ote)   OBJ_TYPE(OTE_HDR(objmem,ote))
 #define OTE_ATTR(objmem,ote)   OBJ_ATTR(OTE_HDR(objmem,ote))
 
-
+#define OTE_GID_FMT OBJ_GID_FMT
 
 
 
diff --git a/parallel/dddif/debugger.cc b/parallel/dddif/debugger.cc
index e531666ac..34fa34319 100644
--- a/parallel/dddif/debugger.cc
+++ b/parallel/dddif/debugger.cc
@@ -282,22 +282,22 @@ static void buggy_ElemShow (ELEMENT *e)
          ID(e), LEVEL(e), CORNERS_OF_ELEM(e));
 
   if (EFATHER(e))
-    printf("%4d:    father=%08x\n", me,
+    printf("%4d:    father=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDRE(EFATHER(e))));
 
   if (PREDE(e))
-    printf("%4d:    pred=%08x\n", me,
+    printf("%4d:    pred=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDRE(PREDE(e))));
 
   if (SUCCE(e))
-    printf("%4d:    succ=%08x\n", me,
+    printf("%4d:    succ=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDRE(SUCCE(e))));
 
   for(i=0; i<SIDES_OF_ELEM(e); i++)
   {
     if (NBELEM(e,i)!=NULL)
     {
-      printf("%4d:    nb[%d]=%08x\n", me,
+      printf("%4d:    nb[%d]=" DDD_GID_FMT "\n", me,
              i, DDD_InfoGlobalId(PARHDRE(NBELEM(e,i))));
     }
   }
@@ -306,7 +306,7 @@ static void buggy_ElemShow (ELEMENT *e)
   {
     for(i=0; SonList[i]!=NULL; i++)
     {
-      printf("%4d:    son[%d]=%08x prio=%d\n", me,
+      printf("%4d:    son[%d]=" DDD_GID_FMT " prio=%d\n", me,
              i,
              DDD_InfoGlobalId(PARHDRE(SonList[i])),
              DDD_InfoPriority(PARHDRE(SonList[i]))
@@ -351,15 +351,15 @@ static void buggy_NodeShow (NODE *n)
 
 
   if (NFATHER(n))
-    printf("%4d:    father=%08x\n", me,
+    printf("%4d:    father=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDR((NODE *)NFATHER(n))));
 
   if (PREDN(n))
-    printf("%4d:    pred=%08x\n", me,
+    printf("%4d:    pred=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDR(PREDN(n))));
 
   if (SUCCN(n))
-    printf("%4d:    succ=%08x\n", me,
+    printf("%4d:    succ=" DDD_GID_FMT "\n", me,
            DDD_InfoGlobalId(PARHDR(SUCCN(n))));
 }
 
@@ -398,7 +398,7 @@ static void buggy_Search (MULTIGRID *theMG, DDD_GID gid)
     {
       if (DDD_InfoGlobalId(PARHDRE(e))==gid)
       {
-        printf("%4d: ELEMENT gid=%08x, adr=%p, level=%d\n",
+        printf("%4d: ELEMENT gid=" DDD_GID_FMT ", adr=%p, level=%d\n",
                me, gid, e, level);
         buggy_ShowCopies(PARHDRE(e));
         buggy_ElemShow(e);
@@ -412,7 +412,7 @@ static void buggy_Search (MULTIGRID *theMG, DDD_GID gid)
     {
       if (DDD_InfoGlobalId(PARHDR(n))==gid)
       {
-        printf("%4d: NODE gid=%08x, adr=%p, level=%d\n",
+        printf("%4d: NODE gid=" DDD_GID_FMT ", adr=%p, level=%d\n",
                me, gid, n, level);
         buggy_ShowCopies(PARHDR(n));
         buggy_NodeShow(n);
@@ -427,13 +427,13 @@ static void buggy_Search (MULTIGRID *theMG, DDD_GID gid)
 
     if (hdr!=NULL)
     {
-      printf("%4d: DDDOBJ gid=%08x, typ=%d, level=%d\n",
+      printf("%4d: DDDOBJ gid=" DDD_GID_FMT ", typ=%d, level=%d\n",
              me, gid, DDD_InfoType(hdr), DDD_InfoAttr(hdr));
       buggy_ShowCopies(hdr);
     }
     else
     {
-      printf("%4d: unknown gid=%08x\n", me, gid);
+      printf("%4d: unknown gid=" DDD_GID_FMT "\n", me, gid);
     }
   }
 }
@@ -686,14 +686,14 @@ void NS_DIM_PREFIX dddif_PrintGridRelations (MULTIGRID *theMG)
   SYNC_CONTEXT;
   for(e=FIRSTELEMENT(theGrid); e!=NULL; e=SUCCE(e))
   {
-    printf(PREFIX "master(e%07x, p%02d).\n", EGID(e), me);
+    printf(PREFIX "master(e" EGID_FMT ", p%02d).\n", EGID(e), me);
 
     for(j=0; j<SIDES_OF_ELEM(e); j++)
     {
       enb = NBELEM(e,j);
       if (enb!=NULL)
       {
-        printf(PREFIX "nb(e%07x, e%07x).\n", EGID(e), EGID(enb));
+        printf(PREFIX "nb(e" EGID_FMT ", e" EGID_FMT ").\n", EGID(e), EGID(enb));
       }
     }
   }
diff --git a/parallel/dddif/handler.cc b/parallel/dddif/handler.cc
index 0abb1554d..00a6d9ac4 100644
--- a/parallel/dddif/handler.cc
+++ b/parallel/dddif/handler.cc
@@ -34,6 +34,7 @@
 
 #include <config.h>
 #include <cstdio>
+#include <cstdlib>
 #include <cstring>
 #include <cassert>
 
@@ -1154,10 +1155,7 @@ DDD_TYPE NS_DIM_PREFIX NFatherObjType(DDD_OBJ obj, DDD_OBJ ref)
     return(TypeEdge);
 
   default :
-                        #ifdef Debug
-                        #endif
-    ASSERT(0);
-    break;
+    abort();
   }
 }
 
diff --git a/parallel/dddif/lb.cc b/parallel/dddif/lb.cc
index 7a004fd31..4ab1e54f7 100644
--- a/parallel/dddif/lb.cc
+++ b/parallel/dddif/lb.cc
@@ -387,8 +387,8 @@ void lbs (const char *argv, MULTIGRID *theMG)
 
   /* dies balanciert ein GRID mit RCB ab fromlevel */
   case (4) :
-    if (fromlevel>=0 && fromlevel<=TOPLEVEL(theMG) ||
-        tolevel>=0 && tolevel<=TOPLEVEL(theMG)     ||
+    if ((fromlevel>=0 && fromlevel<=TOPLEVEL(theMG)) ||
+        (tolevel>=0 && tolevel<=TOPLEVEL(theMG))     ||
         tolevel < fromlevel)
     {
       int j;
diff --git a/parallel/dddif/memmgr.cc b/parallel/dddif/memmgr.cc
index e20a2774a..2a116c4b2 100644
--- a/parallel/dddif/memmgr.cc
+++ b/parallel/dddif/memmgr.cc
@@ -71,12 +71,6 @@ using namespace PPIF;
  */
 
 
-/* define this to detect size of allocatable memory */
-/*
-   #define DETECT_MEMORY_SIZE
- */
-
-
 
 
 #define HARD_EXIT assert(0)
@@ -848,59 +842,6 @@ void memmgr_ReleaseHMEM (long theMarkKey)
 }
 
 
-/****************************************************************************/
-
-#define MAX_MALLOCS 256
-
-
-/*
-        DetectAllocatableMemory()
-
-        This function tries to find out the amount of memory
-        which can be allocated from the local heap. This is
-        done by allocating a sequence of memory blocks,
-        starting with big ones. NOTE: this function shouldn't
-        be used on systems where virtual memory is available
-        (e.g., workstations); the page swapping mechanism
-        will break down if you try to do DetectAllocatableMemory()
-        on such systems.
- */
-
-#define MAX_MALLOCS 256
-
-static size_t DetectAllocatableMemory (void)
-{
-  void *buffers[MAX_MALLOCS];
-  size_t s = 1024*1024*1024;
-  size_t all = 0;
-  int i = 0;
-
-  do {
-    buffers[i] =(void *) malloc(s);
-    if (buffers[i]==NULL)
-    {
-      /* couldnt get memory of size s, try with half size */
-      s = s/2;
-    }
-    else
-    {
-      /* could allocate mem, continue */
-      all += s;
-      i++;
-    }
-  } while (i<MAX_MALLOCS && s>32);
-
-  /* free memory */
-  while (i>0)
-  {
-    i--;
-    free(buffers[i]);
-  };
-
-  return(all);
-}
-
-
 /****************************************************************************/
 /*
    memmgr_Init -
@@ -932,15 +873,6 @@ void memmgr_Init (void)
 
     myheap = NewHeap(GENERAL_HEAP,HEAP_SIZE,buffer);
   }
-
-        #else
-
-  /* detect size of allocatable memory */
-                #ifdef DETECT_MEMORY_SIZE
-  printf("%4d: MemMgr. detecting size of allocatable memory ...\n", me);
-  printf("%4d: MemMgr. size of allocatable memory: %ld\n", me,
-         (unsigned long)DetectAllocatableMemory());
-                #endif
         #endif
 
 
diff --git a/parallel/dddif/parallel.h b/parallel/dddif/parallel.h
index 8f75abb10..ddee7f468 100644
--- a/parallel/dddif/parallel.h
+++ b/parallel/dddif/parallel.h
@@ -174,8 +174,8 @@ enum HandlerSets
 #define VGHOSTPRIO(p)                                   (p==PrioVGhost || p==PrioVHGhost)
 #define HGHOSTPRIO(p)                                   (p==PrioHGhost  || p==PrioVHGhost)
 
-
-#define GIDFMT                                                  "%08x"
+#define EGID_FMT DDD_GID_FMT
+#define GID_FMT                                                 DDD_GID_FMT
 
 /* This exchanges in the load balancing the connections too.
  #define __EXCHANGE_CONNECTIONS__                              */
diff --git a/parallel/dddif/pgmcheck.cc b/parallel/dddif/pgmcheck.cc
index 7393e8bb0..bb83cc43a 100644
--- a/parallel/dddif/pgmcheck.cc
+++ b/parallel/dddif/pgmcheck.cc
@@ -567,6 +567,8 @@ static int Gather_ElemObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_PR
     ((DDD_GID *)data)[i] = GID(theEdge);
   }
         #endif
+
+  return 0;
 }
 
 static int Scatter_ElemObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_PRIO prio)
@@ -607,6 +609,8 @@ static int Scatter_ElemObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_P
     }
   }
         #endif
+
+  return 0;
 }
 
 #ifdef __THREEDIM__
@@ -630,6 +634,7 @@ static int Gather_EdgeObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_PR
   else
     ((DDD_GID *)data)[i++] = 0;
 
+  return 0;
 }
 
 static int Scatter_EdgeObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_PRIO prio)
@@ -708,6 +713,8 @@ static int Scatter_EdgeObjectGids (DDD_OBJ obj, void *data, DDD_PROC proc, DDD_P
     }
   }
   i++;
+
+  return 0;
 }
 #endif
 
diff --git a/parallel/dddif/trans.cc b/parallel/dddif/trans.cc
index 6fdaa9ef7..192cc6cde 100644
--- a/parallel/dddif/trans.cc
+++ b/parallel/dddif/trans.cc
@@ -182,6 +182,8 @@ static int Gather_ElemDest (DDD_OBJ obj, void *data)
   ELEMENT *theElement = (ELEMENT *)obj;
 
   *(DDD_PROC *)data = PARTITION(theElement);
+
+  return 0;
 }
 
 
@@ -208,6 +210,8 @@ static int Scatter_ElemDest (DDD_OBJ obj, void *data)
   ELEMENT *theElement = (ELEMENT *)obj;
 
   PARTITION(theElement) = *(DDD_PROC *)data;
+
+  return 0;
 }
 
 
@@ -902,7 +906,7 @@ int NS_DIM_PREFIX TransferGridFromLevel (MULTIGRID *theMG, INT level)
 
 int NS_DIM_PREFIX TransferGrid (MULTIGRID *theMG)
 {
-  TransferGridFromLevel(theMG,0);
+  return TransferGridFromLevel(theMG,0);
 }
 
 /****************************************************************************/
-- 
GitLab