aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/bfd/bfd_cli.c
diff options
context:
space:
mode:
authorGabriel Ganne <gabriel.ganne@enea.com>2017-11-07 14:24:56 +0100
committerDamjan Marion <dmarion.lists@gmail.com>2017-11-10 20:28:45 +0000
commitbeb85cc662beda891989872b90bfd2a95e3c7a5a (patch)
treee5123053d4eb198298381e7e2b993cec56c9510b /src/vnet/bfd/bfd_cli.c
parent0f85333a94e176ab915e583ff66c8774cdbda620 (diff)
add warning control macro set
Add a way to toggle on and off a warning for a specific section of code. This supports clang and gcc, and has no effect for any other compilers. This follows commit bfc29ba442dbb65599f29fe5aa44c6219ed0d3a8 and provides a generic way to handle warnings in such corner cases. To disable a warning enabled by "-Wsome-warning" for a specific code: WARN_OFF(some-warning) // disable compiler warning ; /* some code */ WARN_ON(some-warning) // enable the warning again Change-Id: I0101caa0aa775e2b905c7b3b5fef3bbdce281673 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'src/vnet/bfd/bfd_cli.c')
-rw-r--r--src/vnet/bfd/bfd_cli.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/vnet/bfd/bfd_cli.c b/src/vnet/bfd/bfd_cli.c
index a533bb74ea5..0e73172b7cb 100644
--- a/src/vnet/bfd/bfd_cli.c
+++ b/src/vnet/bfd/bfd_cli.c
@@ -20,6 +20,7 @@
#include <vlib/vlib.h>
#include <vlib/cli.h>
#include <vppinfra/format.h>
+#include <vppinfra/warnings.h>
#include <vnet/api_errno.h>
#include <vnet/ip/format.h>
#include <vnet/bfd/bfd_api.h>
@@ -385,20 +386,11 @@ static const unsigned optional = 0;
have_##n = 1; \
}
-#if __GNUC__ >= 6
-#define PRAGMA_STR1 \
- _Pragma ("GCC diagnostic ignored \"-Wtautological-compare\"");
-#define PRAGMA_STR2 _Pragma ("GCC diagnostic pop");
-#else
-#define PRAGMA_STR1
-#define PRAGMA_STR2
-#endif
-
#define CHECK_MANDATORY(t, n, s, r, ...) \
- PRAGMA_STR1 \
+WARN_OFF(tautological-compare) \
if (mandatory == r && !have_##n) \
{ \
- PRAGMA_STR2 \
+ WARN_ON(tautological-compare) \
ret = clib_error_return (0, "Required parameter `%s' missing.", s); \
goto out; \
}