2aade29ecf3bb5998b1e7f80ec3ab641a2e9689b
[librecmc/librecmc-fossil.git] /
1 From 34b51e26555d05c00b2320f943a645added5dae4 Mon Sep 17 00:00:00 2001
2 From: Helmut Schaa <helmut.schaa@googlemail.com>
3 Date: Mon, 9 Dec 2013 14:15:11 +0100
4 Subject: [PATCH 5/6] lib/util.h: Disable ovs_assert when build with NDEBUG
5
6 Reduces binary size. Use a static inline function instead of
7 a macro to not get "unused variable" warning everywhere.
8
9 Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
10 ---
11  lib/util.h | 5 +++++
12  1 file changed, 5 insertions(+)
13
14 diff --git a/lib/util.h b/lib/util.h
15 index 5c23962..9e5866d 100644
16 --- a/lib/util.h
17 +++ b/lib/util.h
18 @@ -69,10 +69,15 @@
19   *   - Writes the failure message to the log.
20   *
21   *   - Not affected by NDEBUG. */
22 +#ifndef NDEBUG
23  #define ovs_assert(CONDITION)                                           \
24      if (!OVS_LIKELY(CONDITION)) {                                       \
25          ovs_assert_failure(SOURCE_LOCATOR, __func__, #CONDITION);       \
26      }
27 +#else
28 +static inline void ovs_assert(bool cond OVS_UNUSED) {}
29 +#endif
30 +
31  void ovs_assert_failure(const char *, const char *, const char *) NO_RETURN;
32  
33  /* Casts 'pointer' to 'type' and issues a compiler warning if the cast changes
34 -- 
35 1.8.1.4
36