Eliminate compiler warnings on net-linux and O2k.
authorOrion Lawlor <olawlor@acm.org>
Fri, 19 Jul 2002 22:40:27 +0000 (22:40 +0000)
committerOrion Lawlor <olawlor@acm.org>
Fri, 19 Jul 2002 22:40:27 +0000 (22:40 +0000)
44 files changed:
src/arch/net/charmrun/charmrun.c
src/arch/net/machine-dgram.c
src/arch/net/machine.c
src/ck-core/charisma.h
src/ck-core/ckarray.C
src/ck-core/cklocation.C
src/ck-core/debug-message.C
src/ck-core/init.C
src/ck-ldb/CentralLB.C
src/ck-ldb/Comm1LB.C
src/ck-ldb/CommLB.C
src/ck-ldb/LBComm.C
src/ck-ldb/NeighborLB.C
src/ck-ldb/WSLB.C
src/ck-ldb/graph.c
src/ck-perf/trace-projections.C
src/ck-perf/trace-summary.C
src/conv-ccs/ccs-auth.c
src/conv-ccs/ccs-builtins.C
src/conv-ccs/ccs-client.c
src/conv-ccs/ccs-server.c
src/conv-ccs/conv-ccs.c
src/conv-core/convcore.c
src/conv-core/debug-conv.c
src/conv-core/isomalloc.c
src/conv-core/memory-gnu.c
src/conv-core/memory-isomalloc.c
src/conv-core/memory-paranoid.c
src/conv-core/memory.c
src/conv-ldb/cldb.bluegene.c
src/conv-ldb/cldb.h
src/libs/ck-libs/ampi/ampi.C
src/libs/ck-libs/ampi/ampiimpl.h
src/libs/ck-libs/collide/collision.C
src/libs/ck-libs/fem/fem.C
src/libs/ck-libs/fem/fem_impl.h
src/libs/ck-libs/fem/map.C
src/libs/ck-libs/multicast/ckmulticast.C
src/libs/ck-libs/tcharm/tcharmc.h
src/libs/conv-libs/ddt/ddt.h
src/libs/conv-libs/master-slave/cms.c
src/scripts/charmc
src/util/pup_util.C
src/util/sockRoutines.c

index 025ad3e5deb2b5e43ff16ee49dbb6c864bb3dd76..8ef05d21dde869250b56891278a6adffca406312 100644 (file)
@@ -413,7 +413,7 @@ char *pparam_getdef(def)
 
 void pparam_printdocs()
 {
-  ppdef def; int i, len, maxname, maxdoc;
+  ppdef def; int len, maxname, maxdoc;
   maxname = 0;
   maxdoc = 0;
   for (def=ppdefs; def; def=def->next)
@@ -1913,7 +1913,7 @@ void fprint_arg(FILE *f,char **argv)
 void rsh_Find(FILE *f,const char *program,const char *dest)
 {
     fprintf(f,"Find %s\n",program);
-    fprintf(f,"%s=$loc\n",dest,dest);
+    fprintf(f,"%s=$loc\n",dest);
 }
 void rsh_script(FILE *f, int nodeno, int rank0no, char **argv)
 {
@@ -1954,7 +1954,7 @@ void rsh_script(FILE *f, int nodeno, int rank0no, char **argv)
        "    Echo set your path in your ~/.charmrunrc\n"
        "    Exit 1\n"
        "  fi\n"
-       "}\n",host,nodeno);
+       "}\n");
   
   if (arg_verbose) fprintf(f,"Echo 'remote responding...'\n");
   
@@ -2179,7 +2179,7 @@ void start_nodes_local(char ** env)
     if (pid == 0)
     {
       int fd, fd1 = dup(1);
-      if (fd = open("/dev/null", O_RDWR)) {
+      if (-1!=(fd = open("/dev/null", O_RDWR))) {
         dup2(fd, 0); dup2(fd, 1); dup2(fd, 2);
       }
       status = execve(pparam_argv[1], pparam_argv+1, envp);
index 9f9079a0b09ccfeb83c12f8a5e0ce9863943a775..d79d344e7186d6b87c92431adc9aa54c549be01f 100644 (file)
@@ -113,7 +113,7 @@ static void extract_args(char **argv)
   Cmi_comm_clock_delay=(int)(1000*Cmi_ack_delay);
 }
 
-/* Compare seqnos using modular arithmetic */
+/* Compare seqnos using modular arithmetic-- currently unused
 static int seqno_in_window(unsigned int seqno,unsigned int winStart)
 {
   return ((DGRAM_SEQNO_MASK&(seqno-winStart)) < Cmi_window_size);
@@ -128,6 +128,8 @@ static int seqno_le(unsigned int seqA,unsigned int seqB)
   unsigned int del=seqB-seqA;
   return (del>=0u) && (del<(DGRAM_SEQNO_MASK/2));
 }
+*/
+
 
 /*****************************************************************************
  *
index 11071c6b57ecefa96ded2ec2f450589d431e21ae..55f21f9271638133917225ef0057d378782fa0c3 100644 (file)
@@ -1222,7 +1222,6 @@ static void node_addresses_obtain(char **argv)
   if (Cmi_charmrun_fd==-1) 
   {/*Standalone-- fake a single-node nodetab message*/
        int npes=1;
-       int fakeLen=sizeof(ChSingleNodeinfo);
        ChSingleNodeinfo *fakeTab;
        ChMessage_new("nodeinfo",sizeof(ChSingleNodeinfo),&nodetabmsg);
        fakeTab=(ChSingleNodeinfo *)(nodetabmsg.data);
index 1a65edb66c9ba164ddf413cc90a4545b9bb61fc3..22b8e17202fbe722b8299adb5bc38f405c5087a3 100644 (file)
@@ -307,7 +307,7 @@ class CharismaOutPort
   protected:
     CharismaInPort *inport;
   public:
-    virtual void emit(void *data, int len)
+    virtual void emitData(void *data, int len)
     {
       inport->send(data, len);
     }
@@ -324,7 +324,7 @@ class CkOutPort: public CharismaOutPort
     CkOutPort(const char *name) { _create(name); }
     void emit(d &_d)
     {
-      emit((void *) &_d, sizeof(d));
+      CharismaOutPort::emitData((void *) &_d, sizeof(d));
     }
 };
 
@@ -384,7 +384,7 @@ class CkOutPortString : public CharismaOutPort
     CkOutPortString(const char *name) { _create(name); }
     void emit(char *str)
     {
-      CharismaOutPort::emit((void *) str, (int) strlen(str)+1);
+      CharismaOutPort::emitData((void *) str, (int) strlen(str)+1);
     }
 };
 
@@ -434,7 +434,7 @@ class CkOutPortArray : public CharismaOutPort
     CkOutPortArray(const char *name) { _create(name); }
     void emit(int n, const d *a)
     {
-      emit((void *)a, n*sizeof(d));
+      CharismaOutPort::emitData((void *)a, n*sizeof(d));
     }
 };
 
@@ -499,7 +499,7 @@ class CkOutPortVoid : public CharismaOutPort
     CkOutPortVoid(const char *name) { _create(name); }
     void emit(void)
     {
-      CharismaOutPort::emit((void*) 0, 0);
+      CharismaOutPort::emitData((void*) 0, 0);
     }
 };
 
