HV: debug: stop using ## __VA_ARGS__

It is an extension of GCC CPP to:

* allow omitting a variable macro argument entirely, and
* use ## __VA_ARGS__ to remove the the comma before ## __VA_ARGS__ when
  __VA_ARGS__ is empty.

The only use of ## _VA_ARGS__ is to define the pr_xxx() macros, with the first
argument being the format string and the rest the to-be-formatted arguments. The
format string is explicitly spelled out because another macro pr_fmt() is used
to add to the format string a prefix which is customizable by defining what
pr_fmt() expands to.

For C99 compliance, this patch changes the pr_xxx() macros in the following
pattern.

    - #define pr_fatal(fmt, ...)				\
    -     do_logmsg(LOG_FATAL, pr_fmt(fmt), ## __VA_ARGS__);	\
    + #define pr_fatal(...)					\
    +     do_logmsg(LOG_FATAL, pr_prefix __VA_ARGS__);		\

Reference:

* https://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html#Variadic-Macros

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
Junjie Mao 2018-05-28 21:47:38 +08:00 committed by lijinxia
parent 26b089932c
commit 16152fad79
5 changed files with 33 additions and 33 deletions

View File

@ -28,7 +28,7 @@
* $FreeBSD$ * $FreeBSD$
*/ */
#define pr_fmt(fmt) "vioapic: " fmt #define pr_prefix "vioapic: "
#include <hypervisor.h> #include <hypervisor.h>

View File

@ -27,7 +27,7 @@
* $FreeBSD$ * $FreeBSD$
*/ */
#define pr_fmt(fmt) "vlapic: " fmt #define pr_prefix "vlapic: "
#include <hypervisor.h> #include <hypervisor.h>

View File

@ -25,7 +25,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
*/ */
#define pr_fmt(fmt) "vpic: " fmt #define pr_prefix "vpic: "
#include <hypervisor.h> #include <hypervisor.h>

View File

@ -28,7 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#define pr_fmt(fmt) "iommu: " fmt #define pr_prefix "iommu: "
#include <hypervisor.h> #include <hypervisor.h>

View File

@ -68,38 +68,38 @@ static inline void print_logmsg_buffer(__unused uint32_t cpu_id)
#endif /* HV_DEBUG */ #endif /* HV_DEBUG */
#ifndef pr_fmt #ifndef pr_prefix
#define pr_fmt(fmt) fmt #define pr_prefix
#endif #endif
#define pr_fatal(fmt, ...) \ #define pr_fatal(...) \
do { \ do { \
do_logmsg(LOG_FATAL, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(LOG_FATAL, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define pr_err(fmt, ...) \ #define pr_err(...) \
do { \ do { \
do_logmsg(LOG_ERROR, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(LOG_ERROR, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define pr_warn(fmt, ...) \ #define pr_warn(...) \
do { \ do { \
do_logmsg(LOG_WARNING, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(LOG_WARNING, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define pr_info(fmt, ...) \ #define pr_info(...) \
do { \ do { \
do_logmsg(LOG_INFO, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(LOG_INFO, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define pr_dbg(fmt, ...) \ #define pr_dbg(...) \
do { \ do { \
do_logmsg(LOG_DEBUG, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(LOG_DEBUG, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define dev_dbg(lvl, fmt, ...) \ #define dev_dbg(lvl, ...) \
do { \ do { \
do_logmsg(lvl, pr_fmt(fmt), ##__VA_ARGS__); \ do_logmsg(lvl, pr_prefix __VA_ARGS__); \
} while (0) } while (0)
#define panic(...) \ #define panic(...) \