Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make it easier to mark execution paths as DEADCODE, and mark one of them :)
[simgrid.git] / include / xbt / cunit.h
index 37df800..9da1a24 100644 (file)
@@ -117,19 +117,24 @@ XBT_PUBLIC(void) xbt_test_exit(void);
  * @param func a valid function name that will be used to contain all code of this unit
  * @param title human informative description of your test (displayed in testall)
  */
+#ifdef __cplusplus
+#define XBT_TEST_UNIT(name,func,title)    \
+    extern "C" void func(void);  /*prototype*/ \
+    void func(void)
+#else
 #define XBT_TEST_UNIT(name,func,title)    \
     void func(void);  /*prototype*/       \
     void func(void)
-
+#endif
 
 /* test operations */
 XBT_PUBLIC(void) _xbt_test_add(const char *file, int line, const char *fmt,
-                               ...) _XBT_GNUC_PRINTF(3, 4);
+                               ...) XBT_ATTRIB_PRINTF(3, 4);
 XBT_PUBLIC(void) _xbt_test_fail(const char *file, int line,
-                                const char *fmt, ...) _XBT_GNUC_PRINTF(3,
+                                const char *fmt, ...) XBT_ATTRIB_PRINTF(3,
                                                                        4);
 XBT_PUBLIC(void) _xbt_test_log(const char *file, int line, const char *fmt,
-                               ...) _XBT_GNUC_PRINTF(3, 4);
+                               ...) XBT_ATTRIB_PRINTF(3, 4);
 /** @brief Declare that a new test begins (printf-like parameters, describing the test) 
  *  @hideinitializer */
 #define xbt_test_add(...)       _xbt_test_add(__FILE__, __LINE__, __VA_ARGS__)