lib: fix non-C99 macros definitions in exported headers
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 19 Dec 2012 16:05:54 +0000 (17:05 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 25 Jul 2013 14:07:51 +0000 (16:07 +0200)
The original definitions prevent external programs/libraries from compiling
without warnings when using these headers and -std=gnu99 (relaxed C99 mode).

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Damien Millescamps <damien.millescamps@6wind.com>
lib/librte_cmdline/cmdline_cirbuf.h
lib/librte_eal/common/include/rte_debug.h
lib/librte_eal/common/include/rte_log.h

index eb83ea8..7e25439 100644 (file)
@@ -78,9 +78,10 @@ struct cirbuf {
 };
 
 #ifdef RTE_LIBRTE_CMDLINE_DEBUG
-#define dprintf(fmt, ...) printf("line %3.3d - " fmt, __LINE__, ##__VA_ARGS__)
+#define dprintf_(fmt, ...) printf("line %3.3d - " fmt "%.0s", __LINE__, __VA_ARGS__)
+#define dprintf(...) dprintf_(__VA_ARGS__, "dummy")
 #else
-#define dprintf(args...) do {} while(0)
+#define dprintf(...) (void)0
 #endif
 
 
index 9045a70..e997514 100644 (file)
@@ -76,7 +76,8 @@ void rte_dump_registers(void);
  * @param args
  *   The variable list of arguments.
  */
-#define rte_panic(format, args...) __rte_panic(__func__, format, ## args)
+#define rte_panic_(func, format, ...) __rte_panic(func, format "%.0s", __VA_ARGS__)
+#define rte_panic(...) rte_panic_(__func__, __VA_ARGS__, "dummy")
 
 /*
  * Provide notification of a critical non-recoverable error and stop.
index fc6c9b8..3f697c3 100644 (file)
@@ -275,14 +275,13 @@ int rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap);
  *   - 0: Success.
  *   - Negative on error.
  */
-#define RTE_LOG(l, t, fmt, args...) ({                                 \
-       if ((RTE_LOG_##l <= RTE_LOG_LEVEL) &&                           \
-           (RTE_LOG_##l <= rte_logs.level) &&                          \
-           (RTE_LOGTYPE_##t & rte_logs.type)) {                        \
-               rte_log(RTE_LOG_##l, RTE_LOGTYPE_##t,                   \
-                         #t ": " fmt, ## args);                        \
-       }                                                               \
-})
+#define RTE_LOG(l, t, ...)                                     \
+       (((RTE_LOG_ ## l <= RTE_LOG_LEVEL) &&                   \
+         (RTE_LOG_ ## l <= rte_logs.level) &&                  \
+         (RTE_LOGTYPE_ ## t & rte_logs.type)) ?                \
+        rte_log(RTE_LOG_ ## l,                                 \
+                RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__) :     \
+        0)
 
 #ifdef __cplusplus
 }