From: Andreas Sandberg Date: Sun, 21 Jun 2015 19:52:13 +0000 (+0100) Subject: base: Add a warn_if macro X-Git-Tag: stable_2015_09_03~1 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc813cd5f73ea37173ebda761ebdd4184bf99254;p=gem5.git base: Add a warn_if macro Add a warn if macro that is analogous to the panic_if and fatal_if. --- 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