f90charm: Change the naming pattern of entry method subroutines 70/4270/6
authorEvan Ramos <evan@hpccharm.com>
Mon, 18 Jun 2018 16:59:49 +0000 (11:59 -0500)
committerEvan Ramos <evan@hpccharm.com>
Tue, 24 Jul 2018 15:53:57 +0000 (10:53 -0500)
For example, "array [1D] ChareName { entry void MethodName(void); }":

Old: subroutine MethodName
New: subroutine ChareName_Entry_MethodName

Change-Id: Ia0c4ea20e90e3b94b0084ca7f23833023bbc53bd

doc/f90charm/manual.tex
examples/charm++/f90charm/hello/hellof.f90
examples/charm++/f90charm/hello2D/hellof.f90
examples/charm++/f90charm/ldbDemo/ldbDemof.f90
examples/charm++/f90charm/ldbRedDemo/ldbRedDemof.f90
src/xlat-i/xi-Entry.C

index 3945c0b499a0ceebef9e9866263f75c96983b250..6f9a34e2e9d8e398c3654da1820f3a59c31ca40d 100644 (file)
@@ -85,7 +85,7 @@ the Chare's user data and perform any initialization.
   For each Chare entry method you have declared, you should write the corresponding 
 Fortran90 subroutine for it:
 
-  \verb+SUBROUTINE entry(charePtr, myIndex, data1, data2 ... )+
+  \verb+SUBROUTINE <ChareName>_Entry_<EntryName>(charePtr, myIndex, data1, data2 ... )+
 
   Note, the first argument is the Chare pointer as you declared previously, the second argument is the array index which will be passed from the Charm runtime. 
 The rest of the parameters should be the same as you declare the entry methods
@@ -247,7 +247,7 @@ Now that you have the chare and the chare constructor function, you can start
       ## p1, p2, etc represent user parameters
       ## the "objPtr, myIndex" stuff is required in every Entry Point.
       ## CkExit() must be called by the chare to terminate.
-      SUBROUTINE SayHi(objPtr, myIndex, data, data2, len, s)
+      SUBROUTINE Hello_Entry_SayHi(objPtr, myIndex, data, data2, len, s)
       USE HelloMod
       IMPLICIT NONE
 
index fa842a1d6c9912975c4a1fb98c3bcb8febc19ce8..3c1ee4b359306119bf3ea65ae8700d8d37a94cb6 100644 (file)
@@ -66,7 +66,7 @@
       END SUBROUTINE
 
 !    define fortran entry function
-      SUBROUTINE SayHi(objPtr, myIndex, data, data2, len, s)
+      SUBROUTINE Hello_Entry_SayHi(objPtr, myIndex, data, data2, len, s)
         USE HelloMod
         IMPLICIT NONE
 
index d7d4c24b7340180ccdb24fe7b522c61c77e424d0..bfa35009ac104a41d20d100abfaddca849010edb 100644 (file)
@@ -52,7 +52,7 @@
 
 
 !    define fortran entry function
-      SUBROUTINE SayHi(objPtr, myIndex1, myIndex2, data, data2, len, s)
+      SUBROUTINE Hello_Entry_SayHi(objPtr, myIndex1, myIndex2, data, data2, len, s)
       USE HelloMod
       IMPLICIT NONE
 
index 60f080e30100ad6409a426976c602f4fde9359ab..50c1862663303be572c031302d48feb785d0aef0 100644 (file)
@@ -35,7 +35,7 @@
         objPtr%obj%next = MOD( index+1, nElements)
         objPtr%obj%iteration = 0
         objPtr%obj%count = 0
-        call nextStep(objPtr, index)
+        call BalanceMe_Entry_nextStep(objPtr, index)
       END SUBROUTINE
 
 !   user MUST write this puper subroutine
@@ -75,7 +75,7 @@
         integer index
 
           ! load balancing finish, start next step
-        call nextStep(objPtr, index)
+        call BalanceMe_Entry_nextStep(objPtr, index)
       END SUBROUTINE
 
       INTEGER FUNCTION doWork(workTime)
@@ -93,7 +93,7 @@
      END FUNCTION
 
 !    define fortran entry function
-      SUBROUTINE nbrData(objPtr, myIndex, size, D, k)
+      SUBROUTINE BalanceMe_Entry_nbrData(objPtr, myIndex, size, D, k)
         USE LdbDemoMod
         IMPLICIT NONE
         INTEGER doWork
         ENDIF
       END SUBROUTINE
 
-      SUBROUTINE nextStep(objPtr, myIndex)
+      SUBROUTINE BalanceMe_Entry_nextStep(objPtr, myIndex)
         USE LdbDemoMod
         IMPLICIT NONE
 
 
       END SUBROUTINE
 
-      SUBROUTINE barrier(objPtr, myIndex)
+      SUBROUTINE BalanceMe_Entry_barrier(objPtr, myIndex)
         USE LdbDemoMod
         IMPLICIT NONE
 
index bfa4669321e286abdc97b0c84975a6a6345542ef..630eb3fbb97e2506f51831c14e9aea1eddc3def8 100644 (file)
@@ -36,7 +36,7 @@
         objPtr%obj%iteration = 0
         objPtr%obj%count = 0
 
-        call nextStep(objPtr, index)
+        call BalanceMe_Entry_nextStep(objPtr, index)
       END SUBROUTINE
 
 !   user MUST write this puper subroutine
@@ -76,7 +76,7 @@
         integer index
 
           ! load balancing finish, start next step
-        call nextStep(objPtr, index)
+        call BalanceMe_Entry_nextStep(objPtr, index)
       END SUBROUTINE
 
       INTEGER FUNCTION doWork(workTime)
@@ -94,7 +94,7 @@
      END FUNCTION
 
 !    define fortran entry function
-      SUBROUTINE nbrData(objPtr, myIndex, size, D, k)
+      SUBROUTINE BalanceMe_Entry_nbrData(objPtr, myIndex, size, D, k)
         USE LdbDemoMod
         IMPLICIT NONE
         INTEGER doWork
         ENDIF
       END SUBROUTINE
 
-      SUBROUTINE nextStep(objPtr, myIndex)
+      SUBROUTINE BalanceMe_Entry_nextStep(objPtr, myIndex)
         USE LdbDemoMod
         IMPLICIT NONE
 
 
       END SUBROUTINE
 
-      SUBROUTINE barrier(objPtr, myIndex, result)
+      SUBROUTINE BalanceMe_Entry_barrier(objPtr, myIndex, result)
         USE LdbDemoMod
         IMPLICIT NONE
 
index 75ab3fbaa1a7650ed1ed13a912791e505ca762b7..65068bbfabb2bdfaf271485eb96d37cdcb58ed09 100644 (file)
@@ -2386,7 +2386,7 @@ void Entry::genCall(XStr& str, const XStr& preCall, bool redn_wrapper, bool uses
       str << "  int index3 = impl_obj->thisIndex.z;\n";
     }
     str << "  ::";
-    str << fortranify(name);
+    str << fortranify(container->baseName(), "_Entry_", name);
     str << "((char **)(impl_obj->user_data)";
     str << ", &index1";
     if (dim == (const char*)"2D" || dim == (const char*)"3D") str << ", &index2";
@@ -2496,7 +2496,7 @@ void Entry::genDefs(XStr& str) {
     // This is called from C++
     str << "extern \"C\" ";
     str << "void ";
-    str << fortranify(name);
+    str << fortranify(container->baseName(), "_Entry_", name);
     str << "(char **";
     str << ", " << container->indexList();
     if (!param->isVoid()) {