doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-perf / tracef.C
index 3517011128ab9397c7a54094d231d22cd5f55b95..7da5b96b329ea8d484adbb813f44225eaad920a6 100644 (file)
@@ -16,6 +16,15 @@ static void checkInit(void) {
         CpvAccess(a)=0;
 }
 
+static char * FortrantoCString(char *x,int len){
+       char *newstr = new char[len + 1];
+  _MEMCHECK(newstr);
+  strncpy(newstr, x, len);
+  newstr[len] = 0;
+       return newstr;
+}
+
+
 FDECL {
 
 #define ftracebegin              FTN_NAME(FTRACEBEGIN, ftracebegin)
@@ -24,6 +33,11 @@ FDECL {
 #define ftraceuserbracketevent   FTN_NAME(FTRACEUSERBRACKETEVENT, ftraceuserbracketevent)
 #define ftraceUserEvent         FTN_NAME(FTRACEUSEREVENT, ftraceuserevent)
 #define ftraceFlushLog          FTN_NAME(FTRACEFLUSHLOG, ftraceflushlog)
+#define ftraceRegisterFunc      FTN_NAME(FTRACEREGISTERFUNC,ftraceregisterfunc) 
+#define ftraceBeginFunc                 FTN_NAME(FTRACEBEGINFUNC,ftracebeginfunc)
+#define ftraceEndFunc           FTN_NAME(FTRACEENDFUNC,ftraceendfunc)
+
+#define fbgprintf               FTN_NAME(FBGPRINTF, fbgprintf)
 
 void ftracebegin()
 {
@@ -37,7 +51,7 @@ void ftracebegin()
                 { CpvAccess(a)++;}
 }
 
-void FTN_NAME(FTRACEEND, ftraceend)()
+void ftraceend()
 {
           checkInit();
           if ( CpvAccess(a) == 1)
@@ -75,5 +89,31 @@ void ftraceFlushLog()
   traceFlushLog();
 }
 
+void ftraceRegisterFunc(char *name,int *outIdx,int lenName){
+       char *newstr = FortrantoCString(name,lenName);
+       *outIdx = traceRegisterFunction(newstr);
+       delete [] newstr;
+}
+
+void ftraceBeginFunc(int *idx){
+       traceBeginFuncIndexProj(*idx,(char*)"FORTRAN",0);
+}
+
+void ftraceEndFunc(int *idx){
+       traceEndFuncIndexProj(*idx);
+}
+
+#if CMK_BIGSIM_CHARM
+void fbgprintf(char *str, int len)
+{
+  char *newstr = new char[len + 1];
+  _MEMCHECK(newstr);
+  strncpy(newstr, str, len);
+  newstr[len] = 0;
+  BgPrintf(newstr);
+  delete [] newstr;
+}
+#endif
+
 }  // FDECL