@@ -547,7 +547,7 @@ class CkOutPortMsg : public CharismaOutPort
     void emit(d *data)
     {
       // TODO: do message packing, and get the actual buffer size
-      emit((void*) data, sizeof(d));
+      CharismaOutPort::emitData((void*) data, sizeof(d));
     }
 };
 
index e8d2563efdf3daba6bb03424bb337096293c6798..80374c02136fccf8804f74fe0101731e517d707b 100644 (file)
@@ -686,7 +686,7 @@ void CkArray::recvBroadcast(CkMessage *m)
        CkArrayMessage *msg=(CkArrayMessage *)m;
        broadcaster.incoming(msg);
        //Run through the list of local elements
-       int idx=0,len=elements->length();
+       int idx=0;
        ArrayElement *el;
        while (NULL!=(el=elements->next(idx)))
                broadcaster.deliver(msg,el);
index df4414270b61d367860f5445ff3d225495ab1669..796622e10d495eff210d91050a2be65b33c27139 100644 (file)
@@ -1002,12 +1002,11 @@ CmiBool CkLocMgr::addElementToRec(CkLocRec_local *rec,ManagerRec *m,
                CkMigratable *elt,int ctorIdx,void *ctorMsg)
 {//Insert the new element into its manager's local list
        int localIdx=rec->getLocalIndex();
-       const CkArrayIndex &idx=rec->getIndex();
        if (m->elts.get(localIdx)!=NULL) CkAbort("Cannot insert array element twice!");
        m->elts.put(elt,localIdx); //Local element table
        
 //Call the element's constructor
-       DEBC((AA"Constructing element %s of array\n"AB,idx2str(idx)));
+       DEBC((AA"Constructing element %s of array\n"AB,idx2str(rec->getIndex())));
        CkMigratable_initInfo &i=CkpvAccess(mig_initInfo);
        i.locRec=rec;
        i.chareType=_entryTable[ctorIdx]->chareIdx;
@@ -1154,10 +1153,9 @@ CmiBool CkLocMgr::demandCreateElement(CkArrayMessage *msg,int onPe)
 void CkLocMgr::multiHop(CkArrayMessage *msg)
 {
        magic.check();
-       int hopCount=msg->array_hops();
        int srcPe=msg->array_getSrcPe();
        if (srcPe==CkMyPe())
-               DEB((AA"Odd routing: local element %s is %d hops away!\n"AB,idx2str(msg),hopCount));
+               DEB((AA"Odd routing: local element %s is %d hops away!\n"AB,idx2str(msg),msg->array_hops()));
        else
        {//Send a routing message letting original sender know new element location
                DEBS((AA"Sending update back to %d for element\n"AB,srcPe,idx2str(msg)));
index b06970f0fccfc0d6fc7c88c18ebd3520d45402e7..8a7efdea2fb3e10922278f4c7e40de76179f2536 100644 (file)
@@ -50,8 +50,8 @@ void CkPupMessage(PUP::er &p,void **atMsg,int fast_and_dirty) {
          p.comment("Message Envelope:");
          env->pup(p);
          p.comment("Message User Data:");
-         int ep=env->getEpIdx();
 #if 0 /* Messages *should* be packed according to entry point: */
+         int ep=env->getEpIdx();
          if (ep>0 && ep<_numEntries)
            _entryTable[ep]->pupFn(p,*atMsg);
          else
index f7e7d906bce58ce7c33f83602bab3cc086c7faa7..492ec062c297b5d44955e74468d0bf016464acec 100644 (file)
@@ -542,7 +542,6 @@ void _initCharm(int argc, char **argv)
                                continue;
                        //Pack the message and send it to all other processors
                        register envelope *env = UsrToEnv(roMsg);
-                       register int msgIdx = env->getMsgIdx();
                        env->setSrcPe(CkMyPe());
                        env->setMsgtype(ROMsgMsg);
                        env->setRoIdx(i);
index e50abf66502de0b254f1b75b8881c9061a794e4c..5c5813c05c3a0e132f9b6977fcaffab32bc07518 100644 (file)
@@ -209,7 +209,7 @@ void CentralLB::ReceiveStats(CLBStatsMsg *m)
 
   const int clients = CkNumPes();
   if (stats_msg_count == clients) {
-    double strat_start_time = CmiWallTimer();
+//    double strat_start_time = CmiWallTimer();
 
 //    CkPrintf("Before setting bitmap\n");
     for(proc = 0; proc < clients; proc++)
@@ -235,8 +235,7 @@ void CentralLB::ReceiveStats(CLBStatsMsg *m)
       statsMsgsList[i]=0;
     }
     stats_msg_count=0;
-    double strat_end_time = CmiWallTimer();
-    //    CkPrintf("Strat elapsed time %f\n",strat_end_time-strat_start_time);
+    //    CkPrintf("Strat elapsed time %f\n",CmiWallTimer()-strat_start_time);
   }
   
 }
@@ -262,8 +261,6 @@ void CentralLB::RemoveNonMigratable(LDStats* stats, int count)
   for (pe=0; pe<count; pe++) {
     int n_objs = stats[pe].n_objs;
     LDObjData *objData = stats[pe].objData; 
-    int n_comm = stats[pe].n_comm;
-    LDCommData *commData = stats[pe].commData;
     int l=-1, h=n_objs;
     while (l<h) {
       while (objData[l+1].migratable && l<h) l++;
@@ -290,8 +287,6 @@ void CentralLB::RemoveNonMigratable(LDStats* stats, int count)
 
   // modify comm data
   for (pe=0; pe<count; pe++) {
-    int n_objs = stats[pe].n_objs;
-    LDObjData *objData = stats[pe].objData; 
     int n_comm = stats[pe].n_comm;
     LDCommData *commData = stats[pe].commData;
     int l=-1, h=n_comm;
index c48d3b3885d8ae5c0f7763563da77c63e2b3d13f..92f739efbe0a8b1c167f4263e73033530b478d07 100644 (file)
@@ -244,7 +244,7 @@ LBMigrateMsg* Comm1LB::Strategy(CentralLB::LDStats* stats, int count)
        add_graph(xcoord,ycoord,stats[pe].commData[com].bytes, stats[pe].commData[com].messages);       
       }
   
-  unsigned int id,maxid,spe=0,minpe=0,mpos;
+  int id,maxid,spe=0,minpe=0,mpos;
   double temp_cost,min_cost;
 
   pe = 0;
index f50fa458044abb0355a8ab7747f2298334f5d96b..c073fd0043ec371c5cfd03a3184b17e36a85b769 100644 (file)
@@ -19,8 +19,8 @@
 
 #include "CommLB.h"
 
-#define alpha 35e-6
-#define beeta 8.5e-9
+#define alpha 35e-6 /*Startup time per message, seconds*/
+#define beeta 8.5e-9 /*Long-message time per byte, seconds*/
 
 void CreateCommLB()
 {
@@ -218,7 +218,7 @@ LBMigrateMsg* CommLB::Strategy(CentralLB::LDStats* stats, int count)
                add_graph(xcoord,ycoord,stats[pe].commData[com].bytes, stats[pe].commData[com].messages);       
            }
     
-    unsigned int id,maxid,spe=0,minpe=0,mpos;
+    int id,maxid,spe=0,minpe=0,mpos;
     double temp,total_time,min_temp;
     /*
     for(pe=0;pe < count;pe++)
index d0bed41b67065753948330a6439ff9abcd29bfe6..fadaabb02552441634a895050457e8bb67037891 100644 (file)
@@ -117,12 +117,12 @@ int LBCommData::compute_key()
     pcount = sprintf(kptr,"%d",src_proc);
     kptr += pcount;
   } else {
-    pcount = sprintf(kptr,"%d%d%d%d%d",srcObj.omhandle.id.id,
+    pcount = sprintf(kptr,"%d%d%d%d%d",srcObj.omhandle.id.id.idx,
                     srcObj.id.id[0],srcObj.id.id[1],
                     srcObj.id.id[2],srcObj.id.id[3]);
     kptr += pcount;
   }
-  pcount += sprintf(kptr,"%d%d%d%d%dXXXXXXXX",destOM.id,
+  pcount += sprintf(kptr,"%d%d%d%d%dXXXXXXXX",destOM.id.idx,
                    destObj.id[0],destObj.id[1],
                    destObj.id[2],destObj.id[3]);
   pcount -= 8;  /* The 'X's insure that the next few bytes are fixed */
index 3c81e58747addd7b056da67da7cd7909994c62cf..c1c572082d1371c248e145548c3aa166c7289a6f 100644 (file)
@@ -151,11 +151,11 @@ LBMigrateMsg* NeighborLB::Strategy(NborBaseLB::LDStats* stats, int count)
 
     // Now empty out the heaps
     InfoRecord* p;
-    while (p=procs.deleteMin())
+    while (NULL!=(p=procs.deleteMin()))
       delete p;
 
     InfoRecord* obj;
-    while (obj=objs.deleteMax())
+    while (NULL!=(obj=objs.deleteMax()))
       delete obj;
   }  
 
index 1c9a01ad79848667dc999668b34581b4d72fc8aa..e7e1300ff8e6fe32ce56eb9540669912a8ea166d 100644 (file)
@@ -524,10 +524,10 @@ LBMigrateMsg* WSLB::Strategy(WSLB::LDStats* stats, int count)
 
     // Now empty out the heaps
     InfoRecord* p;
-    while (p=procs.deleteMin())
+    while (NULL!=(p=procs.deleteMin()))
       delete p;
     InfoRecord* obj;
-    while (obj=objs.deleteMax())
+    while (NULL!=(obj=objs.deleteMax()))
       delete obj;
   }  
 
index 7d1a44eb40ff62ec0b8952771a86f07e4e056eed..6888a873eb189f247d776df43701a45fed5129eb 100644 (file)
@@ -24,10 +24,10 @@ void printPartition(Graph * g, int nodes[], int numNodes)
 
 }
 
-intSqrt(int x)
+int intSqrt(int x)
 { 
-  int y;
-  y = 4; /* change later */
+  int y=1;
+  while (y*y<x) y++;
   return y; 
 }
 
index 80f6955030d2724b54f27ec41e12f2b842c2343c..c131573728c9cf77a380c6f131a45b2090167b84 100644 (file)
@@ -18,8 +18,6 @@
 CkpvStaticDeclare(Trace*, _trace);
 CtvStaticDeclare(int,curThreadEvent);
 
-static int _numEvents = 0;
-static int warned = 0;
 static int _threadMsg, _threadChare, _threadEP;
 
 CkpvStaticDeclare(CkVec<char *>, usrEventlist);
@@ -32,6 +30,7 @@ public:
 CkpvStaticDeclare(CkVec<UsrEvent *>, usrEvents);
 
 #ifdef CMK_OPTIMIZE
+static int warned=0;
 #define OPTIMIZED_VERSION      \
        if (!warned) { warned=1;        \
        CmiPrintf("\n\n!!!! Warning: traceUserEvent not availbale in optimized version!!!!\n\n\n"); }
index 93c2f799952a3e76d162ff3623a30b258abc2dd6..fd1d3bdfb5f0586f57238b94512c62461d7591cd 100644 (file)
@@ -268,7 +268,7 @@ void BinEntry::writeU(FILE* fp, int u)
   fprintf(fp, "%4d", u);
 }
 
