Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define inline functions in header file (again).
[simgrid.git] / src / simix / smx_smurf_private.h
index ac677cd..5384438 100644 (file)
       SIMCALL_FUNC_RETURN(res)\
     }
 
-/* generate the simcalls prototypes functions */
-#define VOID_IF_EMPTY(...) GET_CLEAN(,##__VA_ARGS__,,,,,,,,,,,void)
-#define SIMCALL_FUNC_PROTO(type, name, answer, res, ...)\
-       inline static SIMCALL_FUNC_RETURN_TYPE(res) simcall_BODY_##name(VOID_IF_EMPTY(__VA_ARGS__) MAP(SIMCALL_ARG, ##__VA_ARGS__));
-
-
 /* generate a comma if there is an argument*/
 #define WITHOUT_COMMA 
 #define WITH_COMMA ,
 
 /* generate the simcalls args getter/setter */
 #define SIMCALL_ARG_GETSET_(i, name, v) \
-  inline SIMCALL_FUNC_RETURN_TYPE(v) SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), get, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall){\
+  static inline SIMCALL_FUNC_RETURN_TYPE(v) SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), get, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall){\
     return simcall->args[i].SIMCALL_FIELD_ v ;\
   }\
-  inline void SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), set, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall, SIMCALL_ARG_ v){\
+  static inline void SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), set, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall, SIMCALL_ARG_ v){\
     simcall->args[i].SIMCALL_FIELD_ v = SIMCALL_NAME_ v ;\
   }
 
 #define SIMCALL_ARG_GETSET(type, name, answer, res, ...)\
     MAP_WITH_DEFAULT_ARGS(SIMCALL_ARG_GETSET_, (name), ##__VA_ARGS__)
 
-/* generate the simcalls args getter/setter protos*/
-#define SIMCALL_ARG_GETSET_PROTO_(i, name, v) \
-  inline SIMCALL_FUNC_RETURN_TYPE(v) SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), get, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall);\
-  inline void SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME(name), set, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall, SIMCALL_ARG_ v);
-
-#define SIMCALL_ARG_GETSET_PROTO(type, name, answer, res, ...)\
-    MAP_WITH_DEFAULT_ARGS(SIMCALL_ARG_GETSET_PROTO_, (name), ##__VA_ARGS__)
-
 /* generate the simcalls result getter/setter */
 #define SIMCALL_WITH_RES_GETSET(name, v) \
-  inline SIMCALL_FUNC_RETURN_TYPE(v) SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME((name)), get, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall){\
+  static inline SIMCALL_FUNC_RETURN_TYPE(v) SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME((name)), get, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall){\
     return simcall->result.SIMCALL_FIELD_ v ;\
   }\
-  inline void SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME((name)), set, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall, SIMCALL_ARG_ v){\
+  static inline void SIMCALL_GS_FUNC(SIMCALL_GS_SC_NAME((name)), set, SIMCALL_GS_ARG_NAME(v))(smx_simcall_t simcall, SIMCALL_ARG_ v){\
     simcall->result.SIMCALL_FIELD_ v = SIMCALL_NAME_ v ;\
   }
 #define SIMCALL_WITHOUT_RES_GETSET(name, v)
@@ -395,12 +381,6 @@ NUM_SIMCALLS
 typedef int (*simix_match_func_t)(void *, void *, smx_action_t);
 typedef void (*simix_clean_func_t)(void *);
 
-/**
- * \brief Prototypes of SIMIX
- */
-SIMCALL_LIST(SIMCALL_FUNC_PROTO, SIMCALL_SEP_NOTHING)
-
-
 /* Pack all possible scalar types in an union */
 union u_smx_scalar {
   char            c;
@@ -439,8 +419,8 @@ typedef struct s_smx_simcall {
   };
 } s_smx_simcall_t, *smx_simcall_t;
 
-SIMCALL_LIST(SIMCALL_RES_GETSET_PROTO, SIMCALL_SEP_NOTHING)
-SIMCALL_LIST(SIMCALL_ARG_GETSET_PROTO, SIMCALL_SEP_NOTHING)
+SIMCALL_LIST(SIMCALL_RES_GETSET, SIMCALL_SEP_NOTHING)
+SIMCALL_LIST(SIMCALL_ARG_GETSET, SIMCALL_SEP_NOTHING)
 
 /******************************** General *************************************/