From cc813cd5f73ea37173ebda761ebdd4184bf99254 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Sun, 21 Jun 2015 20:52:13 +0100 Subject: [PATCH] base: Add a warn_if macro Add a warn if macro that is analogous to the panic_if and fatal_if. --- src/base/misc.hh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/base/misc.hh b/src/base/misc.hh index 5f89e5f1d..b62548eb2 100644 --- a/src/base/misc.hh +++ b/src/base/misc.hh @@ -218,6 +218,20 @@ extern bool want_hack, hack_verbose; #define hack_once(...) \ cond_message_once(want_hack, std::cerr, "hack", hack_verbose, __VA_ARGS__) +/** + * Conditional warning macro that checks the supplied condition and + * only prints a warning if the condition is true. Useful to replace + * if + warn. + * + * @param cond Condition that is checked; if true -> warn + * @param ... Printf-based format string with arguments, extends printout. + */ +#define warn_if(cond, ...) \ + do { \ + if ((cond)) \ + warn(__VA_ARGS__); \ + } while (0) + /** * The chatty assert macro will function like a normal assert, but will allow the * specification of additional, helpful material to aid debugging why the -- 2.30.2