Add funny do{}while(0) protection to LOGCONDITIONAL macro.
[charm.git] / src / conv-perf / traceCoreAPI.h
1
2 #ifndef __TRACE_CORE_API_H__
3 #define __TRACE_CORE_API_H__
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 CpvExtern(int,_traceCoreOn);
9 /* Tracing API */
10 #ifdef CMK_OPTIMIZE
11 #define LOGCONDITIONAL(x) 
12 #else 
13 #define LOGCONDITIONAL(x) do { \
14                 if(CpvAccess(_traceCoreOn)!=0){ \
15                         x;\
16                 }
17         } while(0);
18 #endif
19
20 void RegisterLanguage(int lID, char* ln);
21 void RegisterEvent(int lID, int eID);
22 /* TODO some cleanup required below */
23 void LogEvent(int lID, int eID);
24 void LogEvent1(int lID, int eID, int iLen, const int* iData);
25 void LogEvent2(int lID, int eID, int sLen, const char* sData);
26 void LogEvent3(int lID, int eID, int iLen, const int* iData, int sLen, const char* sData);
27 void LogEvent4(int lID, int eID, int iLen, const int* iData, double t);
28 #ifdef __cplusplus
29 }
30 #endif
31
32 #endif