charmxi: reductiontarget ep variants now carry a redn_wrapper_ prefix (instead of...
authorRamprasad Venkataraman <ramv@illinois.edu>
Mon, 2 Apr 2012 22:07:49 +0000 (17:07 -0500)
committerPhil Miller <mille121@illinois.edu>
Thu, 5 Apr 2012 21:17:57 +0000 (16:17 -0500)
This should allow the user to provide template parameters in the
CkReductionTarget() macro to distinguish between multiple instantiations
of a template entry method. This change should not affect any client code
in anyway.

src/ck-core/ckreduction.h
src/xlat-i/xi-symbol.C

index 82b440f96d5254e82da786266fde9d3a79b8bcb7..9cede818803d3a12ab4d111a56cc4fa554f33323 100644 (file)
@@ -649,7 +649,7 @@ public:
   void contribute(CkReductionMsg *msg);\*/
 
 #define CkReductionTarget(me, method) \
-    CkIndex_##me::method##_redn_wrapper(NULL)
+    CkIndex_##me::redn_wrapper_##method(NULL)
 
 #define CK_REDUCTION_CONTRIBUTE_METHODS_DEF(me,myRednMgr,myRednInfo,migratable) \
 void me::contribute(int dataSize,const void *data,CkReduction::reducerType type,\
index 1ce9148edfd8b685558103ed062abf8d3cc5ba4e..ab7bae1847e96edce737a746ad05ed4a92503aeb 100644 (file)
@@ -3033,6 +3033,7 @@ XStr Entry::marshallMsg(void)
 XStr Entry::epStr(bool isForRedn)
 {
   XStr str;
+  if (isForRedn) str<<"redn_wrapper_";
   str << name << "_";
   if (param->isMessage()) {
     str<<param->getBaseName();
@@ -3040,7 +3041,6 @@ XStr Entry::epStr(bool isForRedn)
   }
   else if (param->isVoid()) str<<"void";
   else str<<"marshall"<<entryCount;
-  if (isForRedn) str<<"_redn_wrapper";
   return str;
 }
 
@@ -4294,7 +4294,7 @@ void Entry::genIndexDecls(XStr& str)
           << "\n      return epidx;"
           << "\n    }"
           << templateSpecLine
-          << "\n    static int " << name << "_redn_wrapper"
+          << "\n    static int " << "redn_wrapper_" << name
           << "(CkReductionMsg* impl_msg) { return " << epIdx(0, true) << "; }"
           << templateSpecLine
           << "\n    static void _" << epStr(true) << "(void* impl_msg, "