-TraceSummary::TraceSummary(char **argv):curevent(0),msgNum(0),binStart(0.0),bin(0.0)
+TraceSummary::TraceSummary(char **argv):curevent(0),binStart(0.0),bin(0.0),msgNum(0)
 {
   char *tmpStr;
   CkpvInitialize(double, binSize);
index 6d6e56050a889efe2f599bf8dc8de9451543c6fa..d9d113ec55c26ac1bc8db5260b90edde8032fcbd 100644 (file)
@@ -65,7 +65,7 @@ static word32 rotlFixed(word32 x, word32 y)
 #elif defined(__MWERKS__) && TARGET_CPU_PPC
        return y ? __rlwinm(x,y,0,31) : x;
 #else /*Default C version*/
-       return (0xFFffFFffu)&((x<<y)) | (((0xFFffFFffu)&x)>>(32-y));
+       return ((0xFFffFFffu)&(x<<y)) | (((0xFFffFFffu)&x)>>(32-y));
 #endif
 }
 
index fcff76e88de1b2eed40b2398e985747e201ee3d2..af3d4c1e9be909e1e88a6cd7cb2882c05d4f090b 100644 (file)
@@ -195,7 +195,7 @@ static CpdListAccessor *CpdListHeader_ccs_list_items(char *msg,
   h.lo=ChMessageInt(req[0]);
   h.hi=ChMessageInt(req[1]);
   h.extraLen=ChMessageInt(req[2]);
-  if (h.extraLen>=0 && (3*sizeof(ChMessageInt_t)+h.extraLen)<msgLen) {
+  if (h.extraLen>=0 && ((int)(3*sizeof(ChMessageInt_t)+h.extraLen))<msgLen) {
     h.extra=(void *)(req+3);
     ret=CpdListLookup((ChMessageInt_t *)(h.extraLen+(char *)h.extra));
     if (ret!=NULL) CpdListBoundsCheck(ret,h.lo,h.hi);
index 0501ec8a9ba7de0737db737723037ff51d22f7d8..927ce4fd32349b0d20687afff39f1f55ca97a7d6 100644 (file)
@@ -74,7 +74,7 @@ static void printSvr(CcsServer *svr)
 {
   char ipBuf[200];
   int i;
-  DEBUGF(("hostIP: %d\n", skt_print_ip(ipBuf,svr->hostIP)));
+  DEBUGF(("hostIP: %s\n", skt_print_ip(ipBuf,svr->hostIP)));
   DEBUGF(("hostPort: %d\n", svr->hostPort));
   DEBUGF(("authentication: %d\n", svr->isAuth));
   DEBUGF(("replyFd: %d\n", svr->replyFd));
index 1daff615cf0e483b0cf1427f3c09ccb4fb4d7399..c2b1bdeb206b82cc181bf00d1ceb0bcb12e84b39 100644 (file)
@@ -402,7 +402,7 @@ static int CcsServer_recvRequestData(SOCKET fd,
                                     CcsImplHeader *hdr,void **reqData)
 {
   CcsMessageHeader req;/*CCS header, from requestor*/
-  int pe,reqBytes;
+  int reqBytes;
   const char *err;
   if (NULL!=(err=CcsServer_readHeader(fd,&ccs_clientlist,security,
                                      &hdr->attr,&req))) 
index 681cedc87d7665db91499d16efc7b30b178cfe8e..9a7126dce42f06919c9e4af625416c491bce5306 100644 (file)
@@ -268,8 +268,6 @@ void CcsBuiltinsInit(char **argv);
 
 void CcsInit(char **argv)
 {
-  int ccs_serverPort=0;
-  char *ccs_serverAuth=NULL;
   CpvInitialize(CkHashtable_c, ccsTab);
   CpvAccess(ccsTab) = CkCreateHashtable_string(sizeof(CmiHandler),5);
   CpvInitialize(CcsImplHeader *, ccsReq);
@@ -280,14 +278,19 @@ void CcsInit(char **argv)
 
 #if NODE_0_IS_CONVHOST
   rep_fw_handler_idx = CmiRegisterHandler(rep_fw_handler);
-  if (CmiGetArgFlag(argv,"++server") | 
+  {
+   int ccs_serverPort=0;
+   char *ccs_serverAuth=NULL;
+   
+   if (CmiGetArgFlag(argv,"++server") | 
       CmiGetArgInt(argv,"++server-port",&ccs_serverPort) |
       CmiGetArgString(argv,"++server-auth",&ccs_serverAuth)) 
     if (CmiMyPe()==0)
     {/*Create and occasionally poll on a CCS server port*/
       CcsServer_new(NULL,&ccs_serverPort,ccs_serverAuth);
-      CcdCallOnConditionKeep(CcdPERIODIC,CcsServerCheck,NULL);
+      CcdCallOnConditionKeep(CcdPERIODIC,(CcdVoidFn)CcsServerCheck,NULL);
     }
+  }
 #endif
 }
 
index e5a0c50db7d368c57fe6ff46dbb46ded77fe9f2e..eff7e301e612d1fa1fbed1b14ee24d91cfa15a8f 100644 (file)
@@ -1552,8 +1552,6 @@ extern void CmiIsomallocInit(char **argv);
 
 void ConverseCommonInit(char **argv)
 {
-  int i;
-
   CmiMemoryInit(argv);
   CmiTimerInit();
   CstatsInit(argv);
index aa4941eb161988eaab5778e9715101031ddf550b..2df47898e799db1d419cb0ee66684a697d41449b 100644 (file)
@@ -4,6 +4,8 @@ Converse-level debugger support
 Collected from convcore.c, conv-ccs.c, register.c by
 Orion Sky Lawlor, olawlor@acm.org, 4/10/2001
  */
+#include <stdio.h> /*for sscanf*/
+#include <string.h> /*for strcmp*/
 #include "converse.h"
 #include "conv-trace.h"
 #include "queueing.h"
@@ -33,7 +35,6 @@ static void CpdDebugHandler(char *msg)
       CpdUnFreeze();
       CmiPrintf("unfreeze received\n");
     }
-#if 0
     else if (strncmp(name, "step", strlen("step")) == 0){
       CmiPrintf("step received\n");
       CpvAccess(stepFlag) = 1;
@@ -44,6 +45,7 @@ static void CpdDebugHandler(char *msg)
       CpvAccess(continueFlag) = 1;
       CpdUnFreeze();
     }
+#if 0
     else if (strncmp(name, "setBreakPoint", strlen("setBreakPoint")) == 0){
       CmiPrintf("setBreakPoint received\n");
       temp = strstr(name, "#");
index 2f110f15c5731f9e79050ecf5706caa352659cad..c13a6ca22af589d0067c4db8e7f4216d8af73e22 100644 (file)
@@ -215,14 +215,14 @@ free_slots(slotset *ss, int sslot, int nslots)
 }
 
 /*
- * destroys slotset
- */
+ * destroys slotset-- currently unused
 static void
 delete_slotset(slotset* ss)
 {
   free_reentrant(ss->buf);
   free_reentrant(ss);
 }
+ */
 
 #if CMK_THREADS_DEBUG
 static void
@@ -294,7 +294,9 @@ init_map(char **argv)
 #include <sys/stat.h>
 #include <fcntl.h>
 
+#if !CMK_HAS_MMAP_ANON
 CpvStaticDeclare(int, zerofd); /*File descriptor for /dev/zero, for mmap*/
+#endif
 
 /*
  * maps the virtual memory associated with slot using mmap
index c9721c42babc501ac915ee2ec936d09023dec480..12c941b1ec6e57c7b7403092d3ef57f752d24581 100644 (file)
@@ -354,16 +354,9 @@ linkage qualifiers by Orion.
 extern "C" {
 #endif
 
-#if __STD_C
-extern Void_t*     sbrk(size_t);
-#else
-extern Void_t*     sbrk();
-#endif
-
 /* mechanics for getpagesize; adapted from bsd/gnu getpagesize.h */
 
 #if defined(BSD) || defined(DGUX) || defined(sun) || defined(_WIN32) || defined(HAVE_GETPAGESIZE)
-   extern size_t getpagesize();
 #  define malloc_getpagesize getpagesize()
 #else
 #  include <sys/param.h>
index fe16489a3eb04194b139ef2a2c72f7f412bb5833..c2a1cf18f71be981e76aa772d8c35f4fba0ab020 100644 (file)
@@ -12,8 +12,6 @@ be wrapped in CmiMemLock.  (Doesn't hurt, tho')
 
 #include "memory-isomalloc.h"
 
-static int memInit=0;
-
 /*The current allocation arena */
 CpvStaticDeclare(CmiIsomallocBlockList *,isomalloc_blocklist);
 
index 3a6e1aa6f7cafaf9ccebd40e53d40af13b9fdbce..1eadfc9b1dcb773aae2396676f15ec13146d859f 100644 (file)
@@ -146,7 +146,6 @@ void memory_check(void)
 {
        Slot *cur=slot_first.next;
        int nBlocks=0, nBytes=0;
-       int nMegs,nKb;
        while (cur!=&slot_first) {
                checkSlot(cur);
                nBlocks++;
index 9c3ecc7a524e13cde986982190453071e97a64e9..7b1da305936b91e93e06be38425f917b2957879b 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h> /*For memset, memcpy*/
+#include <unistd.h> /*For getpagesize*/
 #include "converse.h"
 
 /*Choose the proper default configuration*/
index 5aacca570fc928b3896517672c43d15ed7d7497c..ada2c8912fa81d710615e587e63f8fb21afaee5a 100644 (file)
@@ -96,9 +96,6 @@ void CldEnqueue(int pe, void *msg, int infofn)
   int len, queueing, priobits; unsigned int *prioptr;
   CldInfoFn ifn = (CldInfoFn)CmiHandlerToFunction(infofn);
   CldPackFn pfn;
-  int size;
-
-  int sx,sy,sz; BgGetSize(&sx, &sy, &sz); size = (sx*sy*sz);
 
   DEBUGF(("[%d>] CldEnqueue pe: %d infofn:%d\n", BgMyNode(), pe, infofn));
   if (pe == CLD_ANYWHERE) {
index 0090f44c0042c9c07a0c5acac6d3cc55bfe5a3b0..f6fbd58a4e7f4415fdbcb28b14bbc50a42faaf5a 100644 (file)
@@ -20,3 +20,4 @@ void CldPutToken(char *);
 void CldRestoreHandler(char *);
 void CldSwitchHandler(char *, int);
 void CldModuleGeneralInit();
+int  CldPresentPE(int pe);
index 6908f93f906fd7aaea76cdfdb5cf07f742a8557e..12de82a37dad17b5b13ede4870698f210a3450e7 100644 (file)
@@ -69,8 +69,6 @@ extern "C" void MPI_threadstart(void *data)
        t.start();
 }
 
-static void ampiAttach(void);
-
 void ampiCreateMain(MPI_MainFn mainFn)
 {
        int _nchunks=TCharmGetNumChunks();
@@ -327,14 +325,14 @@ void ampi::checkpoint(DirMsg *msg)
 CDECL void MPI_Checkpoint(char *dirname)
 {
   mkdir(dirname, 0777);
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->cthread_id = CthSelf();
   int idx = ptr->thisIndex;
   CProxy_ampi aproxy(ampimain::mpi_comms[ptr->commidx].aid);
   aproxy[idx].checkpoint(new DirMsg(dirname));
   ptr->stop_running();
   CthSuspend();
-  ptr = CtvAccess(ampiPtr);
+  ptr = getAmpiInstance();
   if(ptr->cthread_id != 0)
     CkAbort("cthread_id not 0 upon return !!\n");
   ptr->start_running();
@@ -379,6 +377,7 @@ void ampi::pup(PUP::er &p)
 
 static ampi *getAmpiInstance(void) {
   ampi *ret = CtvAccess(ampiPtr);
+  if (ret==NULL) CkAbort("Cannot call MPI routines before AMPI is initialized.\n");
   return ret;
 }
 
@@ -421,7 +420,7 @@ int MPI_Send(void *msg, int count, MPI_Datatype type, int dest,
                         int tag, MPI_Comm comm)
 {
   AMPIAPI("MPI_Send");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->send(tag, ptr->getIndex(), msg, count, type, dest, comm);
   return 0;
 }
@@ -431,7 +430,7 @@ int MPI_Ssend(void *msg, int count, MPI_Datatype type, int dest,
                         int tag, MPI_Comm comm)
 {
   AMPIAPI("MPI_Ssend");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->send(tag, ptr->getIndex(), msg, count, type, dest, comm);
   return 0;
 }
@@ -441,7 +440,7 @@ int MPI_Recv(void *msg, int count, MPI_Datatype type, int src, int tag,
               MPI_Comm comm, MPI_Status *status)
 {
   AMPIAPI("MPI_Recv");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->recv(tag,src,msg,count,type, comm, (int*) status);
   return 0;
 }
@@ -450,7 +449,7 @@ CDECL
 int MPI_Probe(int src, int tag, MPI_Comm comm, MPI_Status *status)
 {
   AMPIAPI("MPI_Probe");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->probe(tag,src, comm, (int*) status);
   return 0;
 }
@@ -459,7 +458,7 @@ CDECL
 int MPI_Iprobe(int src,int tag,MPI_Comm comm,int *flag,MPI_Status *status)
 {
   AMPIAPI("MPI_Iprobe");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   *flag = ptr->iprobe(tag,src,comm,(int*) status);
   return 0;
 }
@@ -482,7 +481,7 @@ int MPI_Barrier(MPI_Comm comm)
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->barrier();
   return 0;
 }
@@ -496,7 +495,7 @@ int MPI_Bcast(void *buf, int count, MPI_Datatype type, int root,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->bcast(root, buf, count, type);
   return 0;
 }
@@ -562,7 +561,7 @@ int MPI_Reduce(void *inbuf, void *outbuf, int count, int type, MPI_Op op,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   CkReduction::reducerType mytype = getReductionType(type,op);
   int size = ptr->myDDT->getType(type)->getSize(count) ;
   CkCallback reduceCB(CkIndex_ampi::reduceResult(0),CkArrayIndex1D(root),
@@ -583,7 +582,7 @@ int MPI_Allreduce(void *inbuf, void *outbuf, int count, int type,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   CkReduction::reducerType mytype = getReductionType(type,op);
   int size = ptr->myDDT->getType(type)->getSize(count) ;
   CkCallback allreduceCB(ampiAllReduceHandler,(void *)&mpi_comms[ptr->commidx]);
@@ -603,7 +602,7 @@ CDECL
 int MPI_Start(MPI_Request *reqnum)
 {
   AMPIAPI("MPI_Start");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   if(*reqnum >= ptr->nrequests) {
     CkAbort("Invalid persistent Request..\n");
   }
@@ -619,7 +618,7 @@ CDECL
 int MPI_Waitall(int count, MPI_Request *request, MPI_Status *sts)
 {
   AMPIAPI("MPI_Waitall");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int i;
   for(i=0;i<count;i++) {
     if(request[i] == (-1))
@@ -652,7 +651,7 @@ CDECL
 int MPI_Waitany(int count, MPI_Request *request, int *idx, MPI_Status *sts)
 {
   AMPIAPI("MPI_Waitany");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   while(1) {
     for(*idx=0;(*idx)<count;(*idx)++) {
       if(request[*idx] == (-1))
@@ -693,7 +692,7 @@ CDECL
 int MPI_Wait(MPI_Request *request, MPI_Status *sts)
 {
   AMPIAPI("MPI_Wait");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   if(*request == (-1))
       return 0;
   if(*request < 100) { // persistent request
@@ -723,7 +722,7 @@ CDECL
 int MPI_Test(MPI_Request *request, int *flag, MPI_Status *sts)
 {
   AMPIAPI("MPI_Test");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   if(*request==(-1)) {
     *flag = 1;
     return 0;
@@ -763,7 +762,7 @@ int MPI_Recv_init(void *buf, int count, int type, int src, int tag,
 {
   AMPIAPI("MPI_Recv_init");
 
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
 
   if(ptr->nrequests == 100) {
     CmiAbort("Too many persistent commrequests.\n");
@@ -785,7 +784,7 @@ int MPI_Send_init(void *buf, int count, int type, int dest, int tag,
                    MPI_Comm comm, MPI_Request *req)
 {
   AMPIAPI("MPI_Send_init");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   if(ptr->nrequests == 100) {
     CmiAbort("Too many persistent commrequests.\n");
   }
@@ -806,7 +805,7 @@ int MPI_Type_contiguous(int count, MPI_Datatype oldtype,
                          MPI_Datatype *newtype)
 {
   AMPIAPI("MPI_Type_contiguous");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   ptr->myDDT->newContiguous(count, oldtype, newtype); 
   return 0;
 }
@@ -816,7 +815,7 @@ int MPI_Type_vector(int count, int blocklength, int stride,
                      MPI_Datatype oldtype, MPI_Datatype*  newtype)
 {
   AMPIAPI("MPI_Type_vector");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->newVector(count, blocklength, stride, oldtype, newtype);
   return 0 ;
 }
@@ -826,7 +825,7 @@ int MPI_Type_hvector(int count, int blocklength, int stride,
                       MPI_Datatype oldtype, MPI_Datatype*  newtype)
 {
   AMPIAPI("MPI_Type_hvector");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->newHVector(count, blocklength, stride, oldtype, newtype);
   return 0 ;
 }
@@ -836,7 +835,7 @@ int MPI_Type_indexed(int count, int* arrBlength, int* arrDisp,
                       MPI_Datatype oldtype, MPI_Datatype*  newtype)
 {
   AMPIAPI("MPI_Type_indexed");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->newIndexed(count, arrBlength, arrDisp, oldtype, newtype);
   return 0 ;
 }
@@ -846,7 +845,7 @@ int MPI_Type_hindexed(int count, int* arrBlength, int* arrDisp,
                        MPI_Datatype oldtype, MPI_Datatype*  newtype)
 {
   AMPIAPI("MPI_Type_hindexed");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->newHIndexed(count, arrBlength, arrDisp, oldtype, newtype);
   return 0 ;
 }
@@ -856,7 +855,7 @@ int MPI_Type_struct(int count, int* arrBlength, int* arrDisp,
                      MPI_Datatype* oldtype, MPI_Datatype*  newtype)
 {
   AMPIAPI("MPI_Type_struct");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->newStruct(count, arrBlength, arrDisp, oldtype, newtype);
   return 0 ;
 }
@@ -872,7 +871,7 @@ CDECL
 int MPI_Type_free(MPI_Datatype *datatype)
 {
   AMPIAPI("MPI_Type_free");
-  ampi  *ptr = CtvAccess(ampiPtr);
+  ampi  *ptr = getAmpiInstance();
   ptr->myDDT->freeType(datatype);
   return 0;
 }
@@ -882,7 +881,7 @@ CDECL
 int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint extent)
 {
   AMPIAPI("MPI_Type_extent");
-  ampi *ptr = CtvAccess(ampiPtr) ;
+  ampi *ptr = getAmpiInstance() ;
   *extent = ptr->myDDT->getExtent(datatype);
   return 0;
 }
@@ -891,7 +890,7 @@ CDECL
 int MPI_Type_size(MPI_Datatype datatype, MPI_Aint size)
 {
   AMPIAPI("MPI_Type_size");
-  ampi *ptr = CtvAccess(ampiPtr) ;
+  ampi *ptr = getAmpiInstance() ;
   *size = ptr->myDDT->getSize(datatype);
   return 0;
 }
@@ -901,7 +900,7 @@ int MPI_Isend(void *buf, int count, MPI_Datatype type, int dest,
               int tag, MPI_Comm comm, MPI_Request *request)
 {
   AMPIAPI("MPI_Isend");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   
   ptr->send(tag, ptr->getIndex(), buf, count, type, dest, comm);
   *request = (-1);
@@ -913,7 +912,7 @@ int MPI_Issend(void *buf, int count, MPI_Datatype type, int dest,
               int tag, MPI_Comm comm, MPI_Request *request)
 {
   AMPIAPI("MPI_Issend");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   
   ptr->send(tag, ptr->getIndex(), buf, count, type, dest, comm);
   *request = (-1);
@@ -925,7 +924,7 @@ int MPI_Irecv(void *buf, int count, MPI_Datatype type, int src,
               int tag, MPI_Comm comm, MPI_Request *request)
 {
   AMPIAPI("MPI_Irecv");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   if(ptr->nirequests == 100) {
     CmiAbort("Too many Irecv requests.\n");
   }
@@ -958,7 +957,7 @@ int MPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   int i;
   for(i=0;i<size;i++) {
@@ -986,7 +985,7 @@ int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   int i;
   for(i=0;i<size;i++) {
@@ -1014,7 +1013,7 @@ int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   int i;
 
@@ -1043,7 +1042,7 @@ int MPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   int i;
   MPI_Send(sendbuf, sendcount, sendtype, root, MPI_GATHER_TAG, comm);
@@ -1071,7 +1070,7 @@ int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   DDT_DataType* dttype = ptr->myDDT->getType(sendtype) ;
   int itemsize = dttype->getSize() ;
@@ -1102,7 +1101,7 @@ int MPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   {
     CkAbort("AMPI> Cannot have global operations across communicators.\n");
   }
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   int size = ptr->getArraySize();
   DDT_DataType* dttype = ptr->myDDT->getType(sendtype) ;
   int itemsize = dttype->getSize(sendcount) ;
@@ -1150,7 +1149,7 @@ CDECL
 int MPI_Get_count(MPI_Status *sts, MPI_Datatype dtype, int *count)
 {
   AMPIAPI("MPI_Get_count");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   DDT_DataType* dttype = ptr->myDDT->getType(dtype) ;
   int itemsize = dttype->getSize() ;
   *count = sts->MPI_LENGTH/itemsize;
@@ -1162,7 +1161,7 @@ int MPI_Pack(void *inbuf, int incount, MPI_Datatype dtype, void *outbuf,
               int outsize, int *position, MPI_Comm comm)
 {
   AMPIAPI("MPI_Pack");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   DDT_DataType* dttype = ptr->myDDT->getType(dtype) ;
   int itemsize = dttype->getSize();
   dttype->serialize((char*)inbuf, ((char*)outbuf)+(*position), incount, 1);
@@ -1175,7 +1174,7 @@ int MPI_Unpack(void *inbuf, int insize, int *position, void *outbuf,
               int outcount, MPI_Datatype dtype, MPI_Comm comm)
 {
   AMPIAPI("MPI_Unpack");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   DDT_DataType* dttype = ptr->myDDT->getType(dtype) ;
   int itemsize = dttype->getSize();
   dttype->serialize(((char*)inbuf+(*position)), (char*)outbuf, outcount, 1);
@@ -1187,7 +1186,7 @@ CDECL
 int MPI_Pack_size(int incount,MPI_Datatype datatype,MPI_Comm comm,int *sz)
 {
   AMPIAPI("MPI_Pack_size");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   DDT_DataType* dttype = ptr->myDDT->getType(datatype) ;
   return incount*dttype->getSize() ;
 }
@@ -1216,7 +1215,7 @@ CDECL
 void MPI_Print(char *str)
 {
   AMPIAPI("MPI_Print");
-  ampi *ptr = CtvAccess(ampiPtr);
+  ampi *ptr = getAmpiInstance();
   CkPrintf("[%d] %s\n", ptr->thisIndex, str);
 }
 
index f6b0b14791b468361bc787104b11e80727c1f246..727c8d9503b6766bd900d8524559796634441ffc 100644 (file)
@@ -122,7 +122,7 @@ class AmpiMsg : public CMessage_AmpiMsg {
 
   AmpiMsg(void) { data = (char *)this + sizeof(AmpiMsg); }
   AmpiMsg(int _s, int t, int s, int l, int c) : 
-    seq(_s), tag(t),src(s),length(l),comm(c) {
+    seq(_s), tag(t),src(s),comm(c), length(l) {
     data = (char *)this + sizeof(AmpiMsg);
   }
   static void *alloc(int msgnum, size_t size, int *sizes, int pbits) {
index f772b9753aad7472b3e17c3c82fb8fdda53419d7..45d0a98ae6e9feba1229a725f046d1b9034b9387 100644 (file)
@@ -30,9 +30,11 @@ void bbox3d::print(const char *desc) const
                {::print(segs[i]);if (i<2) printf("x");}
 }
 
+#if 0
 static void print(const vector3d &v) {
        printf("(%.3g,%.3g,%.3g) ",v.x,v.y,v.z);
 }
+#endif
 
 void octant::print(const char *desc) const
 {
index 09714d3b7617207afaab376b1760f9ed0270e0ca..e70c07d48cb16ecab6f68e64ccfe655c701688c2 100644 (file)
@@ -869,7 +869,7 @@ FDECL void FTN_NAME(FEM_GET_ELEM_CONN_C,fem_get_elem_conn_c)
 /******************** Reduction Support **********************/
 
 template<class d>
-void sum(const int len, d* lhs, const d* rhs)
+void sumFn(const int len, d* lhs, const d* rhs)
 {
   int i;
   for(i=0;i<len;i++) {
@@ -882,7 +882,7 @@ void sum(const int len, d* lhs, const d* rhs)
 #undef min
 
 template<class d>
-void max(const int len, d* lhs, const d* rhs)
+void maxFn(const int len, d* lhs, const d* rhs)
 {
   int i;
   for(i=0;i<len;i++) {
@@ -892,7 +892,7 @@ void max(const int len, d* lhs, const d* rhs)
 }
 
 template<class d>
-void min(const int len, d* lhs, const d* rhs)
+void minFn(const int len, d* lhs, const d* rhs)
 {
   int i;
   for(i=0;i<len;i++) {
@@ -902,7 +902,7 @@ void min(const int len, d* lhs, const d* rhs)
 }
 
 template<class d>
-void assign(const int len, d* lhs, d val)
+void assignFn(const int len, d* lhs, d val)
 {
   int i;
   for(i=0;i<len;i++) {
@@ -910,6 +910,24 @@ void assign(const int len, d* lhs, d val)
   }
 }
 
+//Force template-fn instantiations (for compilers too stupid to figure them out)
+
+//Instantiate this routine for these arguments:
+#define force_routine(fnName,tempParam,args) \
+       template void fnName<tempParam> args
+
+//Instaniate all routines for this data type
+#define force_instantiate(datatype) \
+       force_routine(sumFn,datatype,(const int len,datatype *lhs,const datatype *rhs));\
+       force_routine(minFn,datatype,(const int len,datatype *lhs,const datatype *rhs));\
+       force_routine(maxFn,datatype,(const int len,datatype *lhs,const datatype *rhs));\
+       force_routine(assignFn,datatype,(const int len,datatype *lhs,datatype val));
+
+force_instantiate(unsigned char);
+force_instantiate(int);
+force_instantiate(float);
+force_instantiate(double);
+
 static inline void
 initialize(const DType& dt, void *lhs, int op)
 {
@@ -917,31 +935,31 @@ initialize(const DType& dt, void *lhs, int op)
     case FEM_SUM:
       switch(dt.base_type) {
         case FEM_BYTE : 
-          assign(dt.vec_len,(unsigned char*)lhs, (unsigned char)0); 
+          assignFn(dt.vec_len,(unsigned char*)lhs, (unsigned char)0); 
           break;
-        case FEM_INT : assign(dt.vec_len,(int*)lhs, 0); break;
-        case FEM_REAL : assign(dt.vec_len,(float*)lhs, (float)0.0); break;
-        case FEM_DOUBLE : assign(dt.vec_len,(double*)lhs, 0.0); break;
+        case FEM_INT : assignFn(dt.vec_len,(int*)lhs, 0); break;
+        case FEM_REAL : assignFn(dt.vec_len,(float*)lhs, (float)0.0); break;
+        case FEM_DOUBLE : assignFn(dt.vec_len,(double*)lhs, 0.0); break;
       }
       break;
     case FEM_MAX:
       switch(dt.base_type) {
         case FEM_BYTE : 
-          assign(dt.vec_len,(unsigned char*)lhs, (unsigned char)CHAR_MIN); 
+          assignFn(dt.vec_len,(unsigned char*)lhs, (unsigned char)CHAR_MIN); 
           break;
-        case FEM_INT : assign(dt.vec_len,(int*)lhs, INT_MIN); break;
-        case FEM_REAL : assign(dt.vec_len,(float*)lhs, FLT_MIN); break;
-        case FEM_DOUBLE : assign(dt.vec_len,(double*)lhs, DBL_MIN); break;
+        case FEM_INT : assignFn(dt.vec_len,(int*)lhs, INT_MIN); break;
+        case FEM_REAL : assignFn(dt.vec_len,(float*)lhs, FLT_MIN); break;
+        case FEM_DOUBLE : assignFn(dt.vec_len,(double*)lhs, DBL_MIN); break;
       }
       break;
     case FEM_MIN:
       switch(dt.base_type) {
         case FEM_BYTE : 
-          assign(dt.vec_len,(unsigned char*)lhs, (unsigned char)CHAR_MAX); 
+          assignFn(dt.vec_len,(unsigned char*)lhs, (unsigned char)CHAR_MAX); 
           break;
-        case FEM_INT : assign(dt.vec_len,(int*)lhs, INT_MAX); break;
-        case FEM_REAL : assign(dt.vec_len,(float*)lhs, FLT_MAX); break;
-        case FEM_DOUBLE : assign(dt.vec_len,(double*)lhs, DBL_MAX); break;
+        case FEM_INT : assignFn(dt.vec_len,(int*)lhs, INT_MAX); break;
+        case FEM_REAL : assignFn(dt.vec_len,(float*)lhs, FLT_MAX); break;
+        case FEM_DOUBLE : assignFn(dt.vec_len,(double*)lhs, DBL_MAX); break;
       }
       break;
   }
@@ -954,11 +972,6 @@ typedef void (*combineFn_INT)(const int len,int *lhs,const int *rhs);
 typedef void (*combineFn_REAL)(const int len,float *lhs,const float *rhs);
 typedef void (*combineFn_DOUBLE)(const int len,double *lhs,const double *rhs);
 
-
-static combineFn
-combine(const DType& dt, int op)
-{
-  switch(op) {
 //This odd-looking define selects the appropriate templated type
     // of "fn", casts it to a void* type, and returns it.
 #define combine_switch(fn) \
@@ -969,9 +982,14 @@ combine(const DType& dt, int op)
         case FEM_DOUBLE : return (combineFn)(combineFn_DOUBLE)fn;\
       }\
       break;
-    case FEM_SUM: combine_switch(sum);
-    case FEM_MIN: combine_switch(min);
-    case FEM_MAX: combine_switch(max);
+
+static combineFn
+combine(const DType& dt, int op)
+{
+  switch(op) {
+    case FEM_SUM: combine_switch(sumFn);
+    case FEM_MIN: combine_switch(minFn);
+    case FEM_MAX: combine_switch(maxFn);
   }
   return NULL;
 }
@@ -1512,10 +1530,6 @@ static FEMchunk *getCurChunk(void)
     CkAbort("Routine can only be called from driver()!\n");
   return cptr;
 }
-static MeshChunk *getCurMesh(void)
-{
-  return getCurChunk()->cur_mesh;
-}
 
 CDECL void FEM_Update_Mesh(int callMeshUpdated,int doRepartition) 
 { 
index 1770a69ef5066bde367fabf0a871a27afda5a5d9..f396dd768de9427f411460090fb022860308ce57 100644 (file)
@@ -251,7 +251,7 @@ protected:
        T *table; //Data in table [rows * cols]
 public:
        BasicTable2d(T *src,int cols_,int rows_) 
-               :cols(cols_), rows(rows_), table(src) {}
+               :rows(rows_), cols(cols_), table(src) {}
        
        //"size" of the table is the number of rows:
        inline int size(void) const {return rows;}
@@ -761,6 +761,7 @@ public:
 */
 class MeshChunkOutput {
  public:
+       virtual ~MeshChunkOutput() {} /*<- for whining compilers*/
        //Transfer ownership of this mesh chunk
        virtual void accept(int chunkNo,MeshChunk *msg) =0;
 };
index 244255b81f65de4d44b136f961f9ee18de737e3f..f2c98898d1ed8895a1615c90a0e81dba5b4133b5 100644 (file)
@@ -888,7 +888,7 @@ void splitter::addLayer(const ghostLayer &g,const FEM_Ghost &ghosts)
                //For every element of every chunk:
                int nEl=dyn[c].elem[t].size();
                for (int e=0;e<nEl;e++) {
-                       int i,gNo=dyn[c].elem[t][e].gNo;
+                       int gNo=dyn[c].elem[t][e].gNo;
                        const int *conn=mesh->elem[t].connFor(gNo);
                        if (hasGhostNodes(conn,mesh->elem[t].getNodesPer()))
                        { //Loop over this element's tuples:
@@ -988,7 +988,7 @@ and elements are added at the end.
 FEM_Mesh *fem_assemble(int nchunks,MeshChunk **msgs)
 {
        FEM_Mesh *m=new FEM_Mesh;
-       int i,t,c,e,n;
+       int t,c,e,n;
 
 //Find the global total number of nodes and elements
        int minOld_n=1000000000,maxOld_n=0,new_n=0; //Pre-existing and newly-created nodes
index d85b27b36355205d0b478f3c050f894f61a6778e..13bfa448aef34858ff296f69abc7c9764c2d685e 100644 (file)
@@ -52,8 +52,9 @@ public:
 private:
   char flag;
 public:
-  mCastEntry(): numChild(0),flag(COOKIE_NOTREADY), 
-                oldc(NULL), newc(NULL), needRebuild(0){}
+  mCastEntry(): numChild(0), 
+                oldc(NULL), newc(NULL), needRebuild(0),
+               flag(COOKIE_NOTREADY) {}
   mCastEntry(mCastEntry *);
   inline int hasParent() { return parentGrp.val?1:0; }
   inline int isObsolete() { return (flag == COOKIE_OLD); }
@@ -111,7 +112,7 @@ extern void CkPackMessage(envelope **pEnv);
 
 
 mCastEntry::mCastEntry (mCastEntry *old): 
-flag(COOKIE_NOTREADY), oldc(NULL), newc(NULL)
+  oldc(NULL), newc(NULL), flag(COOKIE_NOTREADY)
 {
   parentGrp = old->parentGrp;
   for (int i=0; i<old->allElem.length(); i++)
@@ -132,13 +133,11 @@ void CkMulticastMgr::setSection(CkSectionCookie &_id, CkArrayID aid, CkArrayInde
 //  entry->aid = aid;
   _id.aid = aid;
   _id.val = entry;             // allocate table for this section
-  CProxy_CkMulticastMgr  mCastGrp(thisgroup);
   initCookie(_id);
 }
 
 void CkMulticastMgr::setSection(CkSectionCookie &id)
 {
-  CProxy_CkMulticastMgr  mCastGrp(thisgroup);
   initCookie(id);
 }
 
@@ -154,7 +153,6 @@ void CkMulticastMgr::setSection(CProxySection_ArrayElement &proxy)
   }
   _id.aid = proxy.ckGetArrayID();
   _id.val = entry;             // allocate table for this section
-  CProxy_CkMulticastMgr  mCastGrp(thisgroup);
   initCookie(_id);
 }
 
index e4d73893d387d2c447b7575c992822213269580e..94c3251964a0b57b0ab386595903be90b69b3c2c 100644 (file)
@@ -62,6 +62,9 @@ double TCharmWallTimer(void);
 /*Standalone startup routine*/
 void TCharmInit(int *argc,char ***argv);
 
+/*Internal library routine*/
+void TCharmInUserSetup(void);
+
 #ifdef __cplusplus
 };
 #endif
index 032b9c0dd596bfe526e66f4e889ffdb1cb3b4409..eabb75efad1d1e34d778e4d133fcedab6d02dee2 100644 (file)
@@ -80,7 +80,7 @@ class DDT_DataType {
 
   public:
     DDT_DataType() { } ;
-    ~DDT_DataType() { }  ;
+    virtual ~DDT_DataType() { }  ;
     DDT_DataType(int type) ;
     DDT_DataType(const DDT_DataType& obj) ;
     DDT_DataType& operator=(const DDT_DataType& obj);
index 6e09b02f5587a4ddac858076c2d2a9c676838e0e..0f4ce4fe8f432e7f1e0b44f995b79a87928d0cf1 100644 (file)
@@ -9,8 +9,9 @@
 /*
  * converse master-slave (or manager-worker or agenda) paradigm library 
  */
-
-
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include "cms.h"
 
 typedef struct {
index 0d2cd31aee0fdc899ff4666ec885a6a2d6024141..275820ee10a63220b9ac39e44395122a4ca4427e 100755 (executable)
@@ -388,21 +388,17 @@ do
                OPTSL="$OPTSL $arg"
                ;;
 
-       "-pg"|"-g")
-               OPTS="$OPTS $arg"
-               ;;
-
        "-O")
                OPTIMIZE_MODE=true
                ;;
 
-       -O*)
-               OPTS="$OPTS $arg"
-               ;;
-
        "-NO")
                OPTIMIZE_MODE=false
                ;;
+       
+       "-pg"|"-g"|-W*|-O*)
+               OPTS="$OPTS $arg"
+               ;;
 
        -l*)
                if [ -n "$POST_LANGUAGE" ]
index 49113a0910fbade649436ec4d736fe77ef98f889..adad005b51d41503366d60d0b4b78ebaedd75793 100644 (file)
@@ -294,7 +294,7 @@ public:
        PUP::able::constructor_function ctor;
        PUP_regEntry(const char *Nname,
                const PUP::able::PUP_ID &Nid,PUP::able::constructor_function Nctor)
-               :name(Nname),id(Nid),ctor(Nctor) {}
+               :id(Nid),name(Nname),ctor(Nctor) {}
        PUP_regEntry(int zero) {
                name=NULL; //For marking "not found"
        }
index 828cc2907560ab68338850e32012112b8f81feb6..6206e7435a31b7b8ee50d1ede62a1c05de342dc7 100644 (file)
@@ -12,6 +12,7 @@
 #include <string.h>
 #include <signal.h>
 #include <time.h>
+#include <ctype.h>
 #if CMK_SCYLD
 #include <sys/bproc.h>
 #endif
@@ -147,7 +148,7 @@ int skt_select1(SOCKET fd,int msec)
 
 
 /******* DNS *********/
-skt_ip_t skt_invalid_ip={0};
+skt_ip_t skt_invalid_ip={{0}};
 
 skt_ip_t skt_my_ip(void)
